特許第5901551号(P5901551)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アラクサラネットワークス株式会社の特許一覧

<>
  • 特許5901551-通信装置及びフレーム処理方法 図000002
  • 特許5901551-通信装置及びフレーム処理方法 図000003
  • 特許5901551-通信装置及びフレーム処理方法 図000004
  • 特許5901551-通信装置及びフレーム処理方法 図000005
  • 特許5901551-通信装置及びフレーム処理方法 図000006
  • 特許5901551-通信装置及びフレーム処理方法 図000007
  • 特許5901551-通信装置及びフレーム処理方法 図000008
  • 特許5901551-通信装置及びフレーム処理方法 図000009
  • 特許5901551-通信装置及びフレーム処理方法 図000010
  • 特許5901551-通信装置及びフレーム処理方法 図000011
  • 特許5901551-通信装置及びフレーム処理方法 図000012
  • 特許5901551-通信装置及びフレーム処理方法 図000013
  • 特許5901551-通信装置及びフレーム処理方法 図000014
  • 特許5901551-通信装置及びフレーム処理方法 図000015
  • 特許5901551-通信装置及びフレーム処理方法 図000016
  • 特許5901551-通信装置及びフレーム処理方法 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5901551
(24)【登録日】2016年3月18日
(45)【発行日】2016年4月13日
(54)【発明の名称】通信装置及びフレーム処理方法
(51)【国際特許分類】
   H04L 12/70 20130101AFI20160331BHJP
【FI】
   H04L12/70 100A
【請求項の数】11
【全頁数】22
(21)【出願番号】特願2013-26889(P2013-26889)
(22)【出願日】2013年2月14日
(65)【公開番号】特開2014-158093(P2014-158093A)
(43)【公開日】2014年8月28日
【審査請求日】2015年3月3日
(73)【特許権者】
【識別番号】504411166
【氏名又は名称】アラクサラネットワークス株式会社
(74)【代理人】
【識別番号】110001678
【氏名又は名称】特許業務法人藤央特許事務所
(72)【発明者】
【氏名】河野 智彦
【審査官】 宮島 郁美
(56)【参考文献】
【文献】 特開2000−013396(JP,A)
【文献】 特開2001−358726(JP,A)
【文献】 特開2012−199707(JP,A)
【文献】 米国特許出願公開第2002/0183969(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00−12/28,12/44−12/955
H04M3/00−3/00,3/16−3/20,3/38−3/58,7/00−7/16,11/00−11/10
H04B7/24−7/26,H04W4/00−99/00
(57)【特許請求の範囲】
【請求項1】
フレームを転送する通信装置であって、
前記通信装置の動作を制御する制御部と、フレームを入出力するインターフェース部と、入力されたフレームを処理する複数のフレーム処理部とを備え、
前記各フレーム処理部は、
処理されるフレームの統計を記録する複数の記憶領域と、
前記統計を記録する一つの記憶領域を決定し、前記決定された記憶領域を特定するための識別情報を前記入力されたフレームに付与する識別子付与部と、
当該フレームの統計処理の結果を用いて、前記識別情報によって特定される記憶領域に記録された統計を更新する統計処理部と、を有し、
前記制御部は、前記統計を記録する記憶領域の切り替えを前記識別子付与部に指示し、
前記識別子付与部は、前記制御部から送信された切り替えの指示によって、前記識別情報を決定し、
前記各フレーム処理部は、前記処理すべきフレームのうち一連のフレームを識別し、前記識別された一連のフレームの統計処理が完了した後、前記統計を記録する記憶領域を切り替え、
前記制御部は、前記統計を記録する記憶領域の切り替え後に、前記統計が記録される記憶領域と異なる記憶領域から統計値を取得することを特徴とする通信装置。
【請求項2】
請求項1に記載の通信装置であって、
前記制御部は、
前記統計が記録される記憶領域と異なる記憶領域から統計値を取得し、
前記取得した統計値を用いてユーザに提示するためのデータを生成することを特徴とする通信装置。
【請求項3】
請求項2に記載の通信装置であって、
前記統計処理部は、前記制御部が統計値を取得した後、当該取得された統計値を消去することを特徴とする通信装置。
【請求項4】
請求項3に記載の通信装置であって、
前記制御部は、前記記憶領域から取得した統計値を保持し、前記記憶領域から新たに取得した統計値と前記保持された統計値との合計値をユーザに提示する統計値とすることを特徴とする通信装置。
【請求項5】
フレームを転送する通信装置であって、
前記通信装置の動作を制御する制御部と、フレームを入出力するインターフェース部と、入力されたフレームを処理する複数のフレーム処理部とを備え、
前記各フレーム処理部は、
処理されるフレームの統計を記録する複数の記憶領域と、
前記統計を記録する一つの記憶領域を決定し、前記決定された記憶領域を特定するための識別情報を前記入力されたフレームに付与する識別子付与部と、
当該フレームの統計処理の結果を用いて、前記識別情報によって特定される記憶領域に記録された統計を更新する統計処理部と、を有し、
前記統計処理部は、前記統計を記録する記憶領域を切り替えた後に前記記憶領域の統計値が更新されたことを示すフラグを管理することを特徴とする通信装置。
【請求項6】
請求項5に記載の通信装置であって、
前記統計処理部は、前記制御部が統計値を取得する際、前記フラグが前記記憶領域の統計値が更新されていないことを示す場合、前記統計処理の結果を記録すべき記憶領域に、他の記憶領域の統計値を複製することを特徴とする通信装置。
【請求項7】
請求項1から6のいずれか一つに記載の通信装置であって、
前記統計処理部は、前記統計を記録する記憶領域が変更された際、前記統計処理の結果を記録すべき記憶領域に、他の記憶領域の統計値を複製することを特徴とする通信装置。
【請求項8】
請求項1から7のいずれか一つに記載の通信装置であって、
前記統計処理部は、前記入力されたフレームから仮想ネットワークの情報を取得し、前記情報を取得した仮想ネットワークに関連するフレームの数及びフレームのサイズの少なくとも一方を前記統計処理の結果として取得することを特徴とする通信装置。
【請求項9】
フレームを転送する通信装置におけるフレーム処理方法であって、
前記通信装置は、前記通信装置の動作を制御する制御部と、フレームを入出力するインターフェース部と、入力されたフレームを処理する複数のフレーム処理部とを備え、
前記各フレーム処理部は、処理されるフレームの統計を記録する複数の記憶領域を有し、
前記フレーム処理方法は、
前記制御部が、前記統計を記録する記憶領域の切り替えを前記フレーム処理部に指示するステップと、
前記フレーム処理部が、前記制御部から送信された切り替えの指示によって、前記統計を記録する一つの記憶領域の識別情報を決定するステップと、
前記フレーム処理部が、前記決定された識別情報を前記入力されたフレームに付与するステップと、
前記フレーム処理部が、前記付与された識別情報によって、前記処理すべきフレームのうち一連のフレームを識別するステップと、
前記フレーム処理部が、当該フレームの統計処理の結果を用いて、前記識別情報によって特定される記憶領域に記録された統計を更新するステップと、
前記フレーム処理部が、前記識別された一連のフレームの統計処理が完了した後、前記統計を記録する記憶領域を切り替えるステップと、
前記制御部が、前記統計を記録する記憶領域の切り替え後に、前記統計が記録される記憶領域と異なる記憶領域から統計値を取得するステップとを含むことを特徴とするフレーム処理方法。
【請求項10】
請求項9に記載のフレーム処理方法であって、
前記制御部が、前記統計が記録される記憶領域と異なる記憶領域から統計値を取得するステップと、
前記制御部が、前記取得した統計値を用いてユーザに提示するためのデータを生成するステップとを含むことを特徴とするフレーム処理方法。
【請求項11】
フレームを転送する通信装置におけるフレーム処理方法であって、
前記通信装置は、前記通信装置の動作を制御する制御部と、フレームを入出力するインターフェース部と、入力されたフレームを処理する複数のフレーム処理部とを備え、
前記各フレーム処理部は、処理されるフレームの統計を記録する複数の記憶領域を有し、
前記フレーム処理方法は、
前記フレーム処理部が、前記統計を記録する一つの記憶領域を決定するステップと、
前記フレーム処理部が、前記決定された記憶領域を特定する識別情報を前記入力されたフレームに付与するステップと、
前記フレーム処理部が、当該フレームの統計処理の結果を用いて、前記識別情報によって特定される記憶領域に記録された統計を更新するステップと、
前記フレーム処理部が、前記統計を記録する記憶領域を切り替えた後に前記記憶領域の統計値が更新されたことを示すフラグを管理するステップとを含むことを特徴とするフレーム処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フレームを転送する通信装置に関する。
【背景技術】
【0002】
本技術分野の背景技術として、例えば、特開2000−13396号公報(特許文献1)がある。この公報には、ソフトウェアにより制御され、統計情報を収集報告する機能を有する複数の処理回路を含むATMスイチにおいて、ソフトウェアからの指示で統計情報を収集している処理回路に対して統計情報ラッチ信号を出力する統計ラッチ出力手段と、処理回路が統計情報ラッチ信号を検出して統計情報を統計情報出力バッファに保持する統計情報保持手段と、ソフトウェアからの統計情報出力指示を受け付けて統計情報出力バッファに保持した統計情報を出力する統計情報出力手段を有するATMスイッチが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−13396号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
入力されたフレームやパケットを転送するネットワーク中継装置において、転送するフレームやパケットに関する統計処理を行い、統計値を記録するものがある。このようなネットワーク中継装置で取得される統計は、課金処理や、インシデント対応などにおいて使用され、これらの用途のためには、正確な統計の取得が重要である。
【0005】
前述した従来のネットワーク中継装置で記録した統計値を取得する場合、統計値が記録された記憶領域にアクセスするためのデータバスの制限などによって、所望の統計値を同じタイミングで取得できない場合がある。このため、統計値の取得中に統計値が更新されることによって、取得した複数種類の統計値が同じタイミングで記録されたものではない可能性がある。
【0006】
また、複数の処理部で複数種類の統計処理をする場合、複数種類の統計値が同じタイミングで記録されないことがある。このため、あるタイミングで統計値を取得すると、複数種類の統計値の間で整合しない場合があり、正確に統計を取得することが困難である。
【課題を解決するための手段】
【0007】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、フレームを転送する通信装置であって、前記通信装置の動作を制御する制御部と、フレームを入出力するインターフェース部と、入力されたフレームを処理する複数のフレーム処理部とを備え、前記各フレーム処理部は、処理されるフレームの統計を記録する複数の記憶領域と、前記統計を記録する一つの記憶領域を決定し、前記決定された記憶領域を特定するための識別情報を前記入力されたフレームに付与する識別子付与部と、当該フレームの統計処理の結果を用いて、前記識別情報によって特定される記憶領域に記録された統計を更新する統計処理部と、を有する。前記制御部は、前記統計を記録する記憶領域の切り替えを前記識別子付与部に指示し、前記識別子付与部は、前記制御部から送信された切り替えの指示によって、前記識別情報を決定し、前記各フレーム処理部は、前記処理すべきフレームのうち一連のフレームを識別し、前記識別された一連のフレームの統計処理が完了した後、前記統計を記録する記憶領域を切り替え、前記制御部は、前記統計を記録する記憶領域の切り替え後に、前記統計が記録される記憶領域と異なる記憶領域から統計値を取得してもよい。さらに、前記統計処理部は、前記統計を記録する記憶領域を切り替えた後に前記記憶領域の統計値が更新されたことを示すフラグを管理してもよい。
【発明の効果】
【0008】
本発明の代表的な実施例によれば、所定の時間範囲における統計値を取得することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0009】
図1】第1の実施例のフレーム転送装置を含むネットワークシステムの構成を示すブロック図である。
図2A】第1の実施例のRxフレーム処理部の構成を示すブロック図である。
図2B】第1の実施例のTxフレーム処理部の構成を示すブロック図である。
図3】第1の実施例の統計処理部内の統計データベースの構成例を説明する図である。
図4】第1の実施例のフレーム処理のフローチャートである。
図5】第1の実施例の統計取得処理のフローチャートである。
図6】第1の実施例の統計データ読み出し処理のフローチャートである。
図7】第1の実施例のDB_WP更新処理のフローチャートである。
図8A】第1の実施例のフレーム転送装置に、コンソールから入力されるコマンドの例を説明する図である。
図8B】第1の実施例のフレーム転送装置に、コンソールから入力されるコマンドの例を説明する図である。
図9】第1の実施例のDB_WP制御部から出力されるフレームのフォーマットを説明する図である。
図10】第1の実施例のDB_WP制御の詳細を説明する図である。
図11】第1の実施例の統計処理の例を説明する図である。
図12】第1の実施例の統計データベースの構成例を説明する図である。
図13】第2の実施例の統計処理部内の統計データベースの構成例を説明する図である。
図14】第2の実施例の統計処理の例を説明する図である。
【発明を実施するための形態】
【0010】
以下、ネットワーク通信装置の一例として、フレーム転送装置について説明する。
【0011】
<実施例1>
図1は、本発明の第1の実施例のフレーム転送装置を含むネットワークシステムの構成を示すブロック図である。
【0012】
本実施例のフレーム転送装置10は、ルータやスイッチであり、複数のネットワーク11を接続し、該複数のネットワーク11の間でフレームを転送する。また、フレーム転送装置10は、ネットワーク11内で複数のコンピュータ12を接続し、該複数のコンピュータ12の間でフレームを転送する。
【0013】
フレーム転送装置10には、コンソール13が接続される。コンソール13は、プロセッサ、メモリ、通信インターフェース及び入出力インターフェースを有するコンピュータであり、ネットワーク管理者の指示に基づいて、フレーム転送装置10への制御指示(例えば、面切替指示)を送る。制御部110とコンソール13とは、所定のインターフェース(例えば、RS232C、USB、イーサネット等)(イーサネットは登録商標)によって接続される。
【0014】
なお、本実施例のフレーム転送装置10は、特定のネットワークに接続されるものではなく、転送するフレームの統計を収集するフレーム転送装置である限り、様々なネットワークを接続するフレーム転送装置を対象とする。
【0015】
フレーム転送装置10は、制御部110及びフォワーディング部120を有する。
【0016】
制御部110は、プロセッサ111、メモリ113及びタイマ115を有する。
【0017】
プロセッサ111は、メモリ113に格納されたプログラムを実行する。特に、本実施例のプロセッサ111は、統計処理を制御する統計制御プログラム112を実行する。タイマ115は、所定のタイミング信号をプロセッサ111(統計制御プログラム112)に送る。
【0018】
メモリ113は、統計データ114を格納する。なお、後述するように、第1の実施例では、統計領域から統計値を読み出して、コンソール13によって表示した後は、統計データ114は不要である。また、第2の実施例では、統計データ114は各統計の積算値を含む。
【0019】
統計制御プログラム112は、フレーム転送装置10による統計の取得を制御する。統計制御プログラム112は、例えば、制御信号116をRxフレーム処理部132に出力する。制御信号116には、取得した統計値を読み出す面を切り替えるための統計領域切替指示がある。
【0020】
フォワーディング部120は、クロスバスイッチ121、複数のフレーム処理部130及びネットワークインターフェース部160を有する。
【0021】
クロスバスイッチ121は、フレーム処理部130を接続し、フレーム処理部130から送られたフレームを、該フレームを出力すべきポートに接続されたフレーム処理部130に出力するように、内部の接続を変更する。
【0022】
フレーム処理部130は、Rx転送エンジン131、Rxフレーム処理部132、Tx転送エンジン133及びTxフレーム処理部134を有する。
【0023】
Rx転送エンジン131は、転送情報テーブルを参照し、フレーム転送装置10に入力されたフレームの宛先を解析し、当該フレームを出力するポートを決定する。そして、Rx転送エンジン131は、決定された出力ポートの情報を入力されたフレームに付して、クロスバスイッチ121に送る。また、Rx転送エンジン131は、入力されたフレームの情報(例えば、フレームのヘッダ部)をRxフレーム処理部132に送る。Rxフレーム処理部132に送られるフレームの情報は、Rxフレーム処理部132において実行される処理によって、入力されたフレームのヘッダ部のみでも、入力されたフレーム全部でもよい。
【0024】
Tx転送エンジン133は、Rxフレーム処理部132が決定した出力ポートの情報に従って、入力されたフレームを物理ポート161に送る。また、Tx転送エンジン133は、入力されたフレームの情報(例えば、フレームのヘッダ部)をTxフレーム処理部134に送る。Txフレーム処理部134に送られるフレームの情報は、Txフレーム処理部134において実行される処理によって、フレームのヘッダ部のみでも、フレーム全部でもよい。
【0025】
このように、Rx転送エンジン131及びTx転送エンジン133がフレームを処理することによって、入力されたフレームはパス137のように転送される。
【0026】
Rxフレーム処理部132及びTxフレーム処理部134は、フレーム転送装置10に入力されたフレームの情報を解析し、入力されたフレームの統計を取得する。例えば、統計には、宛先毎のフレームの転送量、フレーム数などがある。他に、Rxフレーム処理部132及びTxフレーム処理部134は、入力されたフレームを暗号化する処理を実行してもよい。
【0027】
フレーム処理部130は、一般に、ハードウェアによるロジック回路で構成されるが、プロセッサが実行するプログラムによって構成されてもよい。
【0028】
ネットワークインターフェース部160は、他のネットワーク11やコンピュータ12が接続される物理ポート161を有し、フレーム転送装置10に送信されるフレームを受信し、及び、フレーム転送装置10から出力されるフレームを送信する。
【0029】
前述した実施例では、ネットワーク通信装置(一例として、フレーム転送装置)内の複数のRxフレーム処理部132及びTxフレーム処理部134が、それぞれ、二つの統計領域145、146などを有し、各統計領域がパケット処理用と統計値取得用との二つの機能を分担する。
【0030】
そして、DB_WP制御部141は、ネットワーク通信装置内で処理されるパケットにDB_WPの情報901を付加する。DB_WPの情報901が付加されたパケットは、クロスバスイッチ121、Tx転送エンジン133を介してTxフレーム処理部134に到達する。Rxフレーム処理部132及びTxフレーム処理部134は、DB_WPの情報901を参照して、どちらの統計領域をパケット処理用とするかを判定、すなわち、統計値を記録する統計領域を決定する。そして、二つの統計領域は、時間(パケット処理の開始タイミング)や、パケットの入力を契機にして、その機能を切り替える。また、一連のパケットの処理中は、統計領域の切り替えを禁止し、異なるパケットの間で統計領域を切り替える。このようにして、一連のパケットの統計が同じ統計領域に記録されるようにする。
【0031】
図2Aは、第1の実施例のRxフレーム処理部132の構成を示すブロック図である。
【0032】
Rxフレーム処理部132は、DB_WP制御部141、フィルタ検索処理部142、経路検索処理部143、統計処理部1(144)及び統計処理部2(147)を有する。
【0033】
DB_WP制御部141は、統計制御プログラム112からの面切替指示116に従って、統計処理部144、147が統計処理の結果を書き込む記憶領域(面)を切り替える。統計制御プログラム112からDB_WP制御部141に入力された指示は、フィルタ検索処理部142、経路検索処理部143、Rx転送エンジン131、クロスバスイッチ121、Tx転送エンジン133を介してTxフレーム処理部134に到達する。統計制御プログラム112からDB_WP制御部141に入力される指示には、前述した面切替指示の他、統計データ読出要求などがある。
【0034】
なお、後述するように、Txフレーム処理部134はDB_WP制御部141を有しないが、Txフレーム処理部134にもDB_WP制御部141を設け、Txフレーム処理部134が統計制御プログラム112からの指示を直接受けてもよい。
【0035】
また、DB_WP制御部141には、Rx転送エンジン131からフレームの情報が入力される。なお、フレームの情報は、DB_WP制御部141を介さず、フィルタ検索処理部142に入力されてもよい。
【0036】
フィルタ検索処理部142は、入力されたフレームをフィルタリングする。例えば、フィルタ検索処理部142は、入力されたフレームのヘッダを解析し、特定のアドレスから送信された又は特定のアドレスが宛先となったフレームをフィルタリングし、フィルタリングされた及び/又は通過したフレームの数及び当該フレーム数が記録される統計エントリ番号を統計処理部1(144)に送る。統計エントリ番号は、経路検索やフィルタ処理の結果として決定される。統計処理部1(144)は、フィルタ検索処理部142がフィルタリングしたフレームの数を統計値として計数する。
【0037】
経路検索処理部143は、入力されたフレームのヘッダを解析し、入出力ポート、VLANなどのフレームの情報を抽出し、これらの情報が抽出されたフレームの数及び当該フレーム数が記録される統計エントリ番号を統計処理部2(147)に送る。統計処理部2(147)は、経路検索処理部143が検出したフレームの数を統計値としてカウントアップする。
【0038】
フィルタ検索処理部142及び経路検索処理部143は、検出したフレームの数の他、フレームのサイズを統計処理部144、147に出力してもよい。また、フィルタ検索処理部142及び経路検索処理部143が出力する統計値は、ユーザ毎(フレームの送信元及び/又は宛先が特定のユーザのフレーム毎)に集計されてもよい。
【0039】
Rxフレーム処理部132がフィルタ検索処理部142及び経路検索処理部143以外の処理部を有し、入力されたフレームを処理してもよい。例えば、入力されたフレームに有害なデータ(例えば、ウイルスプログラム)が含まれているかを判定し、有害なフレームを除去し、除去された有害フレームの数を統計処理部に送る。また、他の処理部が、QoSの処理や、ミラーリングや、フレームが壊れているかの判定や、制御フレーム(例えば、ネットワーク機器を制御するためのフレーム)の検出や、マルチキャストフレームの処理等を実行してもよい。そして、統計処理部が、これらの処理がされたフレーム数を計数することができる。
【0040】
統計処理部1(144)は、メモリを有する。メモリは、統計データベースを格納する。統計データベースは、図2Aに示すように、統計領域1A(145)及び統計領域1B(146)を含む。統計領域1A(145)及び統計領域1B(146)は、統計値を書き込む及び読み出す領域である。統計領域1A(145)及び統計領域1B(146)のいずれに統計値を書き込むかは、DB_WPによって選択される。DB_WPは、DB_WP制御部141によって管理される。また、統計領域1A(145)及び統計領域1B(146)のいずれから統計値を読み出すかは、DB_RPによって選択される。DB_RPは、各統計処理部によって管理される。
【0041】
以上、統計処理部1(144)について説明したが、統計処理部2(147)も同様の構成(統計領域2A(148)及び統計領域2B(149))を有し、経路検索処理部143が検出したフレームの数を統計値としてカウントアップする。
【0042】
図2Bは、第1の実施例のTxフレーム処理部134の構成を示すブロック図である。
【0043】
Txフレーム処理部134は、経路検索処理部153、フィルタ検索処理部152、統計処理部3(157)及び統計処理部4(154)を有する。
【0044】
経路検索処理部153には、Tx転送エンジン133からフレームの情報が入力される。経路検索処理部153は、入力されたフレームのヘッダを解析し、入出力ポート、VLANなどのフレームの情報を抽出し、これらの情報が抽出されたフレームの数及び当該フレーム数が記録される統計エントリ番号を統計処理部3(157)に送る。統計処理部3(157)は、経路検索処理部153が検出したフレームの数を統計値としてカウントアップする。
【0045】
フィルタ検索処理部152は、入力されたフレームをフィルタリングする。例えば、フィルタ検索処理部152は、入力されたフレームのヘッダを解析し、特定のアドレスから送信された又は特定のアドレスが宛先となったフレームをフィルタリングし、フィルタリングされた及び/又は通過したフレームの数及び当該フレーム数が記録される統計エントリ番号を統計処理部4(154)に送る。統計処理部4(154)は、フィルタ検索処理部152がフィルタリングしたフレームの数を統計値として計数する。
【0046】
経路検索処理部153及びフィルタ検索処理部152は、検出したフレームの数の他、フレームのサイズを統計処理部157、154に出力してもよい。また、経路検索処理部153及びフィルタ検索処理部152が出力する統計値は、ユーザ毎(フレームの送信元及び/又は宛先が特定のユーザのフレーム毎)に集計されてもよい。
【0047】
Txフレーム処理部134がフィルタ検索処理部152及び経路検索処理部153以外の処理部を有し、入力されたフレームを処理してもよい。例えば、入力されたフレームに有害なデータ(例えば、ウイルスプログラム)が含まれているかを判定し、有害なフレームを除去し、除去された有害フレームの数を統計処理部に送る。また、他の処理部が、QoSの処理や、ミラーリングや、フレームが壊れているかの判定や、制御フレーム(例えば、ネットワーク機器を制御するためのフレーム)の検出や、マルチキャストフレームの処理等を実行してもよい。そして、統計処理部が、これらの処理がされたフレーム数を計数することができる。
【0048】
統計処理部4(154)は、メモリを有する。メモリは、統計データベースを格納する。統計データベースは、図2Bに示すように、統計領域4A(155)及び統計領域4B(156)を含む。統計領域4A(155)及び統計領域4B(156)は、統計値を書き込む及び読み出す領域である。統計領域4A(155)及び統計領域4B(156)のいずれに統計値を書き込むかは、DB_WPによって選択される。DB_WPは、Rxフレーム処理部132のDB_WP制御部141によって管理される。また、統計領域4A(155)及び統計領域4B(156)のいずれから統計値を読み出すかは、DB_RPによって選択される。DB_RPは、各統計処理部によって管理される。
【0049】
以上、統計処理部4(154)について説明したが、統計処理部3(157)も同様の構成(統計領域3A(158)及び統計領域3B(159))を有し、経路検索処理部153が検出したフレームの数を統計値としてカウントアップする。
【0050】
なお、本実施例では、各統計処理部nは、二つの統計領域nA及び統計領域nBを有するが、各統計処理部(統計データベース)は三つ以上の統計領域を含んでもよい。
【0051】
なお、本実施例のRxフレーム処理部132及びTxフレーム処理部134は、二つの統計処理部を有したが、統計処理部は一つでもよい。また、本実施例では、統計処理部は、Rxフレーム処理部132及びTxフレーム処理部134に備わるが、Rxフレーム処理部132又はTxフレーム処理部134の一方のみに備わってもよい。
【0052】
図3は、第1の実施例の統計処理部1(144)内の統計データベースの構成例を説明する図である。
【0053】
統計データベースは、エントリ番号301、統計領域1A(145)、統計領域1B(146)及びDB_RP306を含む。
【0054】
エントリ番号301は、収集する統計を一意に識別するための番号である。統計領域1A(145)及び統計領域1B(146)は、統計値を格納する。DB_RP306は、フレーム処理時に統計値を読み出すアドレスのオフセットのフラグであり、本実施例では「0」又は「1」である。
【0055】
すなわち、統計領域1A(145)及び統計領域1B(146)は、前述したように、Rxフレーム処理部132のメモリ内の記憶領域によって構成され、統計値を読み出すアドレスのオフセットがDB_RP306によって制御され、書込時のアドレスのオフセット(DB_WP)がDB_WP制御部141によって制御される。
【0056】
例えば、DB_RP306が「0」である場合、統計領域1A(145)の統計値が読み出される。一方、DB_RP306が「1」である場合、統計領域1B(146)の統計値が読み出される。また、DB_WP制御部141が管理するDB_WPの値が「0」である場合、統計値が統計領域1A(145)に書き込まれる。一方、DB_WP制御部141が管理するDB_WPの値が「1」である場合、統計値が統計領域1B(146)に書き込まれる。
【0057】
このように、DB_RPは、記憶領域から読み出す場合のアドレスのオフセット値であり、DB_WPは、記憶領域に書き込む場合のアドレスのオフセット値である。すなわち、DB_RP、DB_WPは、それぞれ、統計値を読み出す、書き込む統計領域を表す。
【0058】
なお、統計領域1A(145)及び統計領域1B(146)の大きさ及び記憶領域上の配置を適切(例えば、1024kバイトなどの2のn乗)に選んだ場合、DB_RPの値又はDB_WPの値をエントリ番号の最上位に付加したアドレスにアクセスすることによって、アクセスする統計領域を選択することができる。また、DB_RPの値及びDB_WPの値を、「0」又は「1」ではなく、アドレスのオフセット値としてもよい。
【0059】
統計領域1A(145)は、統計値302及びHITBIT303を含み、統計領域1B(146)は、統計値304及びHITBIT305を含む。統計値302、304は、各エントリの統計値である。HITBIT303、305は、統計領域の切り替え後に統計値が更新されたかの情報を保持するための1ビットのデータである。すなわち、統計領域から統計値を読み出した後、統計値が更新された場合は、HITBIT303、305の値は「1」となり(図4のステップS1005)、統計領域から統計値を読み出した後、HITBIT303、305の値は「0」となる(図6のステップS1013)。
【0060】
なお、統計処理部1(144)内の統計データベースの構成例を説明するが、他の統計処理部も同様の統計データベースを有する。なお、以下の説明では、複数の統計処理部nの統計領域nAを「統計領域A」と称し、複数の統計処理部nの統計領域nBを「統計領域B」と称する。
【0061】
以上に説明したように、統計領域にHITBITを設けることによって、フレーム処理期間に統計値が更新されない場合でも、正確な統計値を読み出すことができる。
【0062】
図4は、第1の実施例のフレーム処理のフローチャートである。図4に示すフレーム処理は、フレームが入力された際に、フレーム処理部130のRxフレーム処理部132が実行する。なお、他のRxフレーム処理部及びTxフレーム処理部も同じ処理を実行する。
【0063】
まず、Rxフレーム処理部132は、DB_RPを参照し(S1001)、DB_RPが示す統計領域の統計値を読み出す(S1002)。すなわち、DB_RPが「0」であれば、統計領域Aに格納された統計値を読み出し、DB_RPが「1」であれば、統計領域Bに格納された統計値を読み出す。DB_RPが示す統計領域から統計値を読み出すことによって、複数の統計領域から最新の統計値を抽出する。
【0064】
その後、読み出した統計に、入力されたフレームの統計値を加算し、DB_WPが示す統計領域に書き込み、統計値を更新する(S1003)。
【0065】
その後、DB_WPの値をDB_RPに設定する(S1004)。DB_WPは、統計データが更新される統計領域を示す。このため、DB_WPの値をDB_RPに設定することによって、DB_RPで最後に更新されたデータが記録されている統計領域を管理することができ、最後に更新された統計領域から統計値を読み出すことができる。
【0066】
その後、DB_WPが示す統計領域の更新された統計値のHITBITに「1」を設定して、統計値が更新されたことを記憶する(S1005)。
【0067】
図5は、第1の実施例の統計取得処理のフローチャートである。図5に示す統計値取得処理は、コンソール13から統計値取得要求が入力された際、統計制御プログラム112が実行する。なお、図5では、処理の対象をRxフレーム処理部132として説明するが、他のフレーム処理部(Txフレーム処理部134や、他の分散処理部のフレーム処理部)などが処理の対象でもよい。
【0068】
まず、統計制御プログラム112は、DB_WPを更新するかを判定する(S1021)。DB_WPは、所定の条件(例えば、1秒ごと(秒の小数点以下が0である場合))を満たす場合に更新することができる。これは、更新された統計が記録側にありユーザから見えない状態になっているので、取得側に切り替えてユーザに見えるようにするためである。DB_WPを、例えば定期的に更新することによって、明示的なコマンドを使用しない場合でも、統計が更新されていない状態に見えることを防止できる。そして、DB_WPを更新する場合は、現在(最新)の統計値を取得することができ、DB_WPを更新しない場合は、古い統計値を取得することになる。
【0069】
なお、図8Bに示すように、統計領域を切り替えるためのコマンドが入力された場合、DB_WPを更新すると判定してもよい。
【0070】
その結果、DB_WPを更新する場合、DB_WPの更新タイミングを待つために、ステップS1022に進む。一方、DB_WPを更新しない場合、DB_WPの更新タイミングを待つことなく、ステップS1025に進む。
【0071】
ステップS1022では、DB_WPの更新をRxフレーム処理部132に指示する。そして、所定の条件を満たし、DB_WPの更新が完了するまで待機する(S1023、S1024)。そして、Rxフレーム処理部132は、DB_WPを更新した後、更新完了フラグを所定の記憶領域に書き込む。統計制御プログラム112は、前記所定の記憶領域に更新完了フラグが書き込まれたかを繰り返し確認しており、更新完了フラグが書き込まれたことを確認すると、ステップS1025に進む(S1023)。ステップS1024における待機は、前述した所定の条件を満たすまでの最長時間をタイマで待機してもよいし、フレームの処理状況を監視して、受信したフレームの処理が完了するまで待機してもよい。
【0072】
その後、送信した切替指示が許可されたことを確認した後、指示された統計領域から各統計エントリの統計値を取得する(S1025、S1026)。
【0073】
図6は、第1の実施例の統計データ読み出し処理のフローチャートである。図6に示す統計データ読み出し処理は、統計制御プログラム112が統計データ読み出しを要求した際に(例えば、図5のS1026)、フレーム処理部130のRxフレーム処理部132が実行する。なお、他のRxフレーム処理部及びTxフレーム処理部も同じ処理を実行する。
【0074】
まず、フレーム処理部130のRxフレーム処理部132は、DB_WPを参照し(S1011)、DB_WPが示す領域と反対(DB_WPの反転)の統計領域から統計値を読み出す(S1012)。すなわち、DB_WPが「0」であれば、統計領域Bに格納された統計値を読み出し、DB_WPが「1」であれば、統計領域Aに格納された統計値を読み出す。DB_WPが示す領域と反対の統計領域から統計値を読み出すことによって、フレーム処理による統計値の更新の影響を受けることなく、統計値を読み出すことができる。
【0075】
その後、DB_WPが示す領域の反転の統計領域の全てのHITBITに「0」を設定する(S1013)。
【0076】
その後、DB_WPが示す統計領域の当該エントリのHITBITが「0」であるかを判定する(S1014)。HITBITが0である場合、当該エントリについて、DB_WPが示す領域と反対の統計領域の統計値を、DB_WPが示す統計領域の統計値にコピーする(S1015)。DB_WPが示す統計領域においてHITBITが「0」である場合、当該エントリの統計値は、フレーム処理によって更新されていない。このため、DB_WPが示す統計領域の統計値にコピーして、最新の統計値に更新する。
【0077】
図7は、第1の実施例のDB_WP更新処理のフローチャートである。図7に示すDB_WP更新処理は、ユーザのコマンド入力などを契機にしてDB_WPを明示的に更新する場合に、統計制御プログラム112が実行する。ユーザが入力するコマンドは、例えば、"statistics update" などである。
【0078】
まず、統計制御プログラム112は、DB_WPの更新をフレーム処理部130に指示する(S1031)。そして、DB_WPの更新が完了するまで待機し(S1033)、DB_WPの更新が完了すれば、終了する(S1032)。
【0079】
図8A及び図8Bは、第1の実施例のフレーム転送装置10に、コンソール13から入力されるコマンドの例を説明する図である。
【0080】
例えば、図8Aに示すように、統計値を取得するための "snmp getif" コマンドをコンソール13から入力することによって、統計値を取得する統計領域を切り替えて、統計値を取得することができる。
【0081】
また、統計領域を切り替えるためのコマンドを設けてもよい。例えば、図8Bに示すように、統計領域を切り替える場合、コンソール13から "statistics update" コマンドを入力することによって、DB_RPを更新し、統計値を取得する統計領域を切り替える。その後、コンソール13から "snmp getif" コマンドを入力することによって統計値を取得することができる。
【0082】
図9は、第1の実施例のDB_WP制御部141から出力されるフレームのフォーマットを説明する図である。
【0083】
DB_WP制御部141は、Rx転送エンジン131から入力されたフレームに、DB_WPの情報を付加して、フィルタ検索処理部142にフレームを出力する。
【0084】
すなわち、DB_WP制御部141に入力されるフレームは、制御情報(入力ポート、入力VLANなど)、フレームの情報及び統計情報を含む。なお、入力されるフレームが、ユーザデータを含んでもよい。フレームの情報は、レイヤ2の宛先MACアドレス及び送信元MACアドレスを含み、さらに、レイヤ3のIPヘッダなどを含む。統計情報は、このフレームが処理されるべき統計処理の統計エントリ番号を含む。
【0085】
本実施例において、DB_WP制御部141から出力されるフレームの統計情報は、各Rxフレーム処理部及びTxフレーム処理部の統計の種別毎(統計処理部毎)にDB_WPの情報901を含む。DB_WPの情報901は、このフレームが統計処理された値を書き込む記憶領域を表す。DB_WPの情報901はフレームに付加され、フレーム転送装置内の各Rxフレーム処理部及びTxフレーム処理部で参照される。このため、複数のRxフレーム処理部及びTxフレーム処理部で行われる統計処理の結果は、同じフレームについては、DB_WPが示す同じ統計領域に書き込まれる。
【0086】
なお、図9に示すフレームはDB_WP制御部141から出力された状態であり、統計処理がまだ行われていないので、統計エントリ番号は不定(未決定)となっている。
【0087】
図10は、第1の実施例のDB_WP制御の詳細を説明する図である。図10を用いて、DB_WPの更新タイミング、すなわち、更新指示された新しいDB_WPを、次のフレーム処理から使うタイミングについて説明する。
【0088】
図中、PACKET_VLDは、フレーム処理が有効であるかを示すフラグであり、フレーム処理中は1、フレーム処理をしていないときは0となる。PACKET_ENDは、同一のフレーム処理の終了を示すフラグであり、一連のフレーム処理の最後のフレームの処理のタイミングでは「1」となり、他のタイミングでは「0」となる。
【0089】
本実施形態のDB_WP制御部141は、統計制御プログラム112からの面切替指示116によって統計値を記録する記憶領域を切り替える。この切り替えタイミングは、一連のフレームを処理している途中における統計領域の切り替えを避けるためである。
【0090】
例えば、前述したフラグ、PACKET_VLD及びPACKET_ENDを用いた一つの方法として、PACKET_VLDが「0」であるとき、又は、PACKET_VLDが1であり、かつ、PACKET_ENDが「1」であるときに、DB_WPの更新を許可する。すなわち、(PACKET_VLD=0)or(PACKET_VLD=1 and PACKET_END=1)を満たすタイミングで、DB_WPを更新する。
【0091】
また、第2の方法として、PACKET_VLDが1でなく、又は、PACKET_ENDが0でないときに、DB_WPの更新を許可する。すなわち、not(PACKET_VLD=1 and PACKET_END=0)を満たすタイミングで、DB_WPを更新する。
【0092】
このように、DB_WPの更新タイミングを制御することによって、一連のフレームに関する統計処理中は統計領域の切り替えを禁止し、異なる一連のフレームとの間でだけ統計領域の切り替えを許可する。このため、一連のフレームに対する処理が、異なる統計領域に跨って記録されなくなる。よって、一つの入力フレームに関する統計が同じ統計領域に記録されるため、フレーム処理の統計を正確に取得することができる。
【0093】
この一連のフレームに対する処理は、例えば、一つのマルチキャストフレームから複製された複数のフレームを出力する場合に、複製された同じフレームを一連のフレームとして処理する場合である。マルチキャストフレームは、クロスバスイッチ121又はTx転送エンジン133で複製される。
【0094】
Txフレーム処理部134は、フレームの処理状況を参照して、DB_WPを更新する以前に処理されたフレームの統計が採取されたことを確実にする。具体的には、DB_WPによって一連のフレームであるかを判定してもよい。例えば、DB_WPが「1」である場合、DB_WP=1に対応する統計領域に統計が記録し終わるまで、DB_WP=1に対応する統計領域から統計値を取得しない。また、別の実装として、クロスバスイッチ121がフレームを複製した場合、複製された全てのフレームの処理が終了するまでの標準的又は最大の時間の統計値の読み出しを禁止してもよい。
【0095】
さらに、フレーム転送装置がL3スイッチである場合、レイヤ2におけるスイッチとしての処理とレイヤ3におけるルータとしての処理が並行して行われる。このため、この場合は、レイヤ2で複製されたフレームとレイヤ3で複製されたフレームとを一連のフレームと判定してもよい。
【0096】
この処理によって、DB_WPの値を変更してから、一連のフレームの統計採取が完了するまでの間の統計値の取得を禁止することができる。
【0097】
図11は、第1の実施例の統計処理の例を説明する図であり、パケット処理による特定のエントリの統計値及びフラグの変化を示す。
【0098】
図11において、DB_WPは、統計値が書き込まれる統計領域を示すフラグであり、統計の種類毎の1bitのデータによって管理される。統計領域Aの統計値及び統計領域Bの統計値は、統計の種別毎かつエントリ毎に記録される。DB_RPは、最後に統計値を書き込んだ統計領域を示すフラグであり、統計の種類毎かつエントリ毎の1bitのデータによって管理される。統計領域AのHITBITは、統計領域の切り替え後、フレーム処理により統計領域Aの統計値が更新されていることを示すフラグであり、統計の種別毎かつエントリ毎に記録される。統計領域BのHITBITは、統計領域の切り替え後、フレーム処理により統計領域Bの統計値が更新されていることを示すフラグであり、統計の種別毎かつエントリ毎に記録される。
【0099】
まず、統計領域A(DB_WP=0)で、パケットが処理され(201)、統計領域Aの統計値が「0」から「1」に更新される。このとき、統計領域Aの統計値が更新されたため、統計領域AのHITBITが「1」に設定される。その後、パケット処理によって統計領域Aの統計値が加算される。
【0100】
その後、統計領域Bの統計値が読み出される(202)。第1の実施例では、読み出しの際に統計値をクリアするリードクリア方式を採用しているので、統計領域Bの統計値及びHITBITがクリアされる。但し、このタイミングでは、統計値及びHITBITが0であるため、値は変化しない。
【0101】
その後、パケット処理によって統計領域Aの統計値が加算され、パケット処理が終了したタイミングで、統計値を記録する統計領域が統計領域Aから統計領域Bに切り替えられる(203)。このため、統計値は切り替え後の統計領域Bに書き込まれ、統計領域Bの統計値が「0」から「1」に更新される。このとき、統計領域Bの統計値が更新されたため、統計領域BのHITBITが「1」に設定される。その後、パケット処理によって統計領域Bの統計値が加算される。
【0102】
その後、統計領域Aの統計値が読み出される(204)。第1の実施例では、読み出しの際に統計値をクリアするリードクリア方式を採用しているので、統計領域Aの統計値及びHITBITがクリアされる。
【0103】
その後、パケット処理によって統計領域Bの統計値が加算され、パケット処理が終了したタイミングで、統計値を記録する統計領域が統計領域Bから統計領域Aに切り替えられる(205)。このため、統計値は切り替え後の統計領域Aに書き込まれ、統計領域Aの統計値が「0」から「1」に更新される。このとき、統計領域Aの統計値が更新されたため、統計領域AのHITBITが「1」に設定される。
【0104】
その後、統計領域Bの統計値が読み出される(206)。第1の実施例では、読み出しの際に統計値をクリアするリードクリア方式を採用しているので、統計領域Bの統計値及びHITBITがクリアされる。
【0105】
このように、第1の実施例では、統計領域から統計値を読み出す際に統計値をクリアするので、統計制御プログラム112が統計の積算値を管理する。このため、メモリに多くの記憶容量が必要となるが、Rxフレーム処理部132の制御が簡単になる。
【0106】
図12は、第1の実施例の統計データベースの構成例を説明する図である。
【0107】
図12に示す統計データベースの例では、VLAN及びQoSによって処理されたフレーム数が記録されている。例えば、VLAN3が1フレーム、VLAN4が3フレーム、VLAN5が6フレーム、VLAN6が1フレームである。また、QoSは、タイプAが3フレーム、タイプBが2フレーム、タイプCが3フレーム、タイプDが3フレームである。また、組み合わせの統計として、4A、4B、5A、5B、5Cの5種類の統計を取得している。
【0108】
この統計値を、QoSとVLANとの組み合わせでマトリックスにすると、図12に示すように分析される。これによると、QoSとVLANとの組み合わせである、3A、3B、6Bは0であることが分かる。また、3Cから5Dは値は一意に定まらないものの、ある範囲で推測することができる。
【0109】
このように、第1の実施例では、異なる種類(例えば、QoS、VLAN)の統計値を同じタイミングで記録するので、統計値を取得していない組み合わせであっても、統計値を推測することができる。
【0110】
以上に説明したように、本発明の第1の実施例では、DB_WPの情報をRxフレーム処理部132に転送されるフレームに付加し、DB_WPによってRxフレーム処理部132での統計処理の結果が記録される統計領域を切り替えるので、一連のフレームに関する統計値は同じ統計領域に記録される。
【0111】
また、統計値を読み出すタイミングが統計領域の切り替えタイミングを含むことがなく、統計領域の切り替えタイミングを跨って、統計値を読み出すことがなくなる。
【0112】
また、フレーム処理によって統計値が書き込まれる統計領域と、統計値を読み出す統計領域を別の領域にしたので、フレーム処理による影響を受けることなく、統計値を読み出すことができる。
【0113】
<実施例2>
次に、本発明の第2の実施例について説明する。
【0114】
第2の実施例は、統計領域を切り替える毎に統計値を「0」に初期化し、統計領域の切り替え前後の統計値は統計制御プログラム112が積算する。このため、DB_RPを有さない。
【0115】
第2の実施例の説明において、前述した第1の実施例と異なる構成及び処理についてのみ説明し、同じ構成及び処理については説明を省略する。
【0116】
図13は、第2の実施例の統計処理部1(144)内の統計データベースの構成例を説明する図である。なお、統計処理部1(144)内の統計データベースの構成例を説明するが、他の統計処理部も同様の統計データベースを有する。
【0117】
統計データベースは、エントリ番号401、統計領域1A(145)及び統計領域1B(146)を含む。
【0118】
エントリ番号401は、収集する統計を一意に識別するための番号である。統計領域1A(145)及び統計領域1B(146)は、統計値を格納する。統計領域1A(145)及び統計領域1B(146)は、前述したように、Rxフレーム処理部132のメモリ内の記憶領域によって構成され、統計領域へアクセスする際のアドレスのオフセットがDB_WP制御部141によって制御される。
【0119】
例えば、DB_WP制御部141が管理するDB_WPの値が「0」である場合、統計値が統計領域1A(145)に書き込まれ、統計領域1B(146)の統計値が読み出される。また、DB_WPの値が「1」である場合、統計値が統計領域1B(146)に書き込まれ、統計領域1A(145)の統計値が読み出される。
【0120】
なお、統計領域1A(145)及び統計領域1B(146)の大きさ及び記憶領域上の配置を適切(例えば、1024kバイトなどの2のn乗)に選んだ場合、DB_WPの値をエントリ番号の最上位に付加したアドレスにアクセスすることによって、アクセスする統計領域を選択することができる。また、DB_WPの値を、「0」又は「1」ではなく、アドレスのオフセット値としてもよい。
【0121】
次に、第2の実施例のフレーム処理について説明する。第2の実施例のフレーム処理は、フレームが入力された際に、フレーム処理部130のRxフレーム処理部132が実行する。なお、他のRxフレーム処理部及びTxフレーム処理部も同じ処理を実行する。
【0122】
すなわち、第2の実施例では、まず、フレーム処理部130のRxフレーム処理部132は、DB_WPを参照し、DB_WPに記録された識別子が示す統計領域の統計値を読み出す。すなわち、DB_WPが「0」であれば、統計領域Aに格納された統計値を読み出し、DB_WPが「1」であれば、統計領域Bに格納された統計値を読み出す。DB_WPが示す統計領域から統計値を読み出すことによって、常に最新の統計値を読み出すことができる。
【0123】
その後、読み出した統計に、入力されたフレームの統計値を加算し、DB_WPが示す統計領域に書き込み、統計値を更新する。
【0124】
次に、第2の実施例の統計データ読み出し処理について説明する。第2の実施例の統計データ読み出し処理は、統計制御プログラム112が統計データ読み出しを要求した際に(例えば、図5のS1026)、フレーム処理部130のRxフレーム処理部132が実行する。なお、他のRxフレーム処理部及びTxフレーム処理部も同じ処理を実行する。
【0125】
まず、Rxフレーム処理部132は、DB_WPを参照し、DB_WPが示す領域と反対(DB_WPの反転)の統計領域から統計値を読み出し、読み出した統計領域の統計値を0にクリアする。すなわち、DB_WPが「0」であれば、統計領域Bに格納された統計値を読み出し、DB_WPが「1」であれば、統計領域Aに格納された統計値を読み出す。DB_WPが示す領域と反対の統計領域から統計値を読み出すことによって、フレーム処理による統計値の更新の影響を受けることなく、統計値を読み出すことができる。
【0126】
図14は、第2の実施例の統計処理の例を説明する図であり、パケット処理による特定のエントリの統計値及びフラグの変化を示す。
【0127】
第2の実施例の統計データベースは、図13において前述したように、DB_RP及びHITBITを有さない。
【0128】
まず、統計領域A(DB_WP=0)で、パケットが処理され(211)、統計領域Aの統計値が「0」から「1」に更新される。その後、パケット処理によって統計領域Aの統計値が加算される。
【0129】
その後、統計領域Bの統計値が読み出される(212)。第2の実施例では、読み出しの際に統計値をクリアしない。但し、このタイミングでは、統計値は「0」である。
【0130】
その後、パケット処理によって統計領域Aの統計値が加算され、パケット処理が終了したタイミングで、統計値を記録する統計領域が統計領域Aから統計領域Bに切り替えられる(213)。このため、統計領域Aの統計値に当該パケット処理による統計値が加算された値が切り替え後の統計領域Bに書き込まれ、統計領域Bの統計値が「0」から「6」に更新される。その後、パケット処理によって統計領域Bの統計値が加算される。
【0131】
その後、統計領域Aの統計値が読み出される(214)。第2の実施例では、読み出しの際に統計値は変化しない。
【0132】
その後、パケット処理によって統計領域Bの統計値が加算され、パケット処理が終了したタイミングで、統計値を記録する統計領域が統計領域Bから統計領域Aに切り替えられる(215)。このため、統計領域Bの統計値に当該パケット処理による統計値が加算された値が切り替え後の統計領域Aに書き込まれ、統計領域Aの統計値が「5」から「12」に更新される。
【0133】
その後、統計領域Bの統計値が読み出される(216)。第2の実施例では、読み出しの際に統計値は変化しない。
【0134】
なお、第2の実施例では、統計領域の切り替えから統計を読み出すまでの間に、パケット処理が実行されなかった場合、補正処理(例えば、反対側の統計領域から統計値を読み出す処理)が必要となる。
【0135】
以上に説明したように、本発明の第2の実施例では、統計領域から統計値を読み出す際に統計値をクリアせず、DB_WPの値が示す統計領域で統計の積算値を管理する。このため、Rxフレーム処理部132の制御が複雑になるが、統計制御プログラム112が統計の積算値を管理する必要がない。このため、統計領域から統計値を読み出して、コンソール13によって表示した後は、統計値を格納するために割り当てられたメモリを解放することができ、必要なメモリの記憶容量を少なくすることができる。
【0136】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【0137】
13 コンソール
110 制御部
111 プロセッサ
112 統計制御プログラム
113 メモリ
114 統計データ
115 タイマ
120 フォワーディング部
121 クロスバスイッチ
130 フレーム処理部
160 ネットワークインターフェース部
131 Rx転送エンジン
132 Rxフレーム処理部
133 Tx転送エンジン
134 Txフレーム処理部
141 DB_WP制御部
142 フィルタ検索処理部
143 経路検索処理部
144 統計処理部1
145 統計領域1A
146 統計領域1B
147 統計処理部2
148 統計領域2A
149 統計領域2B
152 フィルタ検索処理部
153 経路検索処理部
154 統計処理部4
155 統計領域4A
156 統計領域4B
157 統計処理部3
158 統計領域3A
159 統計領域3B
160 ネットワークインターフェース部
161 物理ポート
図1
図2A
図2B
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
図11
図12
図13
図14