(57)【要約】【課題】低コストで簡単にトラフィックフローを検出することができるトラフィックフロー検出方法、トラフィックフロー検出装置及び該装置を有するパケットスイッチ装置を提供する。【解決手段】本発明の第１の実施の形態に係るパケットスイッチ装置１０は、従来のパケットスイッチ装置９０に具備されている転送テーブル９１を拡張して、ポート毎のトラフィックカウンタを備えることで、トラフィックフローを検出するようになっている。転送テーブル１は、図１に示すように、宛先アドレスと転送先ポート番号が対になっている従来の転送テーブル９１に対して、宛先アドレス毎に、該アドレスが参照された回数を数えるカウンタが拡張装備されている。【選択図】      図１
2004297603.tif 000002
【特許請求の範囲】
【請求項１】
パケットスイッチ装置におけるトラフィックフロー検出方法であって、
パケットデータの宛先アドレスと、該宛先アドレスに対応する転送先ポート番号、及び該宛先アドレスが参照された回数である被参照回数を組み合わせたデータを複数記憶している転送テーブルから、前記パケットスイッチ装置に入力されたパケットデータの宛先アドレスに従って、該当データを検索する転送テーブル検索ステップと、
前記転送テーブルの該当データの前記被参照回数をインクリメントする被参照回数加算ステップと、
前記パケットスイッチ装置の複数のポートごとに設けられ、該ポートに入出力するパケットデータの数及び大きさを計測するトラフィックカウンタ及び前記転送テーブルに基づいてトラフィックフローに関する情報を出力する結果出力ステップと、
を有することを特徴とするトラフィックフロー検出方法。
【請求項２】
前記転送テーブルの被参照回数は、前記パケットデータが入力された入力ポートごとに分類されており、被参照回数加算ステップは、前記パケットデータの宛先アドレス及び前記入力ポートに従って前記転送テーブルの該当データの前記被参照回数をインクリメントすることを特徴とする請求項１記載のトラフィックフロー検出方法。
【請求項３】
パケットスイッチ装置に内蔵されるトラフィックフロー検出装置であって、
前記パケットスイッチ装置の複数のポートごとに設けられ、該ポートに入出力するパケットデータの数及び大きさを計測するトラフィックカウンタと、
パケットデータの宛先アドレスと、該宛先アドレスに対応する転送先ポート番号、及び該宛先アドレスが参照された回数である被参照回数を組み合わせたデータを複数記憶している転送テーブルと、
前記パケットデータの宛先アドレスに従って前記転送テーブルの該当データの前記被参照回数をインクリメントする被参照回数加算手段と、
前記トラフィックカウンタ及び前記転送テーブルに基づいてトラフィックフローに関する情報を出力する結果出力手段と、
を有することを特徴とするトラフィックフロー検出装置。
【請求項４】
前記転送テーブルの被参照回数は、前記パケットデータが入力された入力ポートごとに分類されており、被参照回数加算手段は、前記パケットデータの宛先アドレス及び前記入力ポートに従って前記転送テーブルの該当データの前記被参照回数をインクリメントすることを特徴とする請求項３記載のトラフィックフロー検出装置。
【請求項５】
請求項３又は４記載のトラフィックフロー検出装置を有することを特徴とするパケットスイッチ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
コンピュータネットワークに利用されるパケットスイッチ装置において、トラフィックの状態を監視する方法及び装置に関し、さらに詳しくは、トラフィックフローを検出する方法及び装置に関する。
【０００２】
【従来の技術】
図１２は、従来のストアアンドフォワード型のパケットスイッチ装置９０におけるパケット転送フロー図である。同図に示すパケットスイッチ装置９０は、通常ポート２ｉ（ｉ＝ａ，…，ｈ）から入力されたパケットが入力バッファ４ｉ（ｉ＝ａ，…，ｈ）に入ると、ヘッダ解析／宛先抽出部６がこの入力ポート２ｉに対応する入力データバイトカウンタと入力パケットカウンタをそれぞれ更新し、該パケットのヘッダ部分から宛先アドレスを取り出し、転送テーブル９１を参照して出力先ポート識別子を得るようになっている。そして、スイッチファブリック５は、この出力先ポート識別子に基づいてパケットを出力先ポートの出力バッファ４ｉに送ると、ヘッダ解析／宛先抽出部６が出力データバイトカウンタと出力パケットカウンタを更新した後、通常ポート２ｉは、出力バッファ４ｉから出力パケットを取り出し、ポートから送信することにより、該パケットの転送が完了するようになっている。尚、ここで、パケットスイッチ装置とは、イーサネット（登録商標）スイッチなどのレイヤ２スイッチのみならず、ルータなどのレイヤ３スイッチも含むものである。
【０００３】
このようなパケット転送を行うパケットスイッチ装置９０において、トラフィックフローを把握するための方法は主に２通りある。１つは、プロトコルアナライザと呼ばれる専用装置を回線中に挿入する方法である。図１３はプロトコルアナライザ１００を用いたトラフィックフロー検出の一例を示す構成図である。同図に示すパケットスイッチ９０は通常ポート２ｉ（ｉ＝ａ，…，ｇ）を経由するパケットを監視ポート２ｚにコピーする機能（ポートミラーリング）を有するもので、管理者は別途プロトコルアナライザ１００を用意して、パケットスイッチ装置９０の監視ポート２ｚにこれを接続する事により、通常ポート２ｉを経由するトラフィックについて、最もトラフィックの多いホストやアプリケーション種別に関するデータを得ることができるようになっている。また、ポートミラーリング機能のないパケットスイッチ装置９０にプロトコルアナライザ１００を適用する場合においては、通常ポート２ｉにタップと呼ばれるパケットコピー／分岐装置を接続し、プロトコルアナライザ１００をタップに接続することにより、トラフィックフローを検出できるようになっている。
【０００４】
もう１つは、サンプリングに基づくフロー検出装置を持つ高機能なパケットスイッチ装置を採用する方法である。こうしたフロー検出装置としては、例えば、Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ  社のｎｅｔｆｌｏｗ  サービス機能を有する装置、Ｉｎｍｏｎ  社のｓｆｌｏｗ  テクノロジー（Ｆｏｕｎｄｒｙ  Ｎｅｔｗｏｒｋｓ  社製品に実装されている）を有する装置などがあるが、該フロー検出装置を備えたパケットスイッチ装置９０の概略構成を示しているのが図１４である。図１４のパケットスイッチ装置９０においては、通常ポート２ｉ（ｉ＝ａ，…，ｈ）を経由し、他の通常ポート２ｉへと転送されるトラフィックの一部をサンプリングによりコピーするサンプリング装置１１０によってパケットヘッダを取り出し、これを解析して送信元アドレス：宛先アドレス対を抽出し、各アドレス対毎のトラフィックデータをフローデータとして生成するフローデータ生成装置１２０によってフローデータが解析装置１３０に送られるので、管理者は解析装置１３０の出力を見ると通常ポート２ｉを経由するトラフィックフローに関する情報を得ることができるようになっている。
【０００５】
尚、この出願に関連する先行技術文献情報としては、次のものがある。
【０００６】
【非特許文献１】
Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ、“Ｃｉｓｃｏ  ＩＯＳ  ＮｅｔＦｌｏｗ  Ｔｅｃｈｎｏｌｏｇｙ  Ｄａｔａｓｈｅｅｔ”、［Ｏｎｌｉｎｅ］、［平成１５年３月１４日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｃｉｓｃｏ．ｃｏｍ／ｗａｒｐ／ｐｕｂｌｉｃ／ｃｃ／ｐｄ／ｉｏｓｗ／ｐｒｏｄｌｉｔ／ｉｏｓｎｆ＿ｄｓ．ｈｔｍ＞
【０００７】
【非特許文献２】
Ｓ．Ｐａｎｃｈｅｎ，ｅｔ，ａｌ「ＩｎＭｏｎ  Ｃｏｒｐｏｒａｔｉｏｎ’ｓ  ｓＦｌｏｗ」，Ａ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｍｏｎｉｔｏｒｉｎｇ  Ｔｒａｆｆｉｃ  ｉｎ  Ｓｗｉｔｃｈｅｄ  ａｎｄ  Ｒｏｕｔｅｄ  Ｎｅｔｗｏｒｋｓ，ＩＥＴＦ，ＲＦＣ３１７６．
【０００８】
【発明が解決しようとする課題】
しかしながら、上述した従来のトラフィックフローを把握する方法においては、トラフィックフローに関する詳細な情報を収集することはできるが、方法が複雑であるためコスト面に関する課題がある。
【０００９】
例えば、プロトコルアナライザを回線に挿入する方法は、情報収集の対象となるポートが通常１つに制限される。そのため、複数のポートにわたるトラフィックフローを検出するためには、各ポートに１台のプロトコルアナライザを専属させる必要があり、アナライザの管理も含め、全体として極めて高コストとなるという問題がある。
【００１０】
一方、フロー検出装置を持つ高機能なパケットスイッチ装置を採用する方法は、このような機能を持つパケットスイッチ装置自体が高価であるという問題がある。さらに、回線が高速になるにつれて生成されるフローデータは大量となるので、これを処理する解析装置にも極めて高度な性能が要求され、その結果、システム全体のコストを上昇させるという問題もある。
【００１１】
本発明は、上記の課題を解決するためになされたものであり、低コストで簡単にトラフィックフローを検出することができるトラフィックフロー検出方法、トラフィックフロー検出装置及び該装置を有するパケットスイッチ装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の本発明は、パケットスイッチ装置におけるトラフィックフロー検出方法であって、パケットデータの宛先アドレスと、該宛先アドレスに対応する転送先ポート番号、及び該宛先アドレスが参照された回数である被参照回数を組み合わせたデータを複数記憶している転送テーブルから、前記パケットスイッチ装置に入力されたパケットデータの宛先アドレスに従って、該当データを検索する転送テーブル検索ステップと、前記転送テーブルの該当データの前記被参照回数をインクリメントする被参照回数加算ステップと、前記パケットスイッチ装置の複数のポートごとに設けられ、該ポートに入出力するパケットデータの数及び大きさを計測するトラフィックカウンタ及び前記転送テーブルに基づいてトラフィックフローに関する情報を出力する結果出力ステップと、を有することを要旨とする。
【００１３】
請求項２記載の本発明は、請求項１記載の発明において、前記転送テーブルの被参照回数は、前記パケットデータが入力された入力ポートごとに分類されており、被参照回数加算ステップは、前記パケットデータの宛先アドレス及び前記入力ポートに従って前記転送テーブルの該当データの前記被参照回数をインクリメントすることを要旨とする。
【００１４】
請求項３記載の本発明は、パケットスイッチ装置に内蔵されるトラフィックフロー検出装置であって、前記パケットスイッチ装置の複数のポートごとに設けられ、該ポートに入出力するパケットデータの数及び大きさを計測するトラフィックカウンタと、パケットデータの宛先アドレスと、該宛先アドレスに対応する転送先ポート番号、及び該宛先アドレスが参照された回数である被参照回数を組み合わせたデータを複数記憶している転送テーブルと、前記パケットデータの宛先アドレスに従って前記転送テーブルの該当データの前記被参照回数をインクリメントする被参照回数加算手段と、前記トラフィックカウンタ及び前記転送テーブルに基づいてトラフィックフローに関する情報を出力する結果出力手段と、を有することを要旨とする。
【００１５】
請求項４記載の本発明は、請求項３記載の発明において、前記転送テーブルの被参照回数は、前記パケットデータが入力された入力ポートごとに分類されており、被参照回数加算手段は、前記パケットデータの宛先アドレス及び前記入力ポートに従って前記転送テーブルの該当データの前記被参照回数をインクリメントすることを要旨とする。
【００１６】
請求項５記載の本発明は、請求項３又は４記載のトラフィックフロー検出装置を有するパケットスイッチ装置であることを要旨とする。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて説明する。
【００１８】
＜第１の実施の形態＞
本発明の第１の実施の形態に係るパケットスイッチ装置１０は、従来のパケットスイッチ装置９０に装備されている転送テーブル９１を拡張するとともに、ポート毎のトラフィックカウンタを用いることで、トラフィックフローを検出できるようになっている装置である。
【００１９】
従って、本発明は、転送テーブル９１の拡張が主眼となっており、その他の部分、すなわちバッファ４ｉやヘッダ解析部６、スイッチファブリック５などには何ら変更を要さず、またパケットのコピーやサンプリング等、特別な機能を持つ要素を追加する必要もないので、既存のパケットスイッチ装置９０に対して軽微な変更を施すだけで、従来複雑な装置を必要としたトラフィックフロー検出機能を提供することができるようにしたものである。
【００２０】
このことから、まず、転送テーブル９１を拡張した転送テーブル１の概要について説明し、その後、この転送テーブル１を装備しているパケットスイッチ装置１０の構成及び動作について説明する。
【００２１】
図１は本実施の形態における転送テーブル１の構成を示す図である。同図によれば、転送テーブル１は、図１５に示す宛先アドレスと転送先ポート番号が対になっている従来の転送テーブル９１に対して、宛先アドレス毎に、該アドレスが参照された回数を数えるカウンタが拡張装備されている。これは、例えば、３２ビットカウンタを用いるとして、１エントリあたり４バイトの増加で実現されるものである。尚、説明上、ポート２ａ，２ｂ…，２ｈに対応するポート番号をそれぞれ、１，２，…，８とする。
【００２２】
次に、転送テーブル１の作用について説明する。ここで、転送テーブル１の要素ｘを、宛先アドレスをａ，転送先ポート番号をｐ，被参照回数をｒとして（ａ，ｐ，ｒ）の組で表すものとする。ただし、転送テーブル１を分散して搭載する大型パケットスイッチ装置の場合には、各部に分散された各転送テーブルについて被参照回数を小計し、これらをシステムレベルで合計するものとする。
【００２３】
また、パケットスイッチ装置１にはポート毎のトラフィックカウンタとして入力バイトカウンタＢｉｎ（ｐ）、出力バイトカウンタＢｏｕｔ（ｐ）、入力パケットカウンタＦｉｎ（ｐ）と出力パケットカウンタＦｏｕｔ（ｐ）が具備されているものとする。
【００２４】
このとき、単位時間Δｔ  におけるｒの変化Δｒ  は、アドレスａに向かうΔｔ  時間あたりのパケット数に等しい。即ち、Δｒ  はアドレスａ宛のΔｔ  時間あたりのトラフィックフローをパケット数で表したものである。Δｒ  をパケット数でなく、データバイト数に変換するには、アドレスａが属するポート（転送先ポート）ｐについて、出力平均パケットサイズ  Ｓｏｕｔ（ｐ）ＡＶ＝Ｂｏｕｔ（ｐ）／Ｆｏｕｔ（ｐ）を求め、ΔｒＳｏｕｔ（ｐ）ＡＶを用いればよい。また、トラフィックフローの累積パケット数を得るためにはｒの値をそのまま使用でき、累積バイト数を得るためには、ｒＳｏｕｔ（ｐ）を使用することができる。
【００２５】
以上のことから、例えば、図１に示した転送テーブル１の各要素ｘに対して、図２に示すような出力側累積トラフィックフローを得ることができる。これにより、例えば、あるポートを占有するフローを検出して当該アドレス宛のトラフィックに対して優先度の低いスケジューリングを行なうことや、別のポートに迂回させるといった操作を加えることが、パケットスイッチ装置１０単体で容易にできるようになる。
【００２６】
図３は、上述した転送テーブル１を装備しているパケットスイッチ装置１０の機能ブロック図であるが、従来のパケットスイッチ装置９０と同様の機能を有する部位については、符号を同一にして記載している。尚、以下においては、本実施の形態のパケットスイッチ装置１０は、具体的に、４ポート小型イーサネット（登録商標）スイッチ１０として説明する。
【００２７】
イーサネット（登録商標）スイッチ１０は、入出力インタフェース２ｉ（ｉ＝ａ，…，ｄ）毎に入出力パケットバッファ４ｉ（ｉ＝ａ，…，ｄ）と物理層コントローラ３ｉ（ｉ＝ａ，…，ｄ）を備え、これらの間をスイッチファブリック（転送網）５で結合した構成になっている。
【００２８】
図４は、イーサネット（登録商標）スイッチ１０におけるパケット転送のフローチャートであるが、同図によれば、イーサネット（登録商標）スイッチ１０に入力されたパケットはエラーチェックを受け、エラーがなければ、入力ポートに対応する入力バイトカウンタ及びフレームカウンタが更新される（ステップＳ０１〜Ｓ０３）。尚、パケットにエラーがあれば、パケットは破棄される（ステップＳ１１）。次に、転送コントローラ６は、パケットのヘッダを切り出して、送信元アドレス及び宛先アドレスを取り出し、転送テーブル１を参照する（ステップＳ０４，Ｓ０５）。そして、送信元アドレスが登録されていなければ、送信元アドレスを受信ポートと対応させて、転送テーブル１に登録する（ステップＳ０６，Ｓ１２）。次に、宛先アドレスが登録されていれば、転送テーブル１の被参照カウンタをインクリメントし、宛先のポートへパケットを転送する（ステップＳ０７〜Ｓ０９）。宛先アドレスが登録されていないときは、全ポートにパケットを転送する（ステップＳ０７，Ｓ１３）。このように、イーサネット（登録商標）スイッチ１０は、転送テーブル１を参照及び更新しつつ、パケット転送を行っている。
【００２９】
図５は、より詳細な転送テーブル１の機能ブロック図である。図５に示す転送テーブル１は、検索を高速化するため、４８ビット×２０４８ワード構成の連想メモリ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ，ＣＡＭ）を牽引に使っており、出力ポートと被参照カウンタを保存するための１６ビット×２０４８ワード（４キロバイト）のＳＲＡＭが組み合わされているものである。このＳＲＡＭは、１６ビットのうちポートに２ビット、カウンタに１４ビット使用しているので、カウンタの最大値は１６３８４となっており、カウンタはフリーラン、すなわち最大値を超えた場合０からの加算にもどるようになっている。また、ＣＡＭ、ＳＲＡＭともに２０４８ワードの記憶が可能であるので、学習可能のＭＡＣアドレスの数は最大２０４８となっている。
【００３０】
転送テーブル１の主な機能は、（１）宛先ＭＡＣアドレスに対する出力ポート２ｉを検索し、同時に該当ＭＡＣアドレスに対応する被参照カウンタをインクリメントすること、（２）宛先ＭＡＣアドレスが転送テーブル１に存在しない場合は転送コントローラ６にｕｎｍａｔｃｈ信号を返すこと、（３）転送コントローラ６からＭＡＣアドレス登録の依頼があった場合、これを転送テーブル１に書き込むこと、（４）転送コントローラ６からＭＡＣアドレス削除の依頼があった場合、これを転送テーブル１から削除すること、の４種類がある。以下、それぞれの機能の動作を図５を用いつつ説明する。
【００３１】
（１）宛先ＭＡＣアドレスに対する出力ポート検索
転送コントローラ６はパケットの出力先を決定するため、宛先ＭＡＣアドレスで転送テーブル１を検索する。図５では例として００：００：０１：０２：０３：０４というＭＡＣアドレスの出力ポートを検索する場合を記載している。この例では、あらかじめＣＡＭにエントリがあり、ＳＲＡＭにもデータがある状態を示している。
【００３２】
転送コントローラ６は検索対象となるＭＡＣアドレス００：００：０１：０２：０３：０４を転送テーブル１に送る。ＣＡＭのアドレス１にエントリがあるので、ＣＡＭはｍａｔｃｈ信号とともにアドレス１を出力する。出力されたアドレスはラッチされ、ＳＲＡＭにあたえられる。
【００３３】
ＳＲＡＭはアドレス１に相当するデータフィールド３：２４０を出力する。転送テーブル１から転送コントローラ６に出力ポート３が返され、同時にカウンタインクリメント機構によって被参照回数が１つ増やされ、２４１となる。つまり、アドレス１のデータフィールドは３：２４１となり、これが更新バッファを介してＳＲＡＭに書き込まれる。すなわち、転送テーブル１のエントリが参照されるたびに、被参照回数を数えるカウンタが更新される。
【００３４】
（２）宛先ＭＡＣアドレスがテーブルに存在しない場合
転送コントローラ６から送られた検索対象ＭＡＣアドレスがＣＡＭに存在しない場合、ＣＡＭからｕｎｍａｔｃｈ信号が転送コントローラ６に送られる。この場合、図４のステップＳ０７，Ｓ１３に示す通り、転送コントローラ６はパケットを全ポートに転送する。
【００３５】
（３）ＭＡＣアドレス登録
図４のステップＳ０６，Ｓ１２に示す通り、転送コントローラ６はパケットの送信元ＭＡＣアドレスが転送テーブル１に存在しなかった場合、これを転送テーブル１に登録する。図５では、例として００：００：０１：２ｃ：ｄｅ：１０をポート１に登録する。
【００３６】
転送コントローラ６から送られた登録ＭＡＣアドレスとポートは登録バッファに送られ、ＣＡＭの空きアドレスに保存される。図５の例では、ＣＡＭはアドレス４に書き込み、このアドレスを出力する。
【００３７】
ＣＡＭから出力されたアドレスはラッチされ、転送先ポート番号１と、初期化時の被参照回数０を組み合わせたデータフィールド１：０が更新バッファを介してＳＲＡＭに書き込まれる。以上で、新規ＭＡＣアドレスが転送テーブル１に追加されたことになる。
【００３８】
（４）ＭＡＣアドレス削除
転送テーブル１のエントリに上限（図５の場合には２０４８エントリ）があるため、転送コントローラ６は、転送テーブル１のエージング管理をしている。すなわち、長期間使われないエントリを消去して再利用できるようにしている。
【００３９】
エージング処理の結果、消去すべきと判断されたアドレスは、転送コントローラ６から転送テーブル１に送られる。ＣＡＭはエントリ内容を消去し、「空き」のタグをつけて再利用の準備をする。このとき、ＳＲＡＭは操作しなくてよい。
【００４０】
次に、上述した動作を行う転送テーブル１から、トラフィックフローに関する情報を得る処理について説明する。これは、図６に示すような処理フローに沿って管理モジュール８のソフトウェアがトラフィックフローに関する情報を抽出するものである。図６によれば、トラフィックフロー抽出のコマンドが起動されると、転送テーブル１のダンプ処理がΔｔの間隔をあけて２度行われるので、ポートごとにΔｔにおける被参照回数の差分を集計する（ステップＳ２１〜Ｓ２５）。そして、それぞれのポート毎の占有率を計算し、パケットスイッチ装置１０の単位時間におけるそれぞれのポートの宛先アドレスごとの占有率リスト１２を出力する（ステップＳ２６〜Ｓ２９）。これにより、トラフィックフローに関する情報を容易に得ることができる。
【００４１】
以上、本実施の形態のパケットスイッチ装置１０によれば、従来のパケットスイッチの転送テーブルを拡張して被参照カウンタを搭載することにより、低コストで簡単にトラフィックフローを検出することができる。
【００４２】
即ち、従来、さまざまなメーカがさまざまなアーキテクチャでイーサネット（登録商標）スイッチを設計しているが、本発明は転送テーブルに被参照カウンタを用意するという簡便な手法を提供するため、他の設計がどのようなものであっても容易に実装することができる。また、これにより、システム全体のコストをほとんど変えずに、トラフィックフローに基づくさまざまなサービスが展開できる。例えば、トラフィック生成の多少に基づくフロー毎課金や、フロー毎のサービス品質の差異化などである。また、ネットワークのセキュリティ保護に応用する事もできる。例えば、サービス拒否攻撃（Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ，ＤｏＳ）等の外部からの攻撃についても、これらがトラフィックパターンの異常として現れることから、トラフィックフローを正確に把握することによってこれらの攻撃を検出することが可能となる。
【００４３】
＜第２の実施の形態＞
本発明の第２の実施の形態に係るパケットスイッチ装置２０は、第１の実施の形態に係るパケットスイッチ装置１０と同様に、従来のパケットスイッチ９０に装備されている転送テーブル９１を拡張するとともに、ポート毎のトラフィックカウンタを用いることで、トラフィックフローを検出できるようになっている装置である。但し、パケットスイッチ装置２０に装備されている転送テーブル２１は、図７に示すように、参照元ポート毎に、該アドレスが参照された回数を数えるカウンタを備えているので、トラフィックフローの入力側についても分析することが可能となっている。
【００４４】
本実施の形態においても、まず、転送テーブル９１を拡張した転送テーブル２１の概要について説明し、その後、この転送テーブル２１を装備しているパケットスイッチ装置２０について説明する。尚、本実施の形態においては、第１の実施の形態と異なる構成及び機能のみ説明し、その他の構成及び機能に関しては同一部分には同一符号を付して説明を省略する。
【００４５】
図７は、本実施の形態における転送テーブル２１の構成を示す図である。同図によれば、転送テーブル２１は、従来の転送テーブル９１に対して、宛先アドレスの参照元ポート毎に該アドレスが参照された回数を数えるカウンタが拡張装備されている。
【００４６】
次に、転送テーブル２１の作用について説明する。ここで、転送テーブル２１の要素ｘを、被参照回数ｒが参照元ポート毎にｒ１  …ｒｎ  （ここでｒ＝Σｒｎ  ）に分割されているので、スイッチのポート数をｎとして（ａ，ｐ，（ｒ１  …ｒｎ  ））の組で表すものとする。ただし、転送テーブル２１を分散して搭載する大型パケットスイッチ装置の場合には、転送テーブル１と同様に、各部に分散された各転送テーブルについて被参照回数を小計し、これらをシステムレベルで合計するものとする。
【００４７】
また、パケットスイッチ装置２１にはポート毎のトラフィックカウンタとして入力バイトカウンタＢｉｎ（ｐ）、出力バイトカウンタＢｏｕｔ（ｐ）、入力パケットカウンタＦｉｎ（ｐ）と出力パケットカウンタＦｏｕｔ（ｐ）が具備されているものとする。
【００４８】
このとき、単位時間Δｔ  におけるｒｋ  の変化Δｒｋ  はポートｋからアドレスａに向かうΔｔ  時間あたりのパケット数に等しい。即ち、Δｒｋ  は、ポートｋから流れ込むアドレスａ宛のΔｔ  時間あたりのトラフィックフローをパケット数で表したものである。Δｒｋをパケット数でなく、データバイト数に変換するには、ポートｋについて入力平均パケットサイズＳｉｎ（ｋ）ＡＶ＝Ｂｉｎ（ｋ）／Ｆｉｎ（ｋ）を求め、Δｒｋ  Ｓｉｎ（ｋ）ＡＶを用いればよい。また、トラフィックフローの累積パケット数を得るためには、ｒｋ  の値をそのまま使用でき、累積バイト数を得るためには、ｒｋ  Ｓｉｎ（ｋ）を使用することができる。
【００４９】
以上のことから、例えば図７に示した転送テーブル２１の各要素ｘに対して、図８に示すようなトラフィックフローを得ることができる。これにより、パケットスイッチ装置２０のポート間の関係が理解しやすくなる。図８に示した例では、ポート３から出力されるトラフィックはポート４及びポート６から流入するものが主であり、特に宛先ＭＡＣアドレス００：００：１１：０２：０３：０ｂに向かうトラフィック流量が増加していることがわかる。これにより、当該アドレス宛のトラフィックに対して、主にポート４とポート６の入力キューの優先度を下げることや、別のポートに迂回させるといった操作を加えることがパケットスイッチ装置２０単体で容易にできるようになる。
【００５０】
次に、上述した転送テーブル２１を装備しているパケットスイッチ装置２０について説明するが、パケットスイッチ装置２０は、構成上、図３に示されたパケットスイッチ装置１０と転送テーブルだけが異なっているので、パケットスイッチ装置２０の構成及びパケット転送に関する動作の説明は省略し、転送テーブル２１に関連する動作を中心に説明する。尚、以下においては、本実施の形態のパケットスイッチ装置２０は、具体的に、４ポート小型イーサネット（登録商標）スイッチ２０として説明する。
【００５１】
図９は、より詳細な転送テーブル２１の機能ブロック図である。図９に示す転送テーブル２１は、参照元ポートごとに参照回数を保存する必要があるため、転送テーブル１に比べポート数Ｎ倍（実施例では４ポートを仮定しているので４倍）のＳＲＡＭ領域が必要になっている点が転送テーブル１と異なっている。また、この広い領域をアドレシングするためのアドレスエンコーダと、ＣＡＭ出力アドレスとの加算回路がアドレスラッチ前段に挿入されている点が異なっている。
【００５２】
転送テーブル２１の主な機能は、転送テーブル１と大きな違いはなく、主に４つある。すなわち（１）宛先ＭＡＣアドレスに対する出力ポート２ｉを検索し、同時に該当ＭＡＣアドレスに対応する参照元別の被参照カウンタをインクリメントすること、（２）宛先ＭＡＣアドレスが転送テーブル２１に存在しない場合は転送コントローラ６にｕｎｍａｔｃｈ信号を返すこと、（３）転送コントローラ６からＭＡＣアドレス登録の依頼があった場合、これを転送テーブル２１に書き込むこと、（４）転送コントローラ６からＭＡＣアドレス削除の依頼があった場合、これを転送テーブル２１から削除すること、である。以下、それぞれの機能の動作を図９を用いつつ説明する。
【００５３】
（１）宛先ＭＡＣアドレスに対する出力ポート検索
転送コントローラ６はパケットの出力先を決定するため、宛先ＭＡＣアドレスで転送テーブル２１を検索する。図９では例として００：００：０１：０２：０３：０４というＭＡＣアドレスの出力ポートを検索する場合を記載している。この例では、あらかじめＣＡＭにエントリがあり、ＳＲＡＭにもデータがある状態を示している。
【００５４】
転送コントローラ６は検索対象となるＭＡＣアドレス００：００：０１：０２：０３：０４を転送テーブル２１に送る。このとき、どのポートから検索がかかっているかを参照元ポート番号としてアドレスエンコーダに伝える。ＣＡＭのアドレス１にエントリがあるので、ＣＡＭはｍａｔｃｈ信号とともにアドレス１を出力する。これと、参照元ポート番号１からエンコードされた上位アドレス０が加算されて出力されたアドレス０００１がラッチされ、ＳＲＡＭにあたえられる。
【００５５】
ＳＲＡＭはアドレス０００１に相当するデータフィールド３：２４０を出力する。転送テーブル２１から転送コントローラ６に出力ポート３が返され、同時にカウンタインクリメント構成によって被参照回数が１増やされ、２４１となる。つまりアドレス０００１のデータフィールドは３：２４１となり、これが更新バッファを介してＳＲＡＭに書き込まれる。すなわち、転送テーブル２１のエントリが参照されるたびに、参照元ポートごとに被参照回数を数えるカウンタが更新される。
【００５６】
（２）宛先ＭＡＣアドレスがテーブルに存在しない場合
転送コントローラ６から送られた検索対象ＭＡＣアドレスがＣＡＭに存在しない場合、ＣＡＭからｕｎｍａｔｃｈ信号が転送コントローラ６に送られる。この場合、図４のステップＳ０７，Ｓ１３に示す通り、転送コントローラ６はパケットを全ポートに転送する。
【００５７】
（３）ＭＡＣアドレス登録
図４のステップＳ０６，Ｓ１２に示す通り、転送コントローラ６はパケットの送信元ＭＡＣアドレスが転送テーブル２１に存在しなかった場合、これを転送テーブル２１に登録する。図９では、例として００：００：０１：２ｃ：ｄｅ：１０をポート１に登録する。
【００５８】
転送コントローラ６から送られた登録ＭＡＣアドレスとポートは登録バッファに送られ、ＣＡＭの空きアドレスに保存される。図９の例では、ＣＡＭはアドレス４に書き込み、このアドレスを出力する。
【００５９】
ＣＡＭから出力されるアドレス空間は０ｘ０００−０ｘ７ＦＦの２０４８エントリであるが、カウンタはポート数ごとに独立であるため、上位アドレスとして２ビット分が加算される。すなわち、ＣＡＭのアドレス０ｘ００４に対して、初期化が必要な書き込みアドレスとして０ｘ００４，０ｘ８０４，０ｘ１００４，０ｘ１８０４の４つが生成され、ＳＲＡＭのそれぞれのアドレスに転送先ポート番号１と、初期化時の被参照回数０を組み合わせたデータフィールド１：０が更新バッファを介してＳＲＡＭに書き込まれる。以上で、新規ＭＡＣアドレスが転送テーブル２１に追加されたことになる。
【００６０】
（４）ＭＡＣアドレス削除
転送テーブル２１のエントリに上限（図９の場合には２０４８エントリ）があるため、転送コントローラ６は、転送テーブル２１のエージング管理をしている。すなわち、長期間使われないエントリを消去して再利用できるようにする。
【００６１】
エージング処理の結果、消去すべきと判断されたアドレスは、転送コントローラ６から転送テーブル２１に送られる。ＣＡＭはエントリ内容を消去し、「空き」のタグをつけて再利用の準備をする。このとき、ＳＲＡＭは操作しなくてよい。
【００６２】
次に、上述した動作を行う転送テーブル２１から、トラフィックフローに関する情報を得る処理について説明する。これは、図１０に示すような処理フローに沿って管理モジュール８のソフトウェアがトラフィックフローに関する情報を抽出するものである。図１０によれば、トラフィックフロー抽出のコマンドが起動されると、転送テーブル２１のダンプ処理がΔｔの間隔をあけて２度行われるので、転送先ポート毎、参照元ポート毎にΔｔにおける被参照回数の差分を集計する（ステップＳ３１〜Ｓ３５）。そして、それぞれのポート毎の占有率を計算し、パケットスイッチ装置２０の単位時間における転送先ポート毎、参照元ポート毎の占有率リスト２２を出力する（ステップＳ２６〜Ｓ２９）。これにより、トラフィックフローに関する情報を容易に得ることができる。
【００６３】
以上、本実施の形態のパケットスイッチ装置２０によれば、第１の実施の形態のパケットスイッチ装置１０と同様の効果を奏する他、従来のパケットスイッチの転送テーブルを拡張して転送先ポート毎及び参照元ポート毎の被参照カウンタを搭載することにより、低コストで簡単に出力側だけでなく入力側も含めてトラフィックフローを検出することができる。
【００６４】
以上、本発明の実施の形態について説明してきたが、本発明の要旨を逸脱しない範囲において、本発明の実施の形態に対して種々の変形や変更を施すことができる。例えば、上記実施の形態においては、宛先アドレスと転送先ポートの対応が１対１であるものとして説明したが、ＩＰ層における転送テーブル探索のように、比較が宛先アドレスの一部を対象としている場合であっても同様な作用であることはもちろんである。この場合、図１１に示す転送テーブル３１のように、宛先アドレスがネットワークとマスクで表されるため、フローの検出単位は宛先ネットワーク毎になる。
【００６５】
【発明の効果】
以上説明したように、本発明によれば、パケットスイッチ装置の転送テーブルを拡張して被参照カウンタを搭載し、該被参照カウンタをパケット転送の宛先アドレスに応じてインクリメントしているので、低コストで簡単にトラフィックフローを検出することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る転送テーブルの構成を説明する図である。
【図２】本発明の第１の実施の形態に係る転送テーブルから得られるトラフィックフローの１つを説明する図である。
【図３】本発明の第１の実施の形態に係るパケットスイッチ装置の機能ブロック図である。
【図４】本発明の第１の実施の形態に係るパケットスイッチ装置のパケット転送処理のフローチャートである。
【図５】本発明の第１の実施の形態に係る転送テーブルの動作を説明する図である。
【図６】本発明の第１の実施の形態に係るパケットスイッチ装置が転送テーブルからトラフィックフローを抽出する際のフローチャートである。
【図７】本発明の第２の実施の形態に係る転送テーブルの構成を説明する図である。
【図８】本発明の第２の実施の形態に係る転送テーブルから得られるトラフィックフローの１つを説明する図である。
【図９】本発明の第２の実施の形態に係る転送テーブルの動作を説明する図である。
【図１０】本発明の第２の実施の形態に係るパケットスイッチ装置が転送テーブルからトラフィックフローを抽出する際のフローチャートである。
【図１１】本発明の他の実施の形態に係る転送テーブルの構成を説明する図である。
【図１２】従来のストアアンドフォワード型のパケットスイッチ装置におけるパケット転送フローを説明する図である。
【図１３】従来のパケットスイッチ装置においてプロトコルアナライザを用いたトラフィックフロー検出の構成図である。
【図１４】従来のパケットサンプリング機能を用いたトラフィックフロー検出の構成図である。
【図１５】従来の転送テーブルの構成を説明する図である。
【符号の説明】
１，２１，３１，９１  転送テーブル
２ｉ  ポート
３ｉ  物理層コントローラ
４ｉ  パケットバッファ
５  スイッチファブリック
６  転送コントローラ（ヘッダ解析／宛先抽出部）
７  各種カウンタ
８  管理モジュール
９  電源／ファン／環境モニタ
１０，２０，９０  パケットスイッチ装置
１２，２２  結果レポート
１００  プロトコルアナライザ
１１０  サンプリング装置
１２０  フローデータ生成装置
１３０  解析装置
【図１】
2004297603.tif 000003
【図２】
2004297603.tif 000004
【図３】
2004297603.tif 000005
【図４】
2004297603.tif 000006
【図５】
2004297603.tif 000007
【図６】
2004297603.tif 000008
【図７】
2004297603.tif 000009
【図８】
2004297603.tif 000010
【図９】
2004297603.tif 000011
【図１０】
2004297603.tif 000012
【図１１】
2004297603.tif 000013
【図１２】
2004297603.tif 000014
【図１３】
2004297603.tif 000015
【図１４】
2004297603.tif 000016
【図１５】
2004297603.tif 000017