(57)【要約】【課題】ハードウェアリソースを有効活用しつつ到来するパケットの数量をその種別毎に正確にカウントできるパケット中継装置を提供する。【解決手段】本発明によるパケット中継装置は、パケットを受信する毎に当該パケットに含まれている通信網識別子を抽出取得する識別子取得部と、当該通信網識別子を複数のレジスタ番号の内のいずれか１つに対応付けて記憶するレジスタ管理テーブルと、各々が固有のレジスタ番号を対応付けられている複数のレジスタからなる統計レジスタ部と、当該識別子取得部が抽出取得した通信網識別子に対応付けられているレジスタ番号を当該レジスタ管理テーブルから取得して当該レジスタ番号を伴うカウント指示を発する管理部と、を含み、当該統計レジスタ部は、当該レジスタ番号を伴うカウント指示を受け取る毎に当該レジスタ番号に対応するレジスタが表すカウント値を加算（インクリメント）してパケット受信総数を得る。【選択図】図１
2009081816.tif 000002
【特許請求の範囲】
【請求項１】
通信網を介してパケットを受信する受信部と、前記受信部が受信したパケットを他の通信網へ送信する送信部と、を含むパケット中継装置であって、
前記受信部が前記パケットを受信する毎に当該パケットに含まれている通信網識別子を抽出取得する識別子取得部と、
前記識別子取得部が抽出取得した通信網識別子を複数のレジスタ番号の内のいずれか１つに対応付けて記憶するレジスタ管理テーブルと、
各々が固有のレジスタ番号を対応付けられている複数のレジスタからなる統計レジスタ部と、
前記識別子取得部が抽出取得した通信網識別子に対応付けられているレジスタ番号を前記レジスタ管理テーブルから取得して当該レジスタ番号を伴うカウント指示を発する管理部と、を含み、
前記統計レジスタ部は、前記レジスタ番号を伴うカウント指示を受け取る毎に当該レジスタ番号に対応するレジスタが表すカウント値を加算してパケット受信総数を得ることを特徴とするパケット中継装置。
【請求項２】
前記統計レジスタ部は、
前記レジスタを構成するビット列を少なくとも２つのビット列に群分けして各々が個別のカウント値を表す複数の群分けビット列を得るビット列群分け手段と、
前記群分けビット列の各々に対応するように固有のレジスタ番号を当該群分け対象の統計レジスタに対応付けるレジスタ番号追加割り当て手段と、を更に含み、
前記レジスタ番号を伴うカウント指示を受け取る毎に当該レジスタ番号に対応する群分けビット列が表すカウント値を加算して得られた値を前記パケット受信総数とすることを特徴とする請求項１に記載のパケット中継装置。
【請求項３】
前記統計レジスタ部は、設定指令に応じて前記ビット列群分け手段及びレジスタ番号追加割り当て手段の有効／無効を設定する拡張動作設定手段を更に含むことを特徴とする請求項２に記載のパケット中継装置。
【請求項４】
前記設定指令は、ポートのリンク状況及びパケット通信レートの少なくともいずれか１つに基づく指令であることを特徴とする請求項３に記載のパケット中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信ネットワーク上でパケットを中継するパケット中継装置に関する。
【背景技術】
【０００２】
近年、インターネット利用者の増加や通信速度の高速化に伴い、通信ネットワーク上に配置されるパケット中継装置が中継すべきパケット数が大幅に増加している。また、通信ネットワークを介してなされるウイルス等による攻撃から通信端末を防御するためのセキュリティ機能の強化が重要視されるようになっている。これに応じて、通信ネットワークから到来したパケットの種別を識別するなどのパケット監視が一般に行われているが、監視すべきパケットの種別及び数の大幅な増加に伴い、監視によって得られた統計データの種類及び数も増大している。具体的には、パケット種別毎にパケット数をカウントする統計カウンタの数量及び個々の統計カウンタのビット数を大きくする必要が生じている。
【０００３】
一般に、物理ＬＡＮ（Local Area Network）ポートには仮想的に分割された４０９６個のＶＬＡＮ（Virtual LAN）ポートが存在する。この場合、例えば物理ＬＡＮポートが１０ポートあるとすれば、ＶＬＡＮポートの数は４０９６×１０＝４０９６０ポートとなる。これらの全ポートに対して、例えば３２ビットの統計カウンタを具備した場合、４０９６０×３２＝１３１０７２０ものビット数が必要となる。
【０００４】
通信ネットワークの帯域管理や提供サービスの課金管理などに用いられる統計カウンタの他、障害調査のための冗長の統計カウンタを更に具備する場合もあるため、必要とされる統計カウンタの数量は増加傾向にある。また、通信速度の高速化による転送レートの上昇に伴い、単位時間当たりに計測すべきパケット数が増加するため、１つの統計カウンタに必要とされるビット数も増加している。このような事情から、近年ではハードウェアに要求されるレジスタビット数が増加すると共に消費電力も増加している。
【０００５】
例えば、特許文献１には、第１計数許可信号に応じて計数処理を行って得られた複数ビットの計数結果をアドレスの下位部分として出力すると共に桁上がり信号を出力する第１計数手段、当該桁上がり信号及び第２計数許可信号のいずれか一方に応じて計数処理を行って得られた１ビットの計数結果を上位アドレスとして出力すると共に桁上がり信号を出力する複数の第２計数手段、最終段の第２計数手段からの桁上がり信号に応じて計数処理を行って得られた複数ビットの計数結果をアドレスの上位部分として出力する第３計数手段、選択指示の入力に応じて複数の第２計数手段のいずれかを選択して当該選択された第２計数手段に第２計数許可信号を与える選択手段などを備えたアドレスカウンタが開示されている。当該カウンタによれば、選択指示により選択された第２計数手段に対応するアドレスのビットよりも上位の部分が下位部分とは独立に計数されるため、ビット数を可変とすることが可能であるとしている。
【０００６】
また、特許文献２には、各々が計数結果を出力すると共にキャリー信号を出力する複数の単位カウンタからなるカウンタ回路と、当該複数の単位カウンタの内の１つと対を成し、前段の単位カウンタからのキャリー信号及び電源レベルのいずれか一方を有効設定するスタートビット選択信号と当該単位カウンタの計数動作の許可／禁止を指定するカウントイネーブル信号を対となる単位カウンタに与える複数のレジスタからなるレジスタ回路と、カウンタ及びレジスタ回路の各々の入力端子に接続されるデータバスを備えた計数回路が開示されている。当該計数回路によれば、スタートビット選択信号及びカウントイネーブル信号の供給により、カウンタ回路を、各々が１つ以上の単位カウンタからなる任意ビット長の複数の独立カウンタに分割することができるため、ユーザの要求に柔軟に対応してハードウェア資源を効率的に活用できるとしている。
【特許文献１】特開平４−２２７５８２号公報
【特許文献２】特開平８−２３７１１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１及び２に開示される発明は、カウンタのビット数を可変とすることによりハードウェアリソースを有効活用しようとするものではあるものの、これらをパケットの監視に適用した場合には以下のような問題が生じる。すなわち、予め設定したカウンタのビット数が実際にパケット中継装置に到来するパケットの数量に適合していない場合、若しくはカウンタのビット設定後にパケットの到来数が大幅に変化した場合には、カウンタのオーバーフローが発生し、正確な統計情報を収集できなくなるという問題があった。また、カウンタに設定されるパケット種別が実際にパケット中継装置に到来するパケットの種別に適合していない場合、カウンタが全くカウントアップせず、その結果、ハードウェアリソースを無駄にしてしまうという問題があった。
【０００８】
このように特許文献１及び２に開示される発明の如きカウンタのビット数制御のみでは、パケット中継装置においてハードウェアリソースを有効活用しつつ到来するパケットの数量をその種別毎に正確にカウントすることができなかった。本発明は上記した如き問題点に鑑みてなされたものであって、ハードウェアリソースを有効活用しつつ到来するパケットの数量をその種別毎に正確にカウントできるパケット中継装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によるパケット中継装置は、通信網を介してパケットを受信する受信部と、前記受信部が受信したパケットを他の通信網へ送信する送信部と、を含むパケット中継装置であって、前記受信部が前記パケットを受信する毎に当該パケットに含まれている通信網識別子を抽出取得する識別子取得部と、前記識別子取得部が抽出取得した通信網識別子を複数のレジスタ番号の内のいずれか１つに対応付けて記憶するレジスタ管理テーブルと、各々が固有のレジスタ番号を対応付けられている複数のレジスタからなる統計レジスタ部と、前記識別子取得部が抽出取得した通信網識別子に対応付けられているレジスタ番号を前記レジスタ管理テーブルから取得して当該レジスタ番号を伴うカウント指示を発する管理部と、を含み、前記統計レジスタ部は、前記レジスタ番号を伴うカウント指示を受け取る毎に当該レジスタ番号に対応するレジスタが表すカウント値を加算してパケット受信総数を得ることを特徴とする。
【発明を実施するための最良の形態】
【００１０】
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
＜第１の実施例＞
図１は本発明によるパケット中継装置１を表すブロック図である。パケット中継装置１は、受信したパケットに含まれているヘッダ内のアドレス情報に基づいて転送先に向けて当該パケットを送信する機能を有する、例えばルータなどのパケット中継装置である。パケット中継装置１は、送受信部１００と、ＰＨＹ処理部２００と、Ｌ２処理部３００と、プロセッサ４００と、記憶部５００と、ＰＨＹ／ＭＡＣ処理部６００と、送受信部７００と、を含む。ここでは、送受信部１００はＬＡＮ（Local Area Network）に接続され、送受信部７００はＷＡＮ（Wide Area Network）に接続されているものとする。
【００１１】
送受信部１００は、ＬＡＮ側の物理ポートであり、図示せぬＬＡＮに接続されている。送受信部１００は、ＬＡＮから到来したパケットをＰＨＹ処理部２００に与える。
【００１２】
ＰＨＹ（Physical layer）処理部２００は、送受信部１００及びＬ２処理部３００からのパケットに対して、ＯＳＩ(Open Systems Interconnection)参照モデルの第１層に当たる物理層（Physical layer）における通常の処理（例えば、信号の電気的な変換など）を施す機能を有する。ＰＨＹ処理部２００は、送受信部１００から受信したパケットに当該処理を施して、これをＬ２処理部３００に与える。
【００１３】
Ｌ２(Layer2)処理部３００は、パケット受信数計数部３１０と、中継処理部３２０と、を含む。なお、パケット受信数計数部３１０の詳細については後述する。
【００１４】
中継処理部３２０は、ＰＨＹ処理部２００からのパケットに対して、ＯＳＩ参照モデルのデータリンク層(第２層：Layer2)の下位副層に当たるＭＡＣ（Media Access control：メディアアクセス制御）層における通常の処理を施す機能、当該パケットのヘッダに含まれている情報に基づいてＬＡＮ側ノード間の通信ルーティング処理をなす機能、及び、ＭＡＣアドレスの登録により接続を制御するＭＡＣフィルタリング処理をなす機能などを備えている。中継処理部３２０は、ＷＡＮ側へ中継すべきパケットをプロセッサ４００に与える。
【００１５】
プロセッサ４００は、記憶部５００から読み出した処理プログラムを実行することにより、中継処理部３２０及びＰＨＹ／ＭＡＣ処理部６００からのパケットに対して、例えばパケットフィルタリング処理、アドレス／ポート変換処理、ルーティング処理及びポートフォワーディング（転送）処理などの所定の処理を施す機能を有する。プロセッサ４００は、パケットにこれら所定の処理を施して、ＷＡＮ側へ中継すべきパケットをＰＨＹ／ＭＡＣ処理部６００に与え、ＬＡＮ側へ中継すべきパケットを中継処理部３２０に与える。
【００１６】
記憶部５００は、処理プログラムや各種の処理に必要なデータなどを記憶するメモリであり、例えばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などである。
【００１７】
ＰＨＹ／ＭＡＣ処理部６００は、プロセッサ４００及び送受信部７００からのパケットに対して、物理層及びＭＡＣ層における通常の処理を施す機能を有する。ＰＨＹ／ＭＡＣ処理部６００は、パケットにこれらの処理を施して、ＷＡＮ側へ中継すべきパケットを送受信部７００に与える。
【００１８】
送受信部７００は、ＷＡＮ側の物理ポートであり、図示せぬＷＡＮに接続されている。送受信部７００は、ＰＨＹ／ＭＡＣ処理部６００からのパケットをＷＡＮへ送信し、また、ＷＬＡＮから到来したパケットをＰＨＹ／ＭＡＣ処理部６００に与える。
【００１９】
以下、パケット受信数計数部３１０パケットについて説明する。パケット受信数計数部３１０は、通信網識別子取得部３１１と、管理部３１２と、レジスタ管理テーブル３１３と、統計レジスタ部３１４と、を含む。
【００２０】
通信網識別子取得部３１１は、送受信部１００がパケットを受信する毎に、すなわち、ＰＨＹ処理部２００からパケットを受け取る毎に、当該パケットに対してＩＥＥＥ８０２．１Ｑに規定されているＶＬＡＮタグヘッダ内のＶＬＡＮ番号（以下、ＶＩＤと称する）を抽出取得して、これを管理部３１２に与える。通常、ＬＡＮ側の物理ポートである送受信部１００には、仮想的に分割された４０９６個のＶＬＡＮポートが存在しており、これらのＶＬＡＮの各々には固有の通信網識別子、すなわち、ＶＩＤが対応付けられている。
【００２１】
管理部３１２は、通信網識別子取得部３１１からＶＩＤを受け取り、当該ＶＩＤがレジスタ管理テーブル３１３に既に登録されているか否かを判別し、未登録であれば当該ＶＩＤを複数のレジスタ番号の何れかに対応付けてレジスタ管理テーブル３１３に記憶せしめる。通常、管理部３１２は、レジスタ番号の順にＶＩＤを順次、登録していく。また、管理部３１２は、通信網識別子取得部３１１から受け取ったＶＩＤが既にレジスタ管理テーブル３１３に登録されていると判別したら、当該ＶＩＤに対応するレジスタ番号をレジスタ管理テーブル３１３から取得し、当該レジスタ番号を伴うカウント指示を統計レジスタ部３１４に与える。
【００２２】
レジスタ管理テーブル３１３は、管理部３１２から与えられたＶＩＤを複数のレジスタ番号の内のいずれか１つに対応付けて記憶自在な管理テーブルである。図２はレジスタ管理テーブルの一例を表す図である。同図中に示されるようにＶＩＤ０、ＶＩＤ１、・・・ＶＩＤ２０４７がレジスタ番号０、１、２、・・・、７ＦＦｈにそれぞれ対応付けられて記憶されている。レジスタ管理テーブル３１３は、レジスタ番号をアドレスとし、ＶＩＤをエントリーデータとするＣＡＭ（Content Addressable Memory。連想メモリや内容参照可能メモリとも称される。）によって構成されていても良い。この場合、管理部３１２は通信網識別子取得部３１１から受け取ったＶＩＤをレジスタ管理テーブル３１３に与えて検索する。当該ＶＩＤがレジスタ管理テーブル３１３に登録済みである場合には、管理部３１２は即時に当該ＶＩＤに対応するアドレス（レジスタ番号）の応答を受けることができる。
【００２３】
統計レジスタ部３１４は、レジスタ３１５−０〜３１５−２０４７を含み、これらの各々に固有のレジスタ番号を対応付けるレジスタ番号割り当て手段を有する。ここでは、統計レジスタ部３１４は、初期設定としてレジスタ３１５−０、３１５−１、・・・、３１５−２０４７に、レジスタ番号０、１、・・・、２０４７をそれぞれ対応付けているものとする。図３はレジスタ３１５−０の構成を表す図である。同図中に示されるようにレジスタ３１５−０はＢｉｔ０〜Ｂｉｔ３２の３２ビットのビット列により構成されている。レジスタ３１５−１〜３１５−２０４７の各々もレジスタ３１５−０と同様の構成である。統計レジスタ部３１４は、レジスタ３１５−０〜３１５−２０４７の各々を３２桁の２進カウンタとして使用する。
【００２４】
統計レジスタ部３１４は、管理部３１２からレジスタ番号を伴うカウント指示を受け取る毎に、レジスタ３１５−０〜３１５−２０４７の内、当該レジスタ番号に対応するレジスタが表すカウント値を１つ加算（以下、インクリメントと称する）する。例えば、通信網識別子取得部３１１が受信パケットから抽出取得したＶＩＤがＶＩＤ０であった場合、管理部３１２は、図２に示されるレジスタ管理テーブル３１３からＶＩＤ０に対応付けられているレジスタ番号０を取得し、レジスタ番号０を伴うカウント指示を統計レジスタ部３１４に与える。このとき、統計レジスタ部３１４は、レジスタ番号０に対応するレジスタ３１５−０が表すカウント値をインクリメントする。例えば、レジスタ３１５−０が表すカウント値が０であれば、統計レジスタ部３１４は、カウント指示に応じて、当該カウント値を１とする。この処理は送受信部１００がパケットを受信する毎になされるため、レジスタ３１５−０はＶＩＤ０をヘッダに含むパケットの受信総数をカウントすることになる。同様に、レジスタ３１５−１、３１５−２、・・・、３１５−２０４７はそれぞれ、ＶＩＤ１、ＶＩＤ２、・・・、ＶＩＤ２０４７をヘッダに含むパケットの受信総数をカウントする。
【００２５】
図４はパケット受信数計数処理ルーチンを表すフローチャートである。以下、送受信部１００における仮想的に分割されたＶＬＡＮポートの各々が受信したパケットの受信総数をパケット受信数計数部３１０がＶＩＤ毎に計数するパケット受信数計数処理について図４を参照しつつ説明する。
【００２６】
送受信部１００によって受信されたパケットは、ＰＨＹ処理部２００において物理層における通常の処理を施された後、Ｌ２処理部３００に与えられる。
【００２７】
通信網識別子取得部３１１は、ＰＨＹ処理部２００からのパケットに含まれているＶＬＡＮタグヘッダ内のＶＩＤを抽出取得し（ステップＳ１０１）、これを管理部３１２に与える。
【００２８】
管理部３１２は、通信網識別子取得部３１１からのＶＩＤがレジスタ管理テーブル３１３に既に登録されているか否かを判別する（Ｓ１０２）。管理部３１２は、当該ＶＩＤが未登録であると判別した場合に、これを複数のレジスタ番号の何れかに対応付けてレジスタ管理テーブル３１３に記憶せしめる（Ｓ１０３）。続いて、管理部３１２は、ＶＩＤに対応するレジスタ番号を伴うカウント指示を統計レジスタ部３１４に与える（Ｓ１０５）。例えば、管理部３１２は、ＶＩＤ３が未登録であると判別した場合、図２に示す如くこれをレジスタ番号３に対応付けて記憶せしめ、続いて、レジスタ番号３を伴うカウント指示を統計レジスタ部３１４に与える。
【００２９】
管理部３１２は、通信網識別子取得部３１１からのＶＩＤが既にレジスタ管理テーブル３１３に登録されていると判別した場合に、当該ＶＩＤに対応するレジスタ番号をレジスタ管理テーブル３１３から取得し（Ｓ１０４）、当該レジスタ番号を伴うカウント指示を統計レジスタ部３１４に与える（Ｓ１０５）。例えば、管理部３１２は、ＶＩＤ０が登録済であると判別した場合、図２に示す如くこれに対応付けられているレジスタ番号０を取得し、これを伴うカウント指示を統計レジスタ部３１４に与える。
【００３０】
統計レジスタ部３１４は、レジスタ番号を伴うカウント指示に応じて、レジスタ３１５−０〜３１５−２０４７の内、当該レジスタ番号に対応するレジスタが表すカウント値を１つインクリメントする（Ｓ１０６）。例えば、統計レジスタ部３１４は、レジスタ番号０を伴うカウント指示に応じて、レジスタ３１５−０が表すカウント値を１つインクリメントする。
【００３１】
管理部３１２は、図示せぬ制御部からのカウント終了の指示があれば（Ｓ１０７）、これに応じて、統計レジスタ部３１４をしてレジスタ３１５−０〜３１５−２０４７の各々のカウント値をパケット受信総数として出力せしめる（Ｓ１０８）。カウント終了の指示がなければ、ステップＳ１０１からの処理を反復し、ＶＩＤ毎のパケット受信総数のカウントを継続する。
【００３２】
上記した如く本実施例によるパケット中継装置によれば、受信したパケットに含まれているＶＬＡＮタグヘッダ内のＶＩＤを抽出取得し、当該ＶＩＤを複数のレジスタ番号の何れかに対応付けてレジスタ管理テーブルに記憶する。そのため、ユーザが予めカウント対象とすべきＶＩＤを指定することなく、受信パケットに含まれているＶＩＤに応じて、２０４８個のレジスタにＶＩＤを動的に割り振って、ＶＩＤ毎にカウントすることができる。従来装置の如くユーザが予めカウント対象のＶＩＤを各レジスタに割り振る装置の場合には、指定外のＶＩＤを含むパケットが到来した場合に、当該パケットについては全くカウントされないという問題が発生してしまう。一方、本実施例によるパケット中継装置によれば、各レジスタにＶＩＤを動的に割り振るため、このような問題は発生せず、ＶＩＤ毎に正確にパケット受信総数を計数可能であり、且つ、限られたハードウェアリソースである２０４８個のレジスタを有効に活用できる。
＜第２の実施例＞
第１の実施例と異なる部分について以下に詳述する。本実施例における統計レジスタ部３１４は、ビット列群分け手段と、レジスタ番号追加割り当て手段と、を更に含む。
【００３３】
統計レジスタ部３１４はビット列群分け手段により、レジスタ３１５−０〜３１５−２０４７の各々について、レジスタを構成するビット列を少なくとも２つのビット列に群分けして、各々が個別のカウント値を表す複数の群分けビット列を得る。
【００３４】
統計レジスタ部３１４はレジスタ番号追加割り当て手段により、当該群分けによって得られた群分けビット列の各々に対応するように、固有のレジスタ番号を当該群分け対象の統計レジスタに対応付ける。
【００３５】
統計レジスタ部３１４は、合計２０４８個のレジスタ３１５−０〜３１５−２０４７を含んでいる。レジスタ３１５−０〜３１５−２０４７の各々は互いに異なるＶＩＤを含むパケットの受信総数を計数するのに用いられるため、２０４８種類までのＶＩＤのパケットについては、レジスタのビット列を群分けすることなく全て計数することができる。２０４９種類目以上のＶＩＤのパケットの受信総数も計数可能とするため、統計レジスタ部３１４は上述のビット列群分け手段及びレジスタ番号追加割り当て手段を用いる。
【００３６】
図５はビット列群分け後のレジスタ３１５−０の構成を表す図である。もともとレジスタ３１５−０はＢｉｔ０〜Ｂｉｔ３２の３２ビットのビット列からなり、統計レジスタ部３１４により、初期設定でレジスタ番号０が割り当てられている。同図中においては、レジスタ３１５−０は、ビット列群分け手段により、Ｂｉｔ０〜Ｂｉｔ１５と、Ｂｉｔ１６〜Ｂｉｔ３１とに群分けされている。また、レジスタ番号追加割り当て手段により、Ｂｉｔ０〜Ｂｉｔ１５からなる群分けビット列にレジスタ番号０、Ｂｉｔ１６〜Ｂｉｔ３１からなる群分けビット列にレジスタ番号２０４８がそれぞれ対応付けられている。このように統計レジスタ部３１４は、１つのレジスタを構成するビット列を群分けすることにより、群分けビット列Ｂｉｔ０〜Ｂｉｔ１５と、群分けビット列Ｂｉｔ１６〜Ｂｉｔ３１と、をそれぞれ１６桁の２進カウンタとして使用する。
【００３７】
統計レジスタ部３１４は、管理部３１２からレジスタ番号を伴うカウント指示を受け取る毎に、当該レジスタ番号に対応する群分けビット列が表すカウント値を１つインクリメントする。例えば、統計レジスタ部３１４は、レジスタ番号０を伴うカウント指示を受け取った場合、レジスタ番号０に対応する群分けビット列Ｂｉｔ０〜Ｂｉｔ１５の２進カウンタが表すカウント値を１つインクリメントする。同様に、統計レジスタ部３１４は、レジスタ番号２０４８を伴うカウント指示を受け取った場合、レジスタ番号２０４８に対応する群分けビット列Ｂｉｔ１６〜Ｂｉｔ３１の２進カウンタが表すカウント値を１つインクリメントする。これにより、統計レジスタ部３１４は、１つのレジスタ３１５−０で、ＶＩＤ０を含むパケット及びＶＩＤ２０４８を含むパケットの各々の受信総数を得ることができる。
【００３８】
図６はビット列分割処理を含むパケット受信数計数処理ルーチンを表すフローチャートである。以下、ビット列分割処理を含むパケット受信数計数処理について図６を参照しつつ説明する。なお、統計レジスタ部３１４は、初期設定としてレジスタ３１５−０、３１５−１、・・・、３１５−２０４７に、レジスタ番号０、１、・・・、２０４７をそれぞれ対応付けているものとする。
【００３９】
ステップＳ２０１〜Ｓ２０５までの処理は、第１の実施例と同様である。送受信部１００が、２０４８番目以降のＶＩＤをＶＬＡＮタグヘッダに含むパケットを受信した場合も同様に、ＶＩＤはレジスタ番号に対応付けられてレジスタ管理テーブル３１３に記憶される。図７は、２０４８番目以降のＶＩＤも含めて記憶されているレジスタ管理テーブルの一例を表す図である。同図中に示されるようにＶＩＤ０、ＶＩＤ１、・・・ＶＩＤ２０４７がレジスタ番号０、１、２、・・・、７ＦＦｈにそれぞれ対応付けられていると共に、ＶＩＤ２０４８、ＶＩＤ２０４９、・・・ＶＩＤ４０９５がレジスタ番号８００ｈ、８０１ｈ、２、・・・、ＦＦＦｈにそれぞれ対応付けられて記憶されている。
【００４０】
統計レジスタ部３１４は、管理部３１２からレジスタ番号を伴うカウント指示を受け取ったら、当該レジスタ番号が割り当て済みのレジスタ番号であるか否かを判別する（Ｓ２０６）。統計レジスタ部３１４は、カウント指示のレジスタ番号が割り当て済みではないと判別した場合に、ビット列群分け手段及びレジスタ番号追加割り当て手段により、レジスタ３１５−０〜３１５−２０４７の内のいずれかのビット列を群分けし、群分けビット列の各々に個別のレジスタ番号を対応付ける（Ｓ２０７）。例えば、統計レジスタ部３１４は、レジスタ番号２０４８を伴うカウント指示を受け取ったら、レジスタ３１５−０を図５に示す如く群分けビット列Ｂｉｔ０〜Ｂｉｔ１５及びＢｉｔ１６〜Ｂｉｔ３１に群分けし、群分けビット列Ｂｉｔ０〜Ｂｉｔ１５にレジスタ番号０、群分けビット列Ｂｉｔ１６〜Ｂｉｔ３１にレジスタ番号２０４８を対応付ける。続いて、統計レジスタ部３１４は、群分けビット列Ｂｉｔ１６〜Ｂｉｔ３１が表すカウント値を１つインクリメントする（Ｓ２０８）。
【００４１】
統計レジスタ部３１４は、カウント指示のレジスタ番号が割り当て済みのレジスタ番号であると判別した場合、当該レジスタ番号に対応付けられているレジスタ又は群分けビット列が表すカウント値を１つインクリメントする（Ｓ２０８）。例えば、統計レジスタ部３１４は、レジスタ番号０を伴うカウント指示に応じて、群分けビット列Ｂｉｔ０〜Ｂｉｔ１５が表すカウント値を１つインクリメントし、レジスタ番号１を伴うカウント指示に応じて、レジスタ３１５−１が表すカウント値を１つインクリメントする。
【００４２】
管理部３１２は、図示せぬ制御部からのカウント終了の指示があるまで（Ｓ２０９）、ステップＳ２０１からの処理を反復し、ＶＩＤ毎のパケット受信総数のカウントを継続する。統計レジスタ部３１４は、レジスタ番号２０４９を伴うカウント指示を受け取った場合、上記したのと同様に、レジスタ３１５−１を群分けビット列Ｂｉｔ０〜Ｂｉｔ１５及びＢｉｔ１６〜Ｂｉｔ３１に群分けし、群分けビット列Ｂｉｔ０〜Ｂｉｔ１５にレジスタ番号１、群分けビット列Ｂｉｔ１６〜Ｂｉｔ３１にレジスタ番号２０４９を対応付けることができる。以下、同様に、統計レジスタ部３１４は、レジスタ３１５−２、レジスタ３１５−３、・・・、レジスタ３１５−２０４７に、レジスタ番号２及び２０５０、レジスタ番号３及び２０５１、・・・、レジスタ番号２０４７及び４０９５をそれぞれ対応付けることができる。
【００４３】
管理部３１２は、図示せぬ制御部からのカウント終了の指示があれば（Ｓ２０９）、これに応じて、統計レジスタ部３１４をしてレジスタ３１５−０〜３１５−２０４７又は群分けビット列の各々のカウント値をパケット受信総数として出力せしめる（Ｓ２１０）。
【００４４】
上記した如く本実施例によるパケット中継装置によれば、１つのレジスタを構成するビット列を２つのビット列に群分けし、当該群分けによって得られた複数の群分けビット列の各々を１つのカウンタとして使用することにより、２０４８個のレジスタ３１５−０〜３１５−２０４７を用いて４０９６種類のＶＩＤ毎に受信パケット総数を計数することができる。
【００４５】
なお、ユーザは統計レジスタ部３１４によるビット列群分け手段及びレジスタ番号追加割り当て手段を有効とするか無効とするかを状況に応じて設定できる。当該設定は、ユーザが有効／無効の設定指令を統計レジスタ部３１４に与えることによりなされる。無効設定とした場合、２０４９番目以降のＶＩＤを含むパケットについては受信総数が計数されず、２０４８番目までのＶＩＤを含むパケットについては各レジスタの全３２ビットにより受信総数が計数される。
【００４６】
本実施例は、２０４８個のレジスタの各々を２つのビット列に群分けして、４０９６種類のＶＩＤ毎に受信パケット総数を計数する例であるが、例えば、５１２個のレジスタの各々を４つのビット列に群分けして、４０９６種類のＶＩＤ毎に受信パケット総数を計数するなどの変形例が挙げられる。
＜第３の実施例＞
第２の実施例と異なる部分について以下に詳述する。図８はリンク状態監視部３１６を更に含むパケット受信数計数部３１０を表すブロック図である。
【００４７】
リンク状態監視部３１６は、ＰＨＹ処理部２００からポート毎の設定通信レートを含むリンク情報を取得する。通常のＬＡＮ通信においては、通信レートを通信相手の装置（図示せず）との間で互いに設定した上でパケットを通信する。ＬＡＮインターフェースによる通信においては、一般に１０００Ｍｂｐｓ、１００Ｍｂｐｓ及び１０Ｍｂｐｓの３種類の通信レートから１つを設定可能である。
【００４８】
ＰＨＹ処理部２００は、当該設定による設定通信レートを、リンク情報に含めてリンク状態監視部３１６に通知するか、若しくはリンク情報に含めて自身内部に保管している。リンク状態監視部３１６は、ＰＨＹ処理部２００から通知されるリンク情報を取得若しくはＰＨＹ処理部２００内部に保管されているリンク情報を定期的に取得する。リンク状態監視部３１６は、このようにしてインターフェースのリンク状態を監視しつつ、取得により得られたリンク情報を管理部３１２に与える。
【００４９】
本実施例における管理部３１２は、拡張動作設定テーブルを備えている。図９は拡張動作設定テーブルを表す図である。ここでの拡張動作とは統計レジスタ部３１４によるビット列群分け手段及びレジスタ番号追加割り当て手段による動作のことである。同図中の「ユーザ拡張動作設定」は、「拡張動作」の有効／無効の設定をユーザに許可するか否かを「有効」及び「無効」によって表している。同図中の「設定通信レート」は、通信レート１０００Ｍｂｐｓ、１００Ｍｂｐｓ、１０Ｍｂｐｓを表している。
【００５０】
同図中の「拡張動作」は、統計レジスタ部３１４によるビット列群分け手段及びレジスタ番号追加割り当て手段を「有効」とするか「無効」にするかを表している。当該有効／無効はユーザが予め設定できる。通常、通信レートが低い場合には、単位時間当たりの受信パケット数が少ないため、計測に必要なカウンタのビット数も少なくて済む。反対に、通信レートが高い場合には、単位時間当たりの受信パケット数が多いため、多くのビット数が必要になる。ユーザは状況に応じて、ビット数（計数可能なパケット数）を優先する場合には「拡張動作」を「無効」、計数可能なＶＩＤの種別数を優先する場合には「拡張動作設定」を「有効」に設定する。
【００５１】
ここでは、通信レートが高い通信レート１０００Ｍｂｐｓのときは無効、比較的通信レートが低い通信レート１００Ｍｂｐｓ及び１０Ｍｂｐｓのときは有効としている。なお、「設定通信レート」が１０００Ｍｂｐｓ、１００Ｍｂｐｓ、１０Ｍｂｐｓの「ユーザ拡張動作設定」は「有効」となっているため、ユーザは必要に応じて各通信レートの「拡張動作設定」を「有効」又は「無効」に再設定自在である。
【００５２】
管理部３１２は、リンク状態監視部３１６から取得したリンク情報に基づいて、リンク情報テーブルを更新する。図１０はリンク情報テーブルの一例を表す図である。管理部３１２は、リンク情報に含まれているポート毎の通信レートに基づいてリンク情報テーブルを更新する。同図中に示されるようにＶＩＤ毎に通信レートが対応付けられてリンク情報テーブルに記憶されている。なお、リンク情報テーブルには、通信レートの他に必要に応じて他のリンク関連の情報がＶＩＤ毎に対応付けることもできる。
【００５３】
管理部３１２は、レジスタ管理テーブル、拡張動作設定テーブル及びリンク情報テーブルの情報に基づいて、レジスタ番号毎の拡張動作の有効／無効設定を指示する設定指令を統計レジスタ部３１４に与える。例えば、管理部３１２は、レジスタ管理テーブル（図７）よりＶＩＤ０に対応付けられているレジスタ番号０を取得し、リンク情報テーブル（図１０）においてＶＩＤ０に対応付けられている通信レート１０００Ｍｂｐｓが、拡張動作設定テーブル（図９）において拡張動作「無効」とされていることから、レジスタ番号０のレジスタに対する拡張動作を無効設定すべき旨を示す設定指令を統計レジスタ部３１４に与える。管理部３１２は、他のレジスタ番号についても同様に設定指令を統計レジスタ部３１４に与える。通常、管理部３１２は、リンク状態監視部３１６からリンク情報を取得する毎に設定指令を統計レジスタ部３１４に与える。
【００５４】
本実施例における統計レジスタ部３１４は、管理部３１２からのレジスタ番号毎の拡張動作の有効／無効設定を指示する設定指令に応じて、拡張動作すなわちビット列群分け手段及びレジスタ番号追加割り当て手段の有効／無効をレジスタ毎に設定する拡張動作設定手段を更に含む。例えば、統計レジスタ部３１４は、管理部３１２からレジスタ番号０のレジスタに対する拡張動作を無効とすべき旨の設定指令を受けた場合、これに応じて、レジスタ３１５−０に対する拡張動作を無効に設定する。これにより、当該設定が有効である間、レジスタ３１５−０は３２ビットのカウンタとして動作する。統計レジスタ部３１４は、レジスタ３１５−１〜３１５−２０４７についても同様に拡張動作の有効／無効の設定処理を行う。
【００５５】
図１１は拡張動作有効／無効設定処理ルーチンを表すフローチャートである。以下に、図１１を参照しつつ拡張動作有効／無効設定処理について説明する。
【００５６】
リンク状態監視部３１６は、ＰＨＹ処理部２００からポート毎の設定通信レートを含むリンク情報を取得する（ステップＳ３０１）。管理部３１２は、リンク状態監視部３１６からリンク情報を取得し、これに基づいて、図９に示す如きリンク情報テーブルを更新する（Ｓ３０２）。管理部３１２は、レジスタ管理テーブル、拡張動作設定テーブル及びリンク情報テーブルの情報に基づいて、レジスタ番号毎の拡張動作の有効／無効設定を示す設定指令を統計レジスタ部３１４に与える（Ｓ３０３）。統計レジスタ部３１４は、管理部３１２からの設定指令に応じて、拡張動作をレジスタ毎に設定する。当該処理ルーチンは、定期的に実行され、ポート毎の設定通信レートに応じて、拡張動作が有効／無効を動的に設定される。
【００５７】
上記した如く本実施例によるパケット中継装置は、設定通信レートと拡張動作の有効／無効設定とを対応付けた拡張動作設定テーブルを備え、定期的にポート毎の設定通信レートを取得し、これに基づいてレジスタ毎の拡張動作の有効／無効を設定する。例えば、設定通信レートが比較的低い場合には拡張動作を有効設定し、反対に設定通信レートが比較的高い場合には拡張動作を無効設定にするといった動作が通信レートの設定状況に応じて動的になされる。これにより、設定通信レートが比較的低い場合には計数対象のＶＩＤ種別数を増加させることができ、反対に設定通信レートが比較的高い場合には計数可能な受信パケット数を増加させることができる。
【００５８】
第１〜第３の実施例においては、送受信部１００が１つの物理ＬＡＮポートである場合について説明したが、送受信部１００が複数の物理ＬＡＮポートを含んでいる場合にも同様の効果を奏することができる。図１２はコネクタ１１０−１〜ｎを含む送受信部１００、ＰＨＹ処理部２００及びＬ２処理部３００を表すブロック図である。コネクタ１１０−１〜ｎの各々はＬＡＮ側の物理ポートである。Ｌ２処理部３００は、コネクタ１１０−１〜ｎと同数のパケット受信数計数部３１０−１〜ｎを含む。パケット受信数計数部３１０−１、３１０−２、・・・、３１０−ｎがそれぞれ、コネクタ１１０−１、１１０−２、・・・、１１０−ｎが受信したパケットについてＶＩＤ種別毎にパケット受信総数をカウントすることにより、第１〜第３の実施例と同様の効果を奏することができる。
【図面の簡単な説明】
【００５９】
【図１】パケット中継装置を表すブロック図である。
【図２】レジスタ管理テーブルの一例を表す図である。
【図３】レジスタの構成を表す図である。
【図４】パケット受信数計数処理ルーチンを表すフローチャートである。
【図５】ビット列群分け後のレジスタの構成を表す図である。
【図６】ビット列分割処理を含むパケット受信数計数処理ルーチンを表すフローチャートである。
【図７】レジスタ管理テーブルの一例を表す図である。
【図８】リンク状態監視部を含むパケット受信数計数部を表すブロック図である。
【図９】拡張動作設定テーブルを表す図である。
【図１０】リンク情報テーブルの一例を表す図である。
【図１１】拡張動作有効／無効設定処理ルーチンを表すフローチャートである。
【図１２】複数のコネクタを含む送受信部、ＰＨＹ処理部及びＬ２処理部を表すブロック図である。
【符号の説明】
【００６０】
１  パケット中継装置
１００  送受信部
１１０−１〜１１０−ｎ  コネクタ
２００  ＰＨＹ処理部
３００  Ｌ２処理部
３１０、３１０−１〜３１０−ｎ  パケット受信数計数部
３１１  通信網識別子取得部
３１２  管理部
３１３  レジスタ管理テーブル
３１４  統計レジスタ部
３１５−０〜３１５−２０４７  レジスタ
３１６  通信レート情報取得部
４００  プロセッサ
５００  記憶部
６００  ＰＨＹ／ＭＡＣ処理部
７００  送受信部
７１０  コネクタ
【図１】
2009081816.tif 000003
【図２】
2009081816.tif 000004
【図３】
2009081816.tif 000005
【図４】
2009081816.tif 000006
【図５】
2009081816.tif 000007
【図６】
2009081816.tif 000008
【図７】
2009081816.tif 000009
【図８】
2009081816.tif 000010
【図９】
2009081816.tif 000011
【図１０】
2009081816.tif 000012
【図１１】
2009081816.tif 000013
【図１２】
2009081816.tif 000014