JP5141830B2 - 通信装置、統計情報収集制御装置および統計情報収集制御方法 - Google Patents
通信装置、統計情報収集制御装置および統計情報収集制御方法 Download PDFInfo
- Publication number
- JP5141830B2 JP5141830B2 JP2011545862A JP2011545862A JP5141830B2 JP 5141830 B2 JP5141830 B2 JP 5141830B2 JP 2011545862 A JP2011545862 A JP 2011545862A JP 2011545862 A JP2011545862 A JP 2011545862A JP 5141830 B2 JP5141830 B2 JP 5141830B2
- Authority
- JP
- Japan
- Prior art keywords
- statistical information
- frame
- transfer
- unit
- information
- 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.)
- Expired - Fee Related
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/06—Generation of reports
- H04L43/062—Generation of reports related to network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- 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/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- 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/12—Network monitoring probes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
本発明は、データ通信時の統計情報を収集する通信装置、統計情報収集制御装置および統計情報収集制御方法に関する。
パケット等のデータを転送するスイッチ等の通信装置のフォワーディング処理部では、例えば、これまでの各種プロトコルパケットの終端処理に加え、Link OAM(Operations,Administration,Maintenance)、Service OAM等、サービス単位でのOAM処理の機能を有するものがある。ここで、上記の通信装置では、一般的に統計情報の収集をソフトウェアで処理している。
また、処理の高速化を目的としてソフトが管理するメモリへの書き込みをハードウェアで判断し、DMA(Direct Memory Access:ダイレクトメモリアクセス)転送により書き込む技術が知られている(例えば、特許文献1参照)。
ここで、上記の通信装置が収集する統計情報は莫大な数に及ぶ。このため、通信装置は、ソフトウェア処理としては常時高負荷を強いられている。また、通信装置が有するインタフェースカード内部のCPU(Central Processing Unit)制御バス(例えばPCI(Peripheral Component Interconnect))の性能は、その限界に迫ってきているという問題点がある。
さらに、近年、通信装置のインタフェースカードが収容するポート数の増加およびサービスフロー数の増加の要求も高まっている。この要求は、通信装置が収集する統計情報の増大を意味しており、通信装置はMIB(Management Information Base)等の所定の時間内に更新される非常に膨大なパケット系統計情報を短時間の間に全て収集しなければならない。その結果、CPU制御バスは常時、統計情報収集処理によって高い割合で占有されることになる。これらにより、通信装置の処理の負担及び要求が増加し、処理性能に余裕が少ないことから、通信装置自身の新たな機能および統計情報収集に関する新たな機能の実装の障害となってきているという問題点がある。これにより、新規のアプリケーションを実現するためには、ソフト処理を削減することが急務の課題とされている。
また、上記の要求により、従来のCPU制御バスの転送性能の限界の下で、仮に統計情報の更新間隔を緩和できたとしても、ハードウェアが有する統計情報メモリは、統計情報の収集間隔の間、収集した統計情報を保持しなければならない。この場合、各統計情報のビット増加数が数ビットであったとしても、その統計情報数が、莫大な数(例えば数千個以上)となると、トータルとしての統計情報メモリの増加量は無視できないものとなるという問題点がある。
本件はこのような点に鑑みてなされたものであり、統計情報の収集における負荷を軽減する通信装置、統計情報収集制御装置および統計情報収集制御方法を提供することを目的とする。
上記課題を解決するために、開示の通信装置、統計情報収集制御装置および統計情報収集制御方法が提供される。開示の通信装置、統計情報収集制御装置および統計情報収集制御方法では、取得部は、受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の統計情報に管理情報を付加した転送統計情報を生成する。制御部は、取得部により生成された転送統計情報をダイレクトメモリアクセスにより転送する。記憶部は、制御部から転送された転送統計情報を記憶する。
開示の通信装置、統計情報収集制御装置および統計情報収集制御方法によれば、通信装置においてユーザデータの統計情報の収集における負荷を軽減することが可能になる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
以下、実施の形態について、図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態を示す図である。図1に示す通信装置1は、取得部1a、制御部1b、記憶部1cを有する。
[第1の実施の形態]
図1は、第1の実施の形態を示す図である。図1に示す通信装置1は、取得部1a、制御部1b、記憶部1cを有する。
取得部1aは、通信装置1が受信したユーザデータ2に基づいて通信に関する複数の統計情報(例えば、統計情報3a,3b,3c)を取得し、取得した統計情報3a,3b,3cに、各統計情報に対応する管理情報(例えば、管理情報4a,4b,4c)を付加した転送統計情報5を生成する。これにより、通信装置1が受信したユーザデータ2について取得された統計情報3a,3b,3cを一度に転送することができ、処理の負担が軽減される。また、転送統計情報5が有する管理情報4a,4b,4cにより、統計情報3a,3b,3cを転送時等に管理することができる。
制御部1bは、取得部1aにより生成された転送統計情報5をダイレクトメモリアクセスにより記憶部1cに転送する。これにより、転送統計情報5が有する統計情報3a,3b,3cをハードウェア処理で記憶部1cに記憶させることができる。
記憶部1cは、制御部1bから転送された転送統計情報5を記憶する。
これによって、通信装置による統計情報の収集において、ソフト処理の削減、CPU制御バスの占有率の削減、統計情報を格納するメモリ容量の削減を図ることができる。
これによって、通信装置による統計情報の収集において、ソフト処理の削減、CPU制御バスの占有率の削減、統計情報を格納するメモリ容量の削減を図ることができる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。
なお、以下の実施の形態では通信装置をスイッチとして、特にMACアドレス(Media Access Control address)に基づいてデータリンク層のフレームを中継するレイヤ(layer)2スイッチを例示しして説明する。なお、これに制限されず、本実施形態は、通信装置として、例えば、ATM(Asynchronous Transfer Mode)スイッチ、フレームリレー、IP(Internet Protocol)アドレスに基づいてネットワーク層のパケットを中継するIPルータやレイヤ3スイッチにも適用することができる。また、OSI(Open Systems Interconnection)参照モデルにおけるレイヤ2のデータの単位を、パケットと呼ぶこともあるが、以下の実施の形態では、説明の便宜上、すべてフレームに統一して表現する。
次に、第2の実施の形態について説明する。
なお、以下の実施の形態では通信装置をスイッチとして、特にMACアドレス(Media Access Control address)に基づいてデータリンク層のフレームを中継するレイヤ(layer)2スイッチを例示しして説明する。なお、これに制限されず、本実施形態は、通信装置として、例えば、ATM(Asynchronous Transfer Mode)スイッチ、フレームリレー、IP(Internet Protocol)アドレスに基づいてネットワーク層のパケットを中継するIPルータやレイヤ3スイッチにも適用することができる。また、OSI(Open Systems Interconnection)参照モデルにおけるレイヤ2のデータの単位を、パケットと呼ぶこともあるが、以下の実施の形態では、説明の便宜上、すべてフレームに統一して表現する。
図2は、第2の実施の形態の通信システムの全体構成を示す図である。本実施の形態の通信システムは、端末装置間でデータの送受信を行えるように、複数のレイヤ2スイッチがデータリンク層のパケットを中継するものである。
図2に示す通信システムは、スイッチ100,100a,100b,100c,100dと端末装置40,61,62,63,64,65,66とで構成される。スイッチ100,100a,100b,100c,100dは、レイヤ2スイッチである。端末装置61,62,63,64,65,66は、ユーザが使用する端末装置である。端末装置40は、スイッチ100の管理者が使用する端末装置である。スイッチ100a,100b,100c,100dは、スイッチ100と同様に構成されており、同等の機能を有する。
スイッチ100は、スイッチ100a,100bと接続されている。スイッチ100bは、スイッチ100c,100dと接続されている。端末装置61,62は、スイッチ100aと接続されている。端末装置63,64は、スイッチ100cと接続されている。端末装置65,66は、スイッチ100dと接続されている。端末装置40は、スイッチ100と接続されている。2つのスイッチ間またはスイッチと端末装置の間は、1つ以上の物理リンク(ネットワークケーブル)で接続されている。
スイッチ100,100a,100b,100c,100dは、パケットに含まれるアドレスに従って、送信元の端末装置から宛て先の端末装置まで、パケットを中継する。例えば、端末装置61が端末装置63へパケットを送信する場合、スイッチ100a、スイッチ100、スイッチ100b、スイッチ100cの順にパケットが中継される。
図3は、第2の実施の形態のスイッチのハードウェア構成を示す図である。図3は、スイッチ100の内部構成を示したものであるが、スイッチ100a,100b,100c,100dも同様の構成で実現できる。スイッチ100は、CPU101、インタフェースカード102a,102b,102c,102d、スイッチカード103、テーブル記憶メモリ104、ポート監視部105、バス106を有している。
CPU101は、スイッチ100全体を制御している。CPU101は、プログラムによる処理を実行する。CPU101は、図示しないメモリに保持されたデータを用いて、同じくメモリに保持されたプログラムを実行する。CPU101は、図示しない通信インタフェースを介して、管理者が使用する端末装置40から送信されるコマンドを受信するとともに、コマンドに対する実行結果を端末装置40に応答する。
テーブル記憶メモリ104は、複数のテーブルを記憶している。テーブル記憶メモリ104に記憶されるテーブルには、リンクの構成を管理するテーブル、フレームの転送先を決定するためのテーブル、フレームの転送先を示す情報を格納するテーブルが含まれる。
バス106には、CPU101、インタフェースカード102a,102b,102c,102d、スイッチカード103、テーブル記憶メモリ104、ポート監視部105が接続されている。
インタフェースカード102a,102b,102c,102dは、それぞれ複数個(例えば、8個)の通信ポートを有している。それぞれの通信ポートには、1つの物理リンクを接続できる。インタフェースカード102a,102b,102c,102dは、それぞれの通信ポートを監視してフレームを取得する。なお、インタフェースカード102a,102b,102c,102dは、複数の通信ポートに同時にフレームが到来した場合に備えて、フレームを一時的に保持するバッファを内部に有している。そして、インタフェースカード102a,102b,102c,102dは、取得したフレームをスイッチカード103に送る。
スイッチカード103は、フレームの宛先を示すテーブルを有している。スイッチカード103は、テーブルに、受信したフレームの送信元アドレスと、そのフレームが到来した通信ポートまたは論理リンクの識別情報とを対応付けて記憶している。
そして、スイッチカード103は、インタフェースカード102a,102b,102c,102dのいずれかからフレームを受け取ると、テーブルを参照して、そのフレームの転送先を決定する。ここで、決定した転送先が論理リンクである場合、スイッチカード103は、テーブル記憶メモリ104に記憶されたテーブルを参照して、転送に使用する具体的なインタフェースカード102a,102b,102c,102dおよび通信ポートを決定する。その後、スイッチカード103は、フレームを、決定したインタフェースカード102a,102b,102c,102dに送る。
フレームを受け取ったインタフェースカード102a,102b,102c,102dは、受け取ったフレームを、決定された通信ポートから送信先に送出する。
ポート監視部105は、インタフェースカード102a,102b,102c,102dの通信ポートを監視する。そして、ポート監視部105は、インタフェースカード102a,102b,102c,102dの通信ポートに接続された物理リンクの故障や復旧を検出すると、CPU101にその旨を通知する。
ポート監視部105は、インタフェースカード102a,102b,102c,102dの通信ポートを監視する。そして、ポート監視部105は、インタフェースカード102a,102b,102c,102dの通信ポートに接続された物理リンクの故障や復旧を検出すると、CPU101にその旨を通知する。
図4は、第2の実施の形態のインタフェースカードの構成を示す図である。図4は、本実施の形態のスイッチ100が有するインタフェースカード102aの内部構成を示す。なお、図4ではインタフェースカード102aを示しているが、他のインタフェースカード102b,102c,102dもインタフェースカード102aと同様の構成を有する。
本実施の形態のインタフェースカード102aは、制御部110、物理部120、フレーム処理部130、キュー制御部140、合成部150、記憶部160を有する。また、インタフェースカード102aは、CPU101およびスイッチカード103と接続されている。
制御部110は、インタフェースカード102aの各部を制御する。物理部120は、インタフェースカード102aが有する各ポートの物理レイヤの終端を行う。この物理ポートでは、スイッチ100が接続されているネットワークを用いて統計多重化により転送されるユーザデータがフレームとして入出力される。
フレーム処理部130は、インタフェースカード102aが有する各受信ポートのMAC処理およびフォワーディングの判定を行う。キュー制御部140は、トラフィック流量を制御する。このとき、各フレームについてポリシング(Policing)またはシェーピング(Shaping)が行われる。
合成部150は、フレーム処理部130およびキュー制御部140によって収集された統計情報で、記憶部160に記憶されている統計情報を更新する。記憶部160は、統計情報を記憶する記憶装置であり、RAM(Random Access Memory)およびフラッシュメモリ(flash memory)を有する。
本実施の形態のインタフェースカード102aに入力および出力されるフレームは、物理部120、フレーム処理部130、キュー制御部140を、wire-rateにて通過して処理されることになる。このとき、フレーム処理部130では、ポート毎のMAC関連の統計情報およびVLAN(Virtual Local Area Network)/MPLS(Multi-Protocol Label Switching)等のサービスフロー単位の統計情報が収集される。キュー制御部140では、ポリシングフロー毎の統計、およびシェーピングフロー毎の統計情報が収集される。そして、入出力フレームがこれらを通過する度に、統計情報が取得され、更新される。インタフェースカード102a等の各インタフェースカードで収集された統計情報は、CPU101に渡され、スイッチ100の統計情報として収集および管理される。
図5は、第2の実施の形態のインタフェースカードの機能を示すブロック図である。本実施の形態では、ハードウェア制御により、フレームがスイッチ100が有するインタフェースカード102aに入力されたことに基づいて、フレームから統計情報が収集される。次に、収集された統計情報を有する転送統計情報フレームがコピーされて記憶部160に転送される。この転送された転送統計情報フレームが有する統計情報に基づいて、ソフトウェア制御により、記憶部160の統計情報が更新される。
本実施の形態のインタフェースカード102aは、図4において前述したように、物理部120、フレーム処理部130、キュー制御部140、合成部150、記憶部160を有する。また、フレーム処理部130は、収集部131a,131b、コピー部132bを有する。キュー制御部140は、収集部141a,141b、コピー部142aを有する。合成部150は、調停部153、LIFO(Last-In-First-Out:後入れ先出し)メモリ154a,154b、転送状態情報記憶部155を有する。
収集部131a,131b,141a,141bは、スイッチ100が受信し、インタフェースカード102aに入力された、ユーザデータを転送するフレームに基づいて通信に関する複数の統計情報を取得し、取得した複数の統計情報に、各統計情報に対応する管理IDを付加した転送統計情報フレームを生成する。これにより、スイッチ100が受信したフレームについて取得された複数の統計情報を記憶部160に対して一度に転送することができ、処理の負担が軽減される。
収集部131aは、フレーム処理部130において、インタフェースカード102aに接続されている通信回線によって物理部120に入力されたフレームから統計情報を取得する。収集部131aでは、統計情報を収集する。収集部131bは、フレーム処理部130において、スイッチカード103により転送されたフレームから統計情報を取得する。
収集部141aは、キュー制御部140において、インタフェースカード102aに接続されている通信回線によって物理部120に入力されたフレームから統計情報を取得する。収集部141bは、キュー制御部140において、スイッチカード103により転送されたフレームから統計情報を取得する。
ここで、収集部131a,131bは、ポート毎のMAC関連の統計情報およびVLAN/MPLS等のサービスフロー単位の統計情報が収集される。また、収集部141a,141bでは、ポリシングフロー毎の統計、およびシェーピングフロー毎の統計情報が収集される。
コピー部142aでは、通信回線からインタフェースカード102aに入力されたフレームに基づいて収集部131a,141aで取得された統計情報に管理IDを付加し、さらに一つに纏めて転送統計情報フレームを生成する。この転送統計情報フレームは、一つのフレーム内に複数の統計情報を有している。また、転送統計情報フレームは、有している統計情報に対応付けられると共に、対応付けられた統計情報を管理する管理IDを有する。この管理IDにより、転送統計情報フレームに含まれている統計情報が、カウンタで更新された各統計情報と対応するか、さらに、記憶部160に記憶されているいずれの統計情報の更新に対応するかが示される。
コピー部132bでは、スイッチカード103から入力されたフレームに基づいて収集部131b,141bで取得された統計情報に管理IDを付加して纏め、転送統計情報フレームを生成する。これにより、転送統計情報フレームは、コピー部132b,142aで、インタフェースカード102aに入力されるフレームと同じ速度で生成される。このとき、コピー部132b,142aでは、フレームのペイロード部を削除した転送統計情報を生成する。これにより、LIFOメモリ154a,154bの容量を削減することができる。収集部131a,131b,141a,141b、コピー部132b,142aは、取得部として機能する。
合成部150が有する調停部153は、収集部131a,131b,141a,141bにより生成された転送統計情報フレームをダイレクトメモリアクセスにより記憶部160に転送する。これにより、転送統計情報フレームが有する統計情報をハードウェア処理で記憶部160に記憶させることができる。合成部150は、制御部として機能する。
調停部153は、管理情報に対応する転送統計情報に関するユーザデータが受信された場合、転送統計情報の転送により管理情報に対応する転送統計情報の転送が完了していないことを示す転送状態フラグを転送状態情報記憶部155に記憶させる一方、LIFOメモリ154a,154bに記憶されている転送統計情報の記憶部160に対する転送が完了した場合、転送状態情報記憶部155に、管理情報に対応する転送統計情報の転送が完了したことを示す転送状態フラグを記憶させる。転送状態フラグは、転送状態情報として機能する。
LIFOメモリ154a,154bは、後入れ先出しで転送統計情報の読み書きが行われる。調停部153は、生成された転送統計情報フレームをLIFOメモリ154a,154bに一旦記憶させ、転送統計情報フレームをLIFOメモリ154a,154bから読み出して転送する。これにより転送統計情報フレームの転送のタイミングを調整する。インタフェースカード102aに入力されるフレームと同じ速度で生成される転送統計情報フレームは、LIFOメモリ154a,154bに蓄えられる。これにより、ソフト管理される記憶部160にダイレクトメモリアクセスで転送される速度を調整することができる。このLIFOメモリ154a,154bへの書き込みの速度は、最大で、インタフェースカード102aが収容する物理回線の合計帯域(例えば、インタフェースカード102aが1Gbps×20ポートを収容していれば、20Gbps)となる。
LIFOメモリ154aは、通信回線からインタフェースカード102aに入力される方向のフレームの転送統計情報フレームを記憶する。LIFOメモリ154bは、スイッチカード103からインタフェースカード102aに入力される方向のフレームの転送統計情報フレームを記憶する。記憶部160への転送統計情報フレームの転送に際しては、調停部153は、LIFOメモリ154a,154bのいずれから転送統計情報フレームを読み出すかについて、内部信号であるフロー制御信号により通知する。
本実施の形態では、このLIFOメモリ154a,154bへの書き込み速度に比較して、LIFOメモリ154a,154bからの読み出し速度が低速である。このためLIFOメモリ154a,154bでは、転送統計情報フレームの廃棄が発生する。ここで、統計情報の最新情報を更新するという観点から、ある同一の管理IDの統計情報を有する転送統計情報フレームについては、古いものより新しいものが有する統計情報の方が重要である。このため、本実施の形態では、LIFOメモリ154a,154bを用いる。なお、これに限らず、FIFO(先入れ先出し)のキャッシュメモリを用いてもよい。
また、LIFOメモリ154a,154bからの転送統計情報フレームの読み出しでは、統計情報のソフトウェア制御とのCPUバスの占有配分が適切になるように調停部153が調停を行う。
また、LIFOメモリ154a,154bは、記憶するすべての統計情報に対して、それぞれ最低一つの情報を格納できる容量を準備する必要がある。
転送状態情報記憶部155は、管理情報に対応する転送統計情報の転送が完了したか否かを示す転送状態フラグを記憶する。これにより、調停部153は、記憶部160に対する転送統計情報フレームの転送が完了したか否かを判断することができる。
転送状態情報記憶部155は、管理情報に対応する転送統計情報の転送が完了したか否かを示す転送状態フラグを記憶する。これにより、調停部153は、記憶部160に対する転送統計情報フレームの転送が完了したか否かを判断することができる。
記憶部160は、合成部150から転送された転送統計情報フレームに基づいて、各統計情報を管理情報に従って記憶する。
本実施の形態でインタフェースカード102aに入力されたフレームから取得され、記憶部160に記憶される統計情報は、ユニキャスト送信を行うフレームの送受信数、マルチキャスト送信を行うフレームの送受信数、ブロードキャスト送信を行うフレームの送受信数、バッファの状態を通知するPAUSEフレームの送受信数、フレームの送受信バイト数、所定長のフレームの送受信数、正常なフレームの送受信数、送受信された廃棄フレーム数である。また、これらの統計情報は、ポート毎に集計することもでき、サービス毎に集計することもでき、さらにフロー単位に集計することもできる。なお、上記の統計情報は一例であり、これらの一部の統計情報のみを取得してもよく、一方、これら以外の統計情報を取得してもよい。
本実施の形態でインタフェースカード102aに入力されたフレームから取得され、記憶部160に記憶される統計情報は、ユニキャスト送信を行うフレームの送受信数、マルチキャスト送信を行うフレームの送受信数、ブロードキャスト送信を行うフレームの送受信数、バッファの状態を通知するPAUSEフレームの送受信数、フレームの送受信バイト数、所定長のフレームの送受信数、正常なフレームの送受信数、送受信された廃棄フレーム数である。また、これらの統計情報は、ポート毎に集計することもでき、サービス毎に集計することもでき、さらにフロー単位に集計することもできる。なお、上記の統計情報は一例であり、これらの一部の統計情報のみを取得してもよく、一方、これら以外の統計情報を取得してもよい。
本実施の形態では、インタフェースカード102aにフレームが入力されることをトリガとして情報が更新される。本実施の形態において統計情報の収集対象のフレームがスイッチ100内を通過するタイミングで、ダイレクトメモリアクセスで更新が必要な統計情報についてハードウェア制御で更新することにより、ソフトウェアはハードが常に最新情報に更新しているソフト管理配下の統計情報を、自由なタイミングで読み出すことが可能になる。これにより、統計情報を一時的に記憶するメモリのメモリ溢れの可能性が低下するので、短い時間間隔での読み出し処理の実行が不要または必要性が低減する。
また、これにより、ソフトウェア制御によるCPUバスの占有率を削減することができ、スイッチ100のソフトウェア制御による負荷を軽減することを可能にする。また、メモリ溢れの可能性が低下するので、LIFOメモリ154a,154bの容量を削減することが可能となる。
さらに、本実施の形態のインタフェースカード102aに通信回線から入力されたフレームは、スイッチカード103に転送される。また、インタフェースカード102aにスイッチカード103から入力されたフレームは、通信回線に出力される。
通信回線からインタフェースカード102aに入力されたフレームに基づく統計情報フレームの場合、収集部131a,141aで統計情報が収集され、さらに下流に位置するコピー部142aで生成される。同様に、スイッチカード103から入力されたフレームに基づく統計情報フレームの場合、収集部141b,131bで統計情報が収集され、さらに下流に位置するコピー部132bで生成される。
次に、コピー部132b,142aで生成された転送統計情報フレームは、合成部150が有する調停部153によりCPU制御バスを経由して記憶部160に転送される。このとき、一つのフレームの入力に対して、複数の統計情報の更新が生じている可能性がある。このように一つのフレームの入力に対して複数の統計情報の更新が生じている場合には、転送統計情報フレームは、複数の統計情報およびそれぞれの統計情報に対応する管理IDを有する。なお、一つのフレームの入力に対して一つの統計情報の更新が生じている場合には、転送統計情報フレームは、一つの統計情報および一つの管理IDを有するものとする。
また、LIFOメモリ154a,154bを合成部150内部に設けることで、これらの間の信号制御を合成部150の内部に集約することができる。
図6および図7は、第2の実施の形態の受信フレームのカウンタを示す図である。本実施の形態では、通信回線からインタフェースカード102aに入力されたフレームのIngress処理で受信したフレームについて、ポート毎、およびサービスフロー毎に収集される統計情報を、フレーム処理部130およびキュー制御部140が有する以下のカウンタに格納している。本実施の形態のスイッチ100は、受信したフレームのポート毎の統計情報を取得するために、図6に示す正常フレーム受信カウンタ172a、ユニキャストフレーム受信カウンタ172b、マルチキャストフレーム受信カウンタ172c、ブロードキャストフレーム受信カウンタ172d、PAUSEフレーム受信カウンタ172e、受信バイト数カウンタ172f、廃棄フレーム受信数カウンタ172g、所定サイズフレーム受信数カウンタ172hを有する。
図6および図7は、第2の実施の形態の受信フレームのカウンタを示す図である。本実施の形態では、通信回線からインタフェースカード102aに入力されたフレームのIngress処理で受信したフレームについて、ポート毎、およびサービスフロー毎に収集される統計情報を、フレーム処理部130およびキュー制御部140が有する以下のカウンタに格納している。本実施の形態のスイッチ100は、受信したフレームのポート毎の統計情報を取得するために、図6に示す正常フレーム受信カウンタ172a、ユニキャストフレーム受信カウンタ172b、マルチキャストフレーム受信カウンタ172c、ブロードキャストフレーム受信カウンタ172d、PAUSEフレーム受信カウンタ172e、受信バイト数カウンタ172f、廃棄フレーム受信数カウンタ172g、所定サイズフレーム受信数カウンタ172hを有する。
正常フレーム受信カウンタ172aは、正常なMACフレームの受信数をポート毎にカウントする。ユニキャストフレーム受信カウンタ172bは、正常なMACフレームであって、かつ、宛先MACアドレスがユニキャストであるフレームの受信数をポート毎にカウントする。マルチキャストフレーム受信カウンタ172cは、正常なMACフレームであって、かつ、宛先MACアドレスがマルチキャストであるフレームの受信数をポート毎にカウントする。ブロードキャストフレーム受信カウンタ172dは、正常なMACフレームであって、かつ、宛先MACアドレスがブロードキャストであるフレームの受信数をポート毎にカウントする。PAUSEフレーム受信カウンタ172eは、正常なMACフレームであって、かつ、スイッチのバッファがフレームの転送処理に必要なバッファを確保できない状態にあることを通知してネットワークのフレームの転送を制御するPAUSEフレームの受信数をポート毎にカウントする。受信バイト数カウンタ172fは、正常なMACフレームを受信した場合の受信したフレームのバイト数をポート毎にカウントする。廃棄フレーム受信数カウンタ172gは、受信したフレームについてMACエラーやFCS(Frame Check Sequence)エラー等の異常があることにより廃棄されたMACフレームの数をポート毎にカウントする。所定サイズフレーム受信数カウンタ172hは、正常なMACフレームであって、かつ、所定の範囲の長さ(例えば、NバイトからMバイトまでのバイト長のフレーム等)のフレームの受信数をポート毎にカウントする。
これらの正常フレーム受信カウンタ172a、ユニキャストフレーム受信カウンタ172b、マルチキャストフレーム受信カウンタ172c、ブロードキャストフレーム受信カウンタ172d、PAUSEフレーム受信カウンタ172e、受信バイト数カウンタ172f、廃棄フレーム受信数カウンタ172g、所定サイズフレーム受信数カウンタ172hは、フレーム処理部130やキュー制御部140において、受信されたフレームをポート毎に識別するフレーム識別処理が行われ、該当するフレームが検出された場合に、ポート毎に、1が加算され、または検出されたフレームのポート毎のバイト数が加算される。
また、スイッチ100は、受信したフレームのサービスフロー毎の統計情報を取得するために、図7に示すサービス単位正常フレーム受信カウンタ174a、サービス単位受信バイト数カウンタ174b、サービス単位廃棄フレーム受信数カウンタ174cを有する。
サービス単位正常フレーム受信カウンタ174aは、正常なMACフレームを受信した場合の受信したフレームのバイト数をサービス毎にカウントする。サービス単位受信バイト数カウンタ174bは、正常なMACフレームを受信した場合の受信したフレームのバイト数をサービス毎にカウントする。サービス単位廃棄フレーム受信数カウンタ174cは、受信したフレームについてMACエラーやFCSエラー等の異常があることにより廃棄されたMACフレームの数をサービス毎にカウントする。
これらのサービス単位正常フレーム受信カウンタ174a、サービス単位受信バイト数カウンタ174b、サービス単位廃棄フレーム受信数カウンタ174cは、フレーム処理部130やキュー制御部140において、受信したフレームをサービス毎に識別するサービスタイプ識別処理が行われ、該当するフレームが検出された場合に、サービス毎に、1が加算され、または検出されたフレームのポート毎のバイト数が加算される。
図8および図9は、第2の実施の形態の送信フレームのカウンタを示す図である。本実施の形態では、Egress処理でスイッチカード103から入力された、スイッチ100から送信するフレームについて、図6および図7において前述した受信したフレームのカウンタと同様、ポート毎、およびサービスフロー毎に収集される統計情報を、フレーム処理部130およびキュー制御部140が有する以下のカウンタに格納している。本実施の形態のスイッチ100は、送信するフレームのポート毎の統計情報を取得するために、図8に示す正常フレーム送信カウンタ182a、ユニキャストフレーム送信カウンタ182b、マルチキャストフレーム送信カウンタ182c、ブロードキャストフレーム送信カウンタ182d、PAUSEフレーム送信カウンタ182e、送信バイト数カウンタ182f、廃棄フレーム送信数カウンタ182g、所定サイズフレーム送信数カウンタ182hを有する。
正常フレーム送信カウンタ182aは、正常なMACフレームの送信数をポート毎にカウントする。ユニキャストフレーム送信カウンタ182bは、正常なMACフレームであって、かつ、宛先MACアドレスがユニキャストであるフレームの送信数をポート毎にカウントする。マルチキャストフレーム送信カウンタ182cは、正常なMACフレームであって、かつ、宛先MACアドレスがマルチキャストであるフレームの送信数をポート毎にカウントする。ブロードキャストフレーム送信カウンタ182dは、正常なMACフレームであって、かつ、宛先MACアドレスがブロードキャストであるフレームの送信数をポート毎にカウントする。PAUSEフレーム送信カウンタ182eは、正常なMACフレームであって、かつ、スイッチのバッファがフレームの転送処理に必要なバッファを確保できない状態にあることを通知してネットワークのフレームの転送を制御するPAUSEフレームの送信数をポート毎にカウントする。送信バイト数カウンタ182fは、正常なMACフレームを送信する場合の送信するフレームのバイト数をポート毎にカウントする。廃棄フレーム送信数カウンタ182gは、送信するフレームについてMACエラーやFCSエラー等の異常があることにより廃棄されたMACフレームの数をポート毎にカウントする。所定サイズフレーム送信数カウンタ182hは、正常なMACフレームであって、かつ、所定の範囲の長さ(例えば、NバイトからMバイトまでのバイト長のフレーム等)のフレームの送信数をポート毎にカウントする。
これらの正常フレーム送信カウンタ182a、ユニキャストフレーム送信カウンタ182b、マルチキャストフレーム送信カウンタ182c、ブロードキャストフレーム送信カウンタ182d、PAUSEフレーム送信カウンタ182e、送信バイト数カウンタ182f、廃棄フレーム送信数カウンタ182g、所定サイズフレーム送信数カウンタ182hは、フレーム処理部130やキュー制御部140において、送信されたフレームをポート毎に識別するフレーム識別処理が行われ、該当するフレームが検出された場合に、ポート毎に、1が加算され、または検出されたフレームのポート毎のバイト数が加算される。
また、スイッチ100は、送信するフレームのサービスフロー毎の統計情報を取得するために、図9に示すサービス単位正常フレーム送信カウンタ184a、サービス単位送信バイト数カウンタ184b、サービス単位廃棄フレーム送信数カウンタ184cを有する。
サービス単位正常フレーム送信カウンタ184aは、正常なMACフレームを送信する場合の送信するフレームのバイト数をサービス毎にカウントする。サービス単位送信バイト数カウンタ184bは、正常なMACフレームを送信する場合の送信するフレームのバイト数をサービス毎にカウントする。サービス単位廃棄フレーム送信数カウンタ184cは、送信するフレームについてMACエラーやFCSエラー等の異常があることにより廃棄されたMACフレームの数をサービス毎にカウントする。
これらのサービス単位正常フレーム送信カウンタ184a、サービス単位送信バイト数カウンタ184b、サービス単位廃棄フレーム送信数カウンタ184cは、フレーム処理部130やキュー制御部140において、送信するフレームをサービス毎に識別するサービスタイプ識別処理が行われ、該当するフレームが検出された場合に、サービス毎に、1が加算され、または検出されたフレームのポート毎のバイト数が加算される。
なお、上記のカウンタは、あくまで例示であり、上記のカウンタのすべてを有さなくてもよく、さらに、上記以外の統計情報をカウントするカウンタを有してもよい。
次に、本実施の形態の統計情報の収集時における動作について説明する。
次に、本実施の形態の統計情報の収集時における動作について説明する。
図10は、第2の実施の形態のカウンタの動作を示す図である。図10に、本実施の形態のスイッチ100が有するインタフェースカード102aにおける、フレーム数に関する統計情報の収集時のカウンタの動作を示す。ここで、図10では、正常フレーム受信カウンタ172aの統計情報が更新される場合について説明するが、他のカウンタも同様であるため説明を省略する。
図10に示すように、本実施の形態では、スイッチ100のインタフェースカード102aに、通信回線から受信したフレームまたはスイッチカード103から入力されたフレーム(例えば、ヘッダ部31aおよびペイロード部31bを有するフレーム31)が入力された場合、収集部131aまたは収集部131bにより、入力されたフレーム31のヘッダ部31aが有する入出力ポート番号、送信元MACアドレスおよび宛先MACアドレス、VLANタグ情報、MPLS情報等の制御情報から、入力されたフレーム31に基づいて、更新されるべき統計情報の管理IDが識別される。
調停部153は、識別した管理IDに基づいて、正常フレーム受信カウンタ172a等の、フレーム処理部130およびキュー制御部140が有するカウンタから現在のカウンタ値を取得する。次に、転送統計情報のDMAによる転送の完了状況を把握するために、転送状態情報記憶部155に記憶されている転送状態フラグ155aから管理IDに対応するDMA転送状態フラグを取得する。
転送状態フラグ155aは、調停部153がその管理IDに対応する統計情報の記憶部160に対する転送が完了したか否かを示すフラグである。転送状態フラグ155aは、調停部153が記憶してもよく、調停部153からアクセス可能な記憶装置が記憶してもよい。
調停部153は、管理IDに対応する統計情報の転送状態を示す転送状態フラグ155aを読み出す。調停部153は、読み出した転送状態フラグ155aが、転送中を示す値(例えば、“1”)である場合は、現在、その管理IDに対応する統計情報の記憶部160に対する転送処理の実行中であるため、統計情報を転送する転送統計情報フレーム70のコピーは行わずに、フレーム処理部130およびキュー制御部140が有するカウンタの更新処理を実行する。
ここで、統計情報の転送中におけるカウンタの更新処理では、調停部153は、カウンタの値を読み出し、読み出した値に、フレーム数のカウンタでは1を加算した値、バイト数のカウンタでは入力されたフレームのバイト数を加算した値をカウンタに書き込む。また、このとき、インタフェースカード102aから、ヘッダ部31aと同一であるヘッダ部32aおよびペイロード部31bと同一であるペイロード部32bを有するフレーム32が出力される。
一方、転送状態フラグ155aが転送完了を示す値(例えば、“0”)である場合は、統計情報を記憶している記憶部160への更新処理が完了している。このため、調停部153は、カウンタの更新処理として、カウンタの値に“0”を設定して初期化する。また、調停部153は、転送統計情報フレーム70をコピーにより生成する。ここで、転送統計情報フレーム70は、複数の統計情報を含んでいる。転送統計情報フレーム70は、含んでいる統計情報毎に、統計情報を管理する管理ID(管理ID73a,74a)および転送される統計情報の値を示す転送カウンタ値(例えば、転送カウンタ値73b,74b)を有する。
このとき調停部153は、管理ID73aと、カウンタから読み出した取得時の統計情報のカウンタ値に1またはフレーム31のバイト数を加算した転送カウンタ値73bとを含ませて、CPU制御バスを介して記憶部160に転送する。これにより、転送統計情報フレームの転送中にフレーム31がインタフェースカード102aに入力された場合にも不要な転送統計情報フレームの生成を防止でき、また転送統計情報フレームが二重にカウントされることを防止できる。
次に、本実施の形態で実行される処理について説明する。
図11および図12は、第2の実施の形態の転送統計情報生成処理の手順を示すフローチャートである。
図11および図12は、第2の実施の形態の転送統計情報生成処理の手順を示すフローチャートである。
図11および図12に示す転送統計情報生成処理は、インタフェースカード102aが、入力されたフレームに基づいて各カウンタで集計した統計情報から転送統計情報フレームを生成する処理である。転送統計情報生成処理は、インタフェースカード102aに対するフレームの入力時に実行される。ここで、図11および図12ならびに後述する図13から図21では、64バイト長のユニキャストフレームの入力時におけるIngress処理時の動作例を示すが、Egress処理時および他のフレームの入力時についても同様であり、説明を省略する。
[ステップS11]収集部131aは、入力されたフレームの制御情報に基づいて、ポートIDおよびフローIDを取得する。この例では、インタフェースカード102aに通信回線から図13に示すフレーム51が入力されたものとする。そして、フレーム51に基づいて、ポートIDは“5”、フローIDは“10”のように取得されたものとする。そして、コピー部142aは、フレーム51に対して、取得したポートIDおよびフローIDを、図14に示すフレーム52のように付加する。
[ステップS12]収集部131aは、入力されたフレームの正常性についてチェックを実行し、FCSエラーの有無、MACアドレスの正常性(例えば、送信元MACアドレスがマルチキャストアドレスではない等)、Typeやフレームの長さに異常などが無いか等について確認する。
[ステップS13]収集部131aは、入力されたフレームのフレームタイプを識別する。ここで、フレームタイプの識別では、フレーム51が、例えば、ユニキャストフレーム、マルチキャストフレーム、ブロードキャストフレームのいずれであるか、PAUSEフレームであるか否か等が識別される。ステップS14からステップS22は、あくまで一例であり、スイッチ100に入力されたフレームに応じて、ステップS13の識別結果に基づき、図6から図9に示したカウンタのうち、該当するカウンタの値が更新される。
[ステップS14]収集部131aは、入力されたフレームが正常である場合、ポートIDに対応する正常フレーム受信カウンタ172aの値に1を加算する。
ここで、図15(A),(B)の例に沿って説明する。記憶部160が有する図示しないメモリの記憶領域には、正常フレーム受信カウンタ172aに対応する統計情報について番号“001”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、ポートID毎に収集された統計情報であるため、“001_5”という統計情報IDを割り当てるものとする。また、ポートIDの値である“5”をアドレスとしてメモリから値を読み出した場合において、例えば“20”という値が読み出されたときには、メモリの値に“1”が加算された値である“21”が書き込まれ、フレーム52には、コピー部142aにより、上記統計情報ID“001_5”と共に“21”という値が付与され、フレーム53のようになる。
ここで、図15(A),(B)の例に沿って説明する。記憶部160が有する図示しないメモリの記憶領域には、正常フレーム受信カウンタ172aに対応する統計情報について番号“001”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、ポートID毎に収集された統計情報であるため、“001_5”という統計情報IDを割り当てるものとする。また、ポートIDの値である“5”をアドレスとしてメモリから値を読み出した場合において、例えば“20”という値が読み出されたときには、メモリの値に“1”が加算された値である“21”が書き込まれ、フレーム52には、コピー部142aにより、上記統計情報ID“001_5”と共に“21”という値が付与され、フレーム53のようになる。
[ステップS15]収集部131aは、入力されたフレームがユニキャストフレームである場合、ポートIDに対応するユニキャストフレーム受信カウンタ172bの値に1を加算する。
ここで、図16(A),(B)の例に沿って説明する。記憶部160が有する図示しないメモリの記憶領域には、ユニキャストフレーム受信カウンタ172bに対応する統計情報について番号“002”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、ポートID毎に収集された統計情報であるため、“002_5”という統計情報IDを割り当てるものとする。また、ポートIDの値である“5”をアドレスとしてメモリから値を読み出した場合において、例えば“150”という値が読み出されたときには、メモリの値に“1”が加算された値である“151”が書き込まれる。また、フレーム53には、コピー部142aにより、上記統計情報ID“002_5”と共に“151”という値が付与され、フレーム54のようになる。
[ステップS16]取得部151aは、ポートIDに対応する受信バイト数カウンタ172fの値に入力されたフレームのバイト数を加算する。
ここで、図17(A),(B)の例に沿って説明する。記憶部160が有する図示しないメモリの記憶領域には、受信バイト数カウンタ172fに対応する統計情報について番号“003”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、ポートID毎に収集された統計情報であるため、“003_5”という統計情報IDを割り当てるものとする。また、ポートIDの値である“5”をアドレスとしてメモリから値を読み出した場合において、例えば“800”という値が読み出されたときには、メモリの値にフレームのバイト数の“64”が加算された値である“864”が書き込まれる。また、フレーム54には、コピー部142aにより、上記統計情報ID“003_5”と共に“864”という値が付与され、フレーム55のようになる。
ここで、図17(A),(B)の例に沿って説明する。記憶部160が有する図示しないメモリの記憶領域には、受信バイト数カウンタ172fに対応する統計情報について番号“003”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、ポートID毎に収集された統計情報であるため、“003_5”という統計情報IDを割り当てるものとする。また、ポートIDの値である“5”をアドレスとしてメモリから値を読み出した場合において、例えば“800”という値が読み出されたときには、メモリの値にフレームのバイト数の“64”が加算された値である“864”が書き込まれる。また、フレーム54には、コピー部142aにより、上記統計情報ID“003_5”と共に“864”という値が付与され、フレーム55のようになる。
[ステップS17]取得部151aは、入力されたフレームが所定のサイズ(例えば、フレーム長が64バイト以上127バイト以下)のフレームである場合、ポートIDに対応する所定サイズフレーム受信数カウンタ172hの値に1を加算する。
ここで、図18(A),(B)の例に沿って説明する。記憶部160が有する図示しないメモリの記憶領域には、受信バイト数カウンタ172fに対応する統計情報について番号“004”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、ポートID毎に収集された統計情報であるため、“004_5”という統計情報IDを割り当てるものとする。また、ポートIDの値である“5”をアドレスとしてメモリから値を読み出した場合において、例えば“400”という値が読み出されたときには、メモリの値に“1”が加算された値である“401”が書き込まれる。また、フレーム55には、コピー部142aにより、上記統計情報ID“004_5”と共に“401”という値が付与され、フレーム56のようになる。
[ステップS21]収集部131aは、入力されたフレームが正常である場合、フローIDに対応するフロー単位正常フレーム受信カウンタ175a(図19において後述)の値に1を加算する。
ここで、図19(A),(B)の例に沿って説明する。記憶部160が有する図示しないメモリの記憶領域には、フロー単位正常フレーム受信カウンタ175aに対応する統計情報について番号“005”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、フローID毎に収集された統計情報であるため、“005_10”という統計情報IDを割り当てるものとする。また、フローIDの値である“10”をアドレスとしてメモリから値を読み出した場合において、例えば“300”という値が読み出されたときには、メモリの値に“1”が加算された値である“301”が書き込まれ、フレーム56には、コピー部142aにより、上記統計情報ID“005_10”と共に“301”という値が付与され、フレーム57のようになる。
[ステップS22]収集部131aは、入力されたフレームがユニキャストフレームである場合、フローIDに対応するフロー単位ユニキャストフレーム受信カウンタ175b(図20において後述)の値に1を加算する。
ここで、図20(A),(B)の例に沿って説明する。記憶部160が有する図示しないメモリの記憶領域には、フロー単位ユニキャストフレーム受信カウンタ175bに対応する統計情報について番号“006”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、フローID毎に収集された統計情報であるため、“006_10”という統計情報IDを割り当てるものとする。また、フローIDの値である“10”をアドレスとしてメモリから値を読み出した場合において、例えば“800”という値が読み出されたときには、メモリの値にフレームのバイト数の“64”が加算された値である“864”が書き込まれる。また、フレーム57には、コピー部142aにより、上記統計情報ID“006_10”と共に“864”という値が付与され、フレーム58のようになる。
[ステップS23]コピー部142aは、入力されたフレームに基づいて、スイッチカード103に転送するフレーム(例えば、図21(A)のフレーム60)および記憶部160に転送される転送統計情報フレーム(例えば、図21(B)の転送統計情報フレーム59)をコピーする。また、このときコピー部142aは、転送統計情報フレーム59のように、ペイロード部等の統計に不必要な部分を削除する。
図13および図14は、第2の実施の形態の転送統計情報フレームのデータ構造例を示す図である。図13に示すフレーム51は、インタフェースカード102aに通信回線から入力されたフレームの例である。
フレーム51は、宛先MACアドレス(MAC DA:Media Access Control address Destination Address)、送信元MACアドレス(MAC DA:Media Access Control address Source Address)、TYPE、ペイロードおよびFCSで構成される。
宛先MACアドレスは、送信先の端末装置が有する通信インタフェースを一意に識別するアドレスである。送信元MACアドレスは、送信元の端末装置が有する通信インタフェースを一意に識別するアドレスである。TYPEは、使用するプロトコルを指定するフィールドである。ペイロードは、送受信するデータ本体であり、例えば、IPパケットを所定のデータ長に分割したものである。FCSは、受信したフレームの誤りを検出するために用いられる値である。
なお、フレームのデータ構造は、ネットワークの運用形態等に応じて、種々の変形例が考えられる。また、図13に示したもの以外の情報が付加される場合もある。
図14に示すフレーム52は、フレーム51にポートIDおよびフローIDが付与されたものである。
図14に示すフレーム52は、フレーム51にポートIDおよびフローIDが付与されたものである。
図15は、第2の実施の形態の転送統計情報フレームのデータ構造例および正常フレーム受信カウンタの値を示す図である。図15(A)に示すフレーム53は、フレーム52に正常フレーム受信カウンタ172aの値および管理IDが付与されたものである。図15(B)は、フレーム51の入力に基づく正常フレーム受信カウンタ172aの値の更新を示す。
図16は、第2の実施の形態の転送統計情報フレームのデータ構造例およびユニキャストフレーム受信カウンタの値を示す図である。図16(A)に示すフレーム54は、フレーム53にユニキャストフレーム受信カウンタ172bの値および管理IDが付与されたものである。図16(B)は、フレーム51の入力に基づくユニキャストフレーム受信カウンタ172bの値の更新を示す。
図17は、第2の実施の形態の転送統計情報フレームのデータ構造例および受信バイト数カウンタの値を示す図である。図17(A)に示すフレーム55は、フレーム54に受信バイト数カウンタ172fの値および管理IDが付与されたものである。図17(B)は、フレーム51の入力に基づく受信バイト数カウンタ172fの値の更新を示す。
図18は、第2の実施の形態の転送統計情報フレームのデータ構造例および所定サイズフレーム受信数カウンタの値を示す図である。図18(A)に示すフレーム56は、フレーム55に所定サイズフレーム受信数カウンタ172hの値および管理IDが付与されたものである。図18(B)は、フレーム51の入力に基づく所定サイズフレーム受信数カウンタ172hの値の更新を示す。
図19は、第2の実施の形態の転送統計情報フレームのデータ構造例およびフロー単位正常フレーム受信カウンタの値を示す図である。図19(A)に示すフレーム57は、フレーム56にフロー単位正常フレーム受信カウンタ175aの値および管理IDが付与されたものである。図19(B)は、フレーム51の入力に基づくフロー単位正常フレーム受信カウンタ175aの値の更新を示す。
図20は、第2の実施の形態の転送統計情報フレームのデータ構造例およびフロー単位受信バイト数カウンタの値を示す図である。図20(A)に示すフレーム58は、フレーム57にフロー単位ユニキャストフレーム受信カウンタ175bの値および管理IDが付与されたものである。図20(B)は、フレーム51の入力に基づくフロー単位ユニキャストフレーム受信カウンタ175bの値の更新を示す。
図21は、第2の実施の形態の複製されたフレームのデータ構造例を示す図である。図21(A)は、インタフェースカード102aからスイッチカード103に転送されるフレーム60を示す。図21(B)は、インタフェースカード102aの調停部153から記憶部160に転送される転送統計情報フレーム59を示す。
以上のように、第2の実施の形態によれば、スイッチ100による統計情報の収集において、ソフト処理の削減、CPU制御バスの占有率の削減、統計情報を格納するメモリ容量の削減を図ることができる。
また、合成部150がLIFOメモリを有するので、フレーム処理部130やキュー制御部140に専用品以外のものを使用することができ、インタフェースカード102aの部品の選択の幅が広がる。
[第3の実施の形態]
次に、第3の実施の形態について説明する。上記の第2の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いると共に説明を省略する。
次に、第3の実施の形態について説明する。上記の第2の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いると共に説明を省略する。
第3の実施の形態は、LIFOメモリがフレーム処理部、キュー制御部に設けられている点で、第2の実施の形態と異なる。
図22は、第3の実施の形態のインタフェースカードの機能を示すブロック図である。本実施の形態では、ハードウェア制御により、フレームがスイッチ200が有するインタフェースカード202aに入力されたことに基づいて、フレームから統計情報が収集される。次に、収集された統計情報を有する転送統計情報フレームがコピーされて記憶部260に転送される。この転送された転送統計情報フレームが有する統計情報に基づいて、ソフトウェア制御により、記憶部260の統計情報が更新される。
図22は、第3の実施の形態のインタフェースカードの機能を示すブロック図である。本実施の形態では、ハードウェア制御により、フレームがスイッチ200が有するインタフェースカード202aに入力されたことに基づいて、フレームから統計情報が収集される。次に、収集された統計情報を有する転送統計情報フレームがコピーされて記憶部260に転送される。この転送された転送統計情報フレームが有する統計情報に基づいて、ソフトウェア制御により、記憶部260の統計情報が更新される。
本実施の形態のインタフェースカード202aは、物理部220、フレーム処理部230、キュー制御部240、合成部250、記憶部260を有する。また、フレーム処理部230は、収集部231a,231b、コピー部232b、LIFOメモリ234bを有する。キュー制御部240は、収集部241a,241b、コピー部242a、LIFOメモリ244aを有する。合成部250は、調停部253、転送状態情報記憶部255を有する。
収集部231a,231b,241a,241bは、第2の実施の形態の収集部131a,131b,141a,141bと同様、スイッチ200が受信し、インタフェースカード202aに入力された、ユーザデータを転送するフレームに基づいて通信に関する複数の統計情報を取得し、取得した複数の統計情報に、各統計情報に対応する管理IDを付加した転送統計情報フレームを生成する。これにより、スイッチ200が受信したフレームについて取得された複数の統計情報を記憶部260に対して一度に転送することができ、処理の負担が軽減される。
コピー部242aでは、第2の実施の形態のコピー部142aと同様、通信回線からインタフェースカード202aに入力されたフレームに基づいて収集部231a,241aで取得された統計情報に管理IDを付加し、さらに一つに纏めて転送統計情報フレームを生成する。
コピー部232bでは、第2の実施の形態のコピー部132bと同様、スイッチカードから入力されたフレームに基づいて収集部231b,241bで取得された統計情報に管理IDを付加して纏め、転送統計情報フレームを生成する。収集部231a,231b,241a,241b、コピー部232b,242aは、取得部として機能する。
合成部250が有する調停部253は、第2の実施の形態の調停部153と同様、収集部231a,231b,241a,241bにより生成された転送統計情報フレームをダイレクトメモリアクセスにより記憶部260に転送する。これにより、転送統計情報フレームが有する統計情報をハードウェア処理で記憶部260に記憶させることができる。合成部250は、制御部として機能する。
調停部253は、管理情報に対応する転送統計情報に関するユーザデータが受信された場合、転送統計情報の転送により管理情報に対応する転送統計情報の転送が完了していないことを示す転送状態フラグを転送状態情報記憶部255に記憶させる。また、調停部253は、LIFOメモリ234b,244aに記憶されている転送統計情報の記憶部260に対する転送が完了した場合、転送状態情報記憶部255に、管理情報に対応する転送統計情報の転送が完了したことを示す転送状態フラグを記憶させる。
LIFOメモリ234b,244aは、第2の実施の形態のLIFOメモリ154a,154bと同様、後入れ先出しで転送統計情報の読み書きが行われる。LIFOメモリ244aは、収集部241a,241bおよびコピー部242aと共にキュー制御部240の内部に形成されている。LIFOメモリ234bは、収集部231a,231bおよびコピー部232bと共にフレーム処理部230の内部に形成されている。
調停部253は、生成された転送統計情報フレームをLIFOメモリ234b,244aに一旦記憶させ、転送統計情報フレームをLIFOメモリ234b,244aから読み出して転送する。これにより転送統計情報フレームの転送のタイミングを調整する。インタフェースカード202aに入力されるフレームと同じ速度で生成される転送統計情報フレームは、LIFOメモリ234b,244aに蓄えられる。これにより、ソフト管理される記憶部260にダイレクトメモリアクセスで転送される速度を調整することができる。
LIFOメモリ244aは、通信回線からインタフェースカード202aに入力される方向のフレームの転送統計情報フレームを記憶する。LIFOメモリ234bは、スイッチカードからインタフェースカード202aに入力される方向のフレームの転送統計情報フレームを記憶する。記憶部260への転送統計情報フレームの転送に際しては、調停部253は、LIFOメモリ244a,234bのいずれから転送統計情報フレームを読み出すかについて、第2の実施の形態とは異なり、外部信号であるフロー制御信号により通知する。
転送状態情報記憶部255は、管理情報に対応する転送統計情報の転送が完了したか否かを示す転送状態フラグを記憶する。これにより、調停部253は、記憶部260に対する転送統計情報フレームの転送が完了したか否かを判断することができる。
記憶部260は、合成部250から転送された転送統計情報フレームに基づいて、各統計情報を管理情報に従って記憶する。
本実施の形態でインタフェースカード202aに入力されたフレームから取得され、記憶部260に記憶される統計情報は、第2の実施の形態と同様、ユニキャスト送信を行うフレームの送受信数、マルチキャスト送信を行うフレームの送受信数、ブロードキャスト送信を行うフレームの送受信数、バッファの状態を通知するPAUSEフレームの送受信数、フレームの送受信バイト数、所定長のフレームの送受信数、正常なフレームの送受信数、送受信された廃棄フレーム数である。また、これらの統計情報は、ポート毎に集計することもでき、サービス毎に集計することもでき、さらにフロー単位に集計することもできる。なお、上記の統計情報は一例であり、これらの一部の統計情報のみを取得してもよく、一方、これら以外の統計情報を取得してもよい。
本実施の形態でインタフェースカード202aに入力されたフレームから取得され、記憶部260に記憶される統計情報は、第2の実施の形態と同様、ユニキャスト送信を行うフレームの送受信数、マルチキャスト送信を行うフレームの送受信数、ブロードキャスト送信を行うフレームの送受信数、バッファの状態を通知するPAUSEフレームの送受信数、フレームの送受信バイト数、所定長のフレームの送受信数、正常なフレームの送受信数、送受信された廃棄フレーム数である。また、これらの統計情報は、ポート毎に集計することもでき、サービス毎に集計することもでき、さらにフロー単位に集計することもできる。なお、上記の統計情報は一例であり、これらの一部の統計情報のみを取得してもよく、一方、これら以外の統計情報を取得してもよい。
以上のように、第3の実施の形態によれば、LIFOメモリ234b,244aが、それぞれフレーム処理部230、キュー制御部240に設けられているので、転送統計情報フレームのLIFOメモリ234b,244aへの書き込みが、それぞれフレーム処理部230、キュー制御部240の内部で処理される。これにより、合成部250と、フレーム処理部230、キュー制御部240との間の接続帯域を、小さくすることができる。
以上、開示の通信装置、統計情報収集制御装置および統計情報収集制御方法を、図示の実施の形態に基づいて説明したが、上記については単に本発明の原理を示すものである。開示の技術は、多数の変形、変更が当業者にとって可能であり、上記に示し、説明した正確な構成および応用例に限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の2以上の構成を組み合わせたものであってもよい。また、開示の技術に対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
1 通信装置
1a 取得部
1b 制御部
1c 記憶部
2 ユーザデータ
3a,3b,3c 統計情報
4a,4b,4c 管理情報
5 転送統計情報
1a 取得部
1b 制御部
1c 記憶部
2 ユーザデータ
3a,3b,3c 統計情報
4a,4b,4c 管理情報
5 転送統計情報
Claims (7)
- 受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の前記統計情報に管理情報を付加した転送統計情報を生成する取得部と、
前記取得部により生成された前記転送統計情報をダイレクトメモリアクセスにより転送する制御部と、
前記制御部から転送された前記転送統計情報を記憶する記憶部とを有することを特徴とする通信装置。 - 前記取得部により生成された前記転送統計情報を一時的に記憶するメモリを有し、
前記制御部は、前記取得部により生成された前記転送統計情報を前記メモリに一旦記憶させてから前記転送統計情報を前記メモリから読み出して転送することにより前記転送統計情報の転送のタイミングを調整することを特徴とする請求項1記載の通信装置。 - 前記メモリは、後入れ先出しで前記転送統計情報の読み書きが行われることを特徴とする請求項2記載の通信装置。
- 前記ユーザデータは、制御データとペイロード部とを有し、
前記取得部は、受信した前記ユーザデータに基づいて通信に関する複数の前記統計情報を取得し、取得した複数の前記統計情報に管理情報を付加すると共に前記ユーザデータの前記ペイロード部を削除した前記転送統計情報を生成することを特徴とする請求項1記載の通信装置。 - 前記管理情報に対応する前記転送統計情報の転送が完了したか否かを示す転送状態情報を記憶する転送状態情報記憶部を有し、
前記制御部は、前記管理情報に対応する前記転送統計情報に関する前記ユーザデータが受信された場合、前記転送統計情報の転送により前記管理情報に対応する前記転送統計情報の転送が完了していないことを示す前記転送状態情報を前記転送状態情報記憶部に記憶させる一方、前記メモリに記憶されている前記転送統計情報の前記記憶部に対する転送が完了した場合、前記転送状態情報記憶部に、前記管理情報に対応する前記転送統計情報の転送が完了したことを示す前記転送状態情報を記憶させることを特徴とする請求項2記載の通信装置。 - 受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の前記統計情報に管理情報を付加した転送統計情報を生成する取得部と、
前記取得部により生成された前記転送統計情報をダイレクトメモリアクセスにより記憶部に転送する制御部とを有することを特徴とする統計情報収集制御装置。 - 取得部が、受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の前記統計情報に管理情報を付加した転送統計情報を生成し、
制御部が、前記取得部により生成された前記転送統計情報をダイレクトメモリアクセスにより記憶部に転送することを特徴とする統計情報収集制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/070810 WO2011074052A1 (ja) | 2009-12-14 | 2009-12-14 | 通信装置、統計情報収集制御装置および統計情報収集制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5141830B2 true JP5141830B2 (ja) | 2013-02-13 |
JPWO2011074052A1 JPWO2011074052A1 (ja) | 2013-04-25 |
Family
ID=44166854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011545862A Expired - Fee Related JP5141830B2 (ja) | 2009-12-14 | 2009-12-14 | 通信装置、統計情報収集制御装置および統計情報収集制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120209941A1 (ja) |
JP (1) | JP5141830B2 (ja) |
WO (1) | WO2011074052A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5971072B2 (ja) * | 2012-10-12 | 2016-08-17 | 富士通株式会社 | フレーム転送装置及びフレーム転送方法 |
JP5901551B2 (ja) * | 2013-02-14 | 2016-04-13 | アラクサラネットワークス株式会社 | 通信装置及びフレーム処理方法 |
US9559919B2 (en) * | 2013-03-07 | 2017-01-31 | Brocade Communications Systems, Inc. | Display of port transmit and receive parameters sorted by higher of transmit or receive value |
US20140298479A1 (en) * | 2013-04-02 | 2014-10-02 | Ayu Technology Solutions Llc | Secure data transfer for chat systems |
JP2017163440A (ja) * | 2016-03-11 | 2017-09-14 | 富士通株式会社 | データ転送プログラム、データ転送方法、及び、データ転送装置 |
WO2020021713A1 (ja) * | 2018-07-27 | 2020-01-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 不正検知方法および不正検知電子制御装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05284191A (ja) * | 1992-04-01 | 1993-10-29 | Hitachi Ltd | 通信制御装置 |
JP2003087255A (ja) * | 2001-09-06 | 2003-03-20 | Kddi Corp | パケット情報収集装置及びその方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3586204B2 (ja) * | 2001-02-19 | 2004-11-10 | 日本電信電話株式会社 | 多重化中継伝送装置 |
JP2003230121A (ja) * | 2001-11-30 | 2003-08-15 | Fujitsu Ltd | コンテンツ配信方法、コンテンツ視聴方法、サーバ装置、および端末装置 |
US7707351B2 (en) * | 2002-10-31 | 2010-04-27 | Ring Technology Enterprises Of Texas, Llc | Methods and systems for an identifier-based memory section |
US7836165B2 (en) * | 2003-11-25 | 2010-11-16 | Intel Corporation | Direct memory access (DMA) transfer of network interface statistics |
WO2005093576A1 (en) * | 2004-03-28 | 2005-10-06 | Robert Iakobashvili | Visualization of packet network performance, analysis and optimization for design |
JP4599923B2 (ja) * | 2004-07-16 | 2010-12-15 | ソニー株式会社 | 情報処理システム及び情報処理方法、並びにコンピュータプログラム |
US8621360B2 (en) * | 2007-04-30 | 2013-12-31 | Intech 21, Inc. | Topographical display generator for AD HOC network |
US8374102B2 (en) * | 2007-10-02 | 2013-02-12 | Tellabs Communications Canada, Ltd. | Intelligent collection and management of flow statistics |
-
2009
- 2009-12-14 WO PCT/JP2009/070810 patent/WO2011074052A1/ja active Application Filing
- 2009-12-14 JP JP2011545862A patent/JP5141830B2/ja not_active Expired - Fee Related
-
2012
- 2012-04-26 US US13/457,166 patent/US20120209941A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05284191A (ja) * | 1992-04-01 | 1993-10-29 | Hitachi Ltd | 通信制御装置 |
JP2003087255A (ja) * | 2001-09-06 | 2003-03-20 | Kddi Corp | パケット情報収集装置及びその方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2011074052A1 (ja) | 2011-06-23 |
US20120209941A1 (en) | 2012-08-16 |
JPWO2011074052A1 (ja) | 2013-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7346001B1 (en) | Systems and methods for limiting low priority traffic from blocking high priority traffic | |
JP3789395B2 (ja) | パケット処理装置 | |
JP5141830B2 (ja) | 通信装置、統計情報収集制御装置および統計情報収集制御方法 | |
JP5233504B2 (ja) | 経路制御装置およびパケット廃棄方法 | |
US8804751B1 (en) | FIFO buffer with multiple stream packet segmentation | |
US7349416B2 (en) | Apparatus and method for distributing buffer status information in a switching fabric | |
US9755947B2 (en) | Hierarchical self-organizing classification processing in a network switch | |
US9641407B2 (en) | Exporting real time network traffic latency and buffer occupancy | |
US6741562B1 (en) | Apparatus and methods for managing packets in a broadband data stream | |
US7079538B2 (en) | High-speed router | |
US7222784B2 (en) | Transmission base flow control device | |
JP3908483B2 (ja) | 通信装置 | |
CN117176486A (zh) | 网络信息传输*** | |
CN116114233A (zh) | 自动流管理 | |
US9118580B2 (en) | Communication device and method for controlling transmission priority related to shared backup communication channel | |
US20180069790A1 (en) | Packet transfer device and packet transfer method | |
JP6236925B2 (ja) | 伝送装置および伝送方法 | |
US9154390B2 (en) | Packet relay apparatus and measurement method for measuring discard number of data packets | |
CN106533771B (zh) | 一种网络设备以及控制信息传输方法 | |
CN113518046B (zh) | 一种报文转发方法及框式交换设备 | |
US9621487B2 (en) | Method and apparatus for protection switching based on memory control in packet transport system | |
WO2017088489A1 (zh) | 一种数据报文传输方法、***及通信*** | |
JP6099412B2 (ja) | スイッチ装置、通信システムおよび転送制御方法 | |
JP2007325178A (ja) | パケット処理システム、パケット処理方法、およびプログラム | |
US11671281B1 (en) | Handling interface clock rate mismatches between network devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121023 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121105 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151130 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |