JP6466279B2 - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
JP6466279B2
JP6466279B2 JP2015154690A JP2015154690A JP6466279B2 JP 6466279 B2 JP6466279 B2 JP 6466279B2 JP 2015154690 A JP2015154690 A JP 2015154690A JP 2015154690 A JP2015154690 A JP 2015154690A JP 6466279 B2 JP6466279 B2 JP 6466279B2
Authority
JP
Japan
Prior art keywords
buffer
reception
cpu
packet
reception history
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.)
Active
Application number
JP2015154690A
Other languages
English (en)
Other versions
JP2017034574A (ja
Inventor
耕市 西川
耕市 西川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2015154690A priority Critical patent/JP6466279B2/ja
Priority to US15/220,435 priority patent/US10164916B2/en
Publication of JP2017034574A publication Critical patent/JP2017034574A/ja
Application granted granted Critical
Publication of JP6466279B2 publication Critical patent/JP6466279B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9031Wraparound memory, e.g. overrun or underrun detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1523Parallel switch fabric planes

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

本発明は、通信装置に関する。
一般にサーバや端末間の間でやり取りされるトラフィックの流量は一定ではなく、瞬間的に過負荷なトラフィックになる(バースト)ことがある。パケット通信装置はこうしたバーストトラフィックを当該装置のCPU宛に受けたとき、受信バッファにパケットを滞留させ、順次バッファからパケットを出すことでパケットロスを防止している。しかしバーストトラフィックが通信装置の性能限界を超えた場合は、輻輳事象によりパケットロスが発生してしまう。
昨今のサーバ、端末、通信装置の性能向上に伴い、こうした想定以上の過負荷トラフィック、または攻撃などによる不正行為によるトラフィックが発生する可能性が高くなる傾向にある。バーストトラフィックの流量があまりに大きい場合、通信装置のバッファでパケットを滞留しきれなくなりパケットロスが発生するだけでなく、通常動作が阻害される輻輳事象が増加することが想定される。
また、ネットワークを利用するユーザ数が増大する中、サービス提供側は限られた資源を最大限利用してサービスを提供するため、1台のネットワーク装置でのユーザ収容数が拡大していて、前述のような通信装置の輻輳が発生した場合、原因となるトラフィックを特定することが困難なケースも増えてきている。
こうしたネットワーク装置の輻輳はネットワークの安定した運用を妨げるものであり、避けることが望ましい。また輻輳が発生した場合は、速やかに原因となるトラフィックを特定し、対策することでネットワークの安定化を図ることが望ましい。
特許文献1は、ネットワーク装置内の受信バッファが溢れた時や、溢れそうな時をトリガーにパケット中継装置内で、バーストによりパケットがキューから溢れたもしくは溢れそうになったことをトリガーとして、該当キューに詰まれるパケットだけをミラーリング対象とするパケット中継装置が開示される。
特開2011-142535
特許文献1では、トリガーとなる事象が発生した瞬間のパケット中継装置内の該当バッファに格納されている情報を退避するものであるため、事象発生に至る経緯の解析が困難である。
このようにトラフィックが増大し、通信装置およびパケット中継装置内に過負荷が発生した際、事象の原因となる情報が収集できなかったり、情報収集できたとしても事象発生時の情報しかなく、その事象に至った経緯が分からず、その後の解析が困難になったりするケースが多い。
本発明では、上述の少なくとも一の課題を解決するために、以下の態様を有する。本発明の一態様では、パケット中継装置内でCPU宛もしくはCPU発のパケットを受信バッファもしくは送信バッファに保持する際に、パケットを複製し、受信バッファに対応した受信履歴バッファ、もしくは送信バッファに対応した送信履歴バッファへミラーリングして保持するパケット通信装置である。なお、受信履歴バッファは、複数面を有し、対応する受信バッファと同等のサイズでもよい。
そして、本発明の態様であるパケット通信装置は、受信バッファの使用量に応じて決定される受信履歴バッファの面に、パケットの複製を書き込む。さらに本発明の態様であるパケット通信装置は、受信バッファの使用量に応じて、受信履歴バッファに保持される複製を他の記憶領域に退避させる。
なお、本発明の態様でのパケット中継装置内でCPU宛もしくはCPU発のパケットには、IP通信を行うための基本的なプロトコルであるARPやNDP、その他、トポロジー/ネットワークを構成するために必要なネットワークプロトコルなどが該当し、ネットワークの安定運用のために必要なパケットである。よって、輻輳事象発生時、CPU発パケットやCPU宛パケットの履歴を分析し、特定した原因に対応することが、ネットワークを安定運用する上で重要となる。
パケットの中継を継続しつつ、パケットの複製を保持、退避させることにより、パケットの受信履歴または送信履歴の少なくとも一方が分析できる。
パケット通信装置の構成を示す。 パケット通信装置のCPU宛パケット受信処理に関連する構成を示す。 CPU宛受信管理データテーブルを示す。 受信履歴制御データテーブルを示す。 CPU宛受信管理部137が実行するパケット受信処理の詳細を示すフローチャートである。 受信履歴制御部140が実行する受信履歴バッファ処理の詳細を示すフローチャートである。 パケット通信装置のCPU発パケット送信処理に関連する構成を示す。 受信バッファと受信履歴バッファとに受信したパケットを時系列に示す図である。 受信バッファと受信履歴バッファとに受信したパケットを時系列に示す図である。 受信バッファと受信履歴バッファとに受信したパケットを時系列に示す図である。 受信バッファと受信履歴バッファとに受信したパケットを時系列に示す図である。
図1は、パケット通信装置101の構成を示す。図1を用いて通信装置101における受信したCPU宛パケット及び送信されるCPU発パケットの制御処理の流れが説明される。パケット通信装置101は、インターネット等のネットワークにおけるパケット通信装置で、攻撃などによる過負荷トラフィックによるネットワーク装置輻輳およびパケットロスを監視/防止および受信パケットを解析する。
パケット通信装置101は、物理回線制御部131―a及び物理回線制御部131−bを有する。物理回線制御部131は、ネットワークに接続され、パケットの送受信がされるネットワークインターフェースである。また、パケット通信装置101は、CPU宛受信管理部137、受信履歴制御部140、受信履歴バッファ141、受信履歴解析部143、CPU発送信管理部202、送信履歴制御部205、送信履歴バッファ206及び送信履歴解析部208を有する。受信バッファ138は、CPU宛のパケットをCPUに出力するために保持するバッファである。受信履歴バッファ141はCPU宛受信管理部137内の受信バッファ138と同じサイズのバッファを複数面持ち、受信バッファ138に保持されるパケットの複製を、複数面のうちいずれか一の面に保持する。
パケット通信装置101において、CPU宛フレーム受信部136は、物理回線制御部131−aまたは131−bを介して受信するとCPU宛パケットを複製し、CPU宛受信管理部137内の受信バッファ138と受信履歴制御部140内の受信履歴バッファ141に詰まれる。そして、CPU宛フレーム送信部144は、受信バッファ138に詰まれたパケットを随時CPU145へ転送する。一方、受信履歴制御部141は、受信履歴バッファ141に詰まれたパケットを転送すること無く、受信履歴情報として保持する。受信履歴制御部140は、受信バッファ138の使用量に基づいて、受信履歴バッファ141のいずれか一の面にCPU宛パケットの複製を保持するか、受信履歴バッファに保持される複製を、受信履歴解析部143が有する記憶領域に退避する。
具体的には、受信履歴制御部140は、受信バッファ138の使用量を監視し、受信履歴情報の格納先バッファを変更すべき閾値未満の状態を保持している場合、書込対象となる受信履歴バッファ141の先頭バッファをリングバッファとして動作させる。この動作結果、先頭のバッファ以外の受信履歴バッファを使用しないことにより、不必要な情報で受信履歴バッファを圧迫させることを回避でき、装置内の処理負荷を抑える。また、パケット通信装置101は、受信履歴バッファに保持される情報を用いてパケット分析を行うことができる。
また、CPU宛受信管理部137は、受信バッファ138の使用量を監視し受信履歴情報の格納先バッファを変更すべき閾値を超過した場合、または外部イベント等を契機に、受信履歴制御部141に、受信履歴バッファ141のパケット格納先となるバッファ面を2番目のバッファ面への切替を指示する。受信履歴制御部140は、書込対象となる受信履歴バッファ141の先頭バッファ以外のバッファ面は、リングバッファとしては動作せずパケット格納領域がなくなると3番目へバッファ面を切り替えて受信履歴情報を保持する。その後、受信履歴制御部140は、受信バッファ138の使用量が受信履歴情報を退避すべき特定閾値に達した場合もしくは外部イベント等を契機に、受信履歴情報が格納されている全ての受信履歴バッファ141を受信履歴解析部143へ退避させる。これにより、退避させた受信履歴情報を用いて受信バッファにパケットが溜まり始めてから受信履歴情報退避のイベント発生までのパケット分析ができるようになり、装置輻輳発生時のみならず輻輳に至った経緯までの分析することが可能となる。
また、CPU発フレーム受信部201は、CPU145からのパケットを複製し、CPU145からのパケットをCPU発送信管理部202内の送信バッファ203に、その複製を送信バッファに対応した送信履歴制御部205内の送信履歴バッファ206に詰まれる(保持する)。送信バッファ203は、CPUから出力される送信パケットをネットワークに送信するために保持する。
CPU発フレーム送信部209は、CPU発送信バッファ203に詰まれたパケットを随時物理回線制御部131−bまたは131−aに送信する。送信履歴制御部205は、送信履歴バッファ206に詰まれたパケットを前記受信履歴バッファ141と同様に、送信履歴情報として保持する。送信履歴バッファ206は、送信バッファ203と同じサイズのバッファを複数面持ち、送信バッファ203に保持される送信パケットの複製を保持する。
CPU発送信管理部202は、送信バッファ203の使用量を監視し、送信履歴情報の格納先バッファを変更すべき閾値未満の状態を保持している場合、送信履歴制御部206は、書込対象となる送信履歴バッファ206の先頭バッファをリングバッファとして動作させる。つまり、送信履歴制御部205は、CPU発送信バッファ203の使用量に基づいて、送信履歴バッファ205のバッファの所定の面にCPU宛のパケットの複製を保持する、あるいは、送信履歴バッファ206に保持されるCPU宛のパケットの複製を他の記憶領域を有する送信履歴解析部208に退避する。
その後、送信履歴情報の格納先バッファを変更すべき閾値を超過した場合、または外部イベント等を契機に、送信履歴制御部205は、送信履歴バッファ206のパケット格納先となるバッファ面を2番目のバッファ面へ切替え、さらに送信バッファ203の使用量が送信履歴情報を退避すべき特定閾値に達した場合、もしくは外部イベント等を契機に、送信履歴制御部205は、送信履歴情報が格納されている全ての送信履歴バッファ206を送信履歴解析部208へ退避させる。退避された送信履歴情報は、送信バッファにパケットが溜まり始めてから送信履歴情報退避のイベント発生までのパケット分析に用いてもよい。
受信履歴制御部140は、特定閾値Over/外部イベント等をトリガーに、受信履歴バッファ141に格納される受信履歴を分析用エリアである受信履歴解析部143に退避する。送信履歴制御部205は、特定閾値Over/外部イベント等をトリガーに送信履歴バッファ206に格納されている送信履歴を分析用エリアである送信履歴解析部208に退避する。
また、物理回線制御部131−bより受信し、CPU145を経由して物理回線制御部131−aへ送信されるパケットについても、物理回線制御部131−bが受信したパケットは複製され、CPU宛受信管理部137内の受信バッファ138と受信バッファに対応した受信履歴制御部140内の受信履歴バッファ141に詰まれる。
さらにCPU145より物理回線制御部131−aへ送信するパケットは複製され、CPU発送信管理部202内の送信バッファ203と送信バッファに対応した送信履歴制御部205内の送信履歴バッファ206に詰まれる。送信履歴バッファ206についても受信履歴バッファ141と同様な制御が行われることによりCPU宛パケット、およびCPU発パケットの分析を行うことができる。
以下、機能ブロック、データテーブル、CPU宛/発パケットに対する受信履歴バッファ、もしくは送信履歴バッファの制御処理、および受信履歴情報、もしくは送信履歴情報の退避処理を実施の形態によって詳細に説明する。
図2は、図1で説明した装置構成をより詳細に説明する。図2は、パケット通信装置のCPU宛パケット受信処理に関連する構成の一例を示す図である。パケット通信装置101は装置制御部102およびパケット転送制御部103を有する。装置制御部102はフレーム制御部135、CPU145を有する。
パケット転送制御部103は、物理回線制御部131、受信制御部132、送信制御部133、フレーム中継部134を有する。物理回線制御部131は装置の物理回線状態を管理し、物理回線130より受信したパケットを受信制御部132へ送信する機能と送信制御部133より受信したパケットを物理回線130へ送信する機能を有する。受信制御部132は物理回線制御部131から受信したパケットをフレーム中継部134へ送信する機能を有する。送信制御部133はフレーム中継部134から受信したパケットを物理回線制御部131へ送信する機能を有する。
フレーム中継部134は受信制御部132から受信したパケットをCPU宛パケットかハード転送パケットかを識別し、CPU宛パケットをフレーム制御部135のCPU宛フレーム受信部136へ送信する機能と、ネットワークに向け転送するためにハード転送パケットを送信制御部133へ送信する機能を有する。
フレーム制御部135はCPU宛フレーム受信部136、CPU宛受信管理部137、受信履歴制御部140、受信履歴解析部143、CPU宛フレーム送信部144を有する。フレーム制御部135はFPGA等のハードウェアもしくはCPUが実行するプログラムのどちらでも実現できるものとする。CPU宛フレーム受信部136はフレーム中継部134より受信したパケットをコピーし、CPU宛受信管理部137内の受信バッファ138、および受信履歴制御部140内の受信履歴バッファ141へ送信する機能を有する。
CPU宛受信管理部137は受信バッファ138、CPU宛受信管理データベース139を有する。CPU宛受信管理部137は、受信バッファ138を監視し、CPU宛フレーム受信部136よりパケットを受信した際、CPU宛受信管理データベース139を参照及び更新し、CPU宛フレーム送信部144へ送信する機能を有する。CPU宛受信管理データベース139は、受信バッファ138の監視状況に関する情報を保持する。
受信履歴制御部140は受信履歴バッファ141、受信履歴制御データベース142を有する。受信履歴制御部140は、CPU宛フレーム受信部136よりパケットを受信した際、パケットを受信履歴バッファ141へ書き込み、受信履歴制御データベース142を参照及び更新し、受信履歴バッファの使用状況を監視する機能を有する。受信履歴バッファ141は、書きこむ記憶領域が複数面有するメモリ空間である。また、受信履歴バッファ141は、その複数面のうち一度に使用可能な面数は最大面数-1としてもよい。受信履歴制御データベース142は、受信履歴バッファ141への書き込み状況に関する情報を保持する。
受信履歴解析部143は、受信履歴バッファ141から退避された情報を解析し、事象発生までのトラフィック状況やバッファ退避に至った発生傾向を導き出す機能を有する。CPU宛フレーム送信部 144は、CPU宛受信管理部137より受信したパケットをCPU145へ送信する機能を有する。
図7は、パケット通信装置101のフレーム制御部135の変形例を示す。図7のフレーム制御部135は、CPU発パケット送信するための内部構成である。
フレーム制御部135は、CPU発フレーム受信部201、CPU発送信管理部202、送信履歴制御部205、送信履歴解析部208、CPU発フレーム送信部209を有する。 CPU発フレーム受信部201は、CPUより受信したパケットをコピーし、CPU発送信管理部202内の送信バッファ203、および送信履歴制御部205内の送信履歴バッファ206へ送信する機能を有する回路である。CPU発送信管理部202は送信バッファ203、CPU発送信管理データベース204を有する。CPU発送信管理部202は、送信バッファ203を監視し、CPU発フレーム受信部201よりパケットを受信した際、CPU発送信管理データベース204を参照及び更新し、CPU発フレーム送信部 209へ送信する機能を有する回路である。
CPU発送信管理データベース204は、送信バッファ203の監視状況に関する情報を保持する。送信履歴制御部205は送信履歴バッファ206、送信履歴制御データベース207を有する。送信履歴制御部205は、CPU発フレーム受信部201よりパケットを受信した際、パケットを送信履歴バッファ206へ書き込み、送信履歴制御データベース207を参照及び更新し、送信履歴バッファの使用状況を監視する機能を有する。
送信履歴バッファ206は、メモリ空間が複数分割されることにより複数面を有する。また、その複数面のうち一度に使用可能な面数は最大面数-1としてもよい。送信履歴制御データベース207は、送信履歴バッファ206への書き込み状況に関する情報を保持する。
送信履歴解析部208は、不揮発性の記憶領域を有し、送信履歴バッファ206から退避された情報を格納し、格納された情報を用いて解析する機能を有し、事象発生までのトラフィック状況やバッファ退避に至った発生傾向を導き出すための機能である。
CPU発フレーム送信部 209は、CPU発送信管理部202より受信したパケットをフレーム中継部134へ送信する機能を有する。 なお、フレーム制御部135は、CPU宛パケットとCPU発パケットの双方の中継を行ってもよい。その場合、フレーム制御部135には、CPU宛フレーム送信部144とCPU宛フレーム受信部201により構成され、CPU145に接続されるフレーム送受信回路が含まれる、当該インターフェースがCPUとのフレームが送受信されてもよい。フレーム制御部135は、CPU宛受信バッファ138とCPU発送信バッファ203の双方を管理してもよい。その場合、フレーム制御部135は、CPU145宛に送信されるパケット及びCPU145から送信されるパケットの転送制御を行う送受信管理回路及びそれらパケットが一時格納されるバッファを有する。送受信管理回路は、CPU宛受信管理部137とCPU発送信管理部202とにより構成される。さらに、フレーム制御部135は、受信履歴制御部140及び送信履歴制御部205により構成されてもよい。その場合、フレーム制御部135は、受信履歴バッファ141及び送信履歴バッファ206の使用状況を監視し、それぞれのバッファの面切り替えや履歴解析のために他のリソースにバッファに格納されるデータを退避させる回路を有する。
図3は、CPU宛受信管理データベース139を示す。CPU宛受信管理データベース139は、受信バッファ138の監視状況に関する情報を保持し、例えば、図3−A100に示すCPU宛受信管理データテーブルA100を持つ。図3は、CPU宛受信管理部137が保持するCPU宛受信管理データベース139は、CPU宛受信管理データテーブルA100を含む。CPU宛受信管理データテーブルA100は、それぞれ監視対象となる受信バッファの最大値である受信バッファサイズA101、受信履歴バッファの面切替処理が動作しているかを判定する受信履歴切替中フラグA102、受信履歴バッファの面切替制御を開始する閾値である受信履歴切替開始閾値A103、受信履歴バッファの面切替制御を停止する閾値である受信履歴切替停止閾値A104、受信履歴バッファに格納された情報を解析のため受信履歴解析部143に退避する閾値である受信履歴退避閾値A105のフィールドから構成されている。
受信履歴切替中フラグA102は、受信履歴バッファの面切替処理が動作しているか示す情報が格納される。その情報が「on」である場合は受信履歴バッファの面切替処理が動作中であることを示す。その情報が「off」である場合は受信履歴情報が書込先頭受信履歴バッファにのみ格納されていることを示す。受信履歴切替開始閾値A103は、受信履歴バッファの面切替制御を開始する閾値であって受信バッファの容量に対してCPU受信パケットが保持されている割合や保持容量により特定される。受信履歴切替停止閾値A104は、先頭の受信履歴バッファによる履歴管理に移行する閾値であって、受信バッファの容量に対してCPU受信パケットが保持されている割合や保持容量により特定される。受信履歴退避閾値A105は、受信履歴解析部143に退避する閾値で、受信バッファの容量に対してCPU受信パケットが保持されている割合や保持容量により特定される。受信履歴退避閾値A105は、例えば、受信バッファ溢れを受信履歴解析部143に退避する契機にする場合は100%と設定される。
CPU宛受信管理データテーブル139の受信バッファサイズA101は装置が有する受信バッファ138のサイズであり固定値となる。CPU宛受信管理データテーブル139の受信履歴切替開始閾値A103、受信履歴切替停止閾値A104、受信履歴退避閾値A105は外部入力により、予めコンフィグレーション設定することで生成されるものである。
図4は、受信履歴制御データベース142を示す。受信履歴制御データベース142は、受信履歴バッファ141への書き込み状況に関する情報を保持し、例えば図4に示す受信履歴制御データテーブルB100の構成を有する。受信履歴制御データテーブルB100は、それぞれ受信履歴バッファに格納できるパケットの最大値である受信履歴バッファサイズB101、受信履歴情報を格納する受信履歴バッファの最大面数を示す受信履歴バッファ最大面数B102、定常的に受信履歴を格納するリングバッファとして動作する受信履歴バッファの面を示す書込先頭受信履歴バッファ番号B103、現在受信履歴を格納しているバッファの面番号を示す書込中受信履歴バッファ番号B104、受信バッファ138の状態が受信履歴情報退避の予備処理である受信履歴バッファの面切替を開始させる状態であるかを示す切替フラグB105、受信履歴バッファ退避処理を行うかを示す退避フラグB106のフィールドから構成されている。
受信履歴制御データテーブル142の受信履歴バッファサイズB101は装置が有する受信履歴バッファ141のサイズであり、受信バッファ138のサイズと同等であるため固定値となる。受信履歴バッファ141は同じサイズのバッファを複数面持ち、一回の受信履歴情報退避に使用できる受信履歴バッファ面は、受信履歴バッファ最大面数B102より−1した面数とする。これは、受信履歴バッファに格納されたパケット情報を受信履歴解析部143へ退避する際に受信したパケット情報を格納するため、最低1面はリングバッファとして動作させるためである。なお、受信履歴制御データテーブル142の受信履歴バッファ最大面数B102は予めコンフィグレーション設定することで生成されるものである。受信履歴制御データテーブル142の切替フラグB105、退避フラグB106はCPU宛受信管理部137から通知された情報を基に生成される。
図5は、パケット通信装置101におけるCPU宛受信管理部137が実行するパケット受信処理C100を示すフローチャートである。この処理は、例えば、CPU宛受信管理部137の受信バッファ138にパケットを格納するときに実行する。CPU宛受信管理部137は、受信バッファ138にパケットを格納すると、C101ではCPU宛受信管理データテーブルA100を参照し、受信履歴切替中フラグA102がonかoffかを判定する。判定結果がonであったならばC105へ、offであったならばC102へ移行する。C102では、CPU宛受信管理部137は、CPU宛受信管理データテーブルA100を参照し、パケットを格納した受信バッファ138の使用量が受信履歴切替開始閾値A103を上回っているか否かを判定する。判定結果が上回っているならばC103へ、上回っていないならば処理を終了する。
C103では、CPU宛受信管理部137は、受信履歴制御部140へ受信履歴バッファの面切替処理を動作させるための通知を行い、受信履歴制御データテーブルB100の切替フラグB105をonに設定し、C104へ移行する。C104では、CPU宛受信管理部137は、CPU宛受信管理データテーブルA100の受信履歴切替中フラグA102をonに設定し処理を終了する。
C105では、CPU宛受信管理部137は、パケットを格納した受信バッファ138の使用量が受信履歴切替停止閾値A104を下回っているか否かを判定する。判定結果が下回っているならばC106へ、下回っていないならばC108へ移行する。C106では、CPU宛受信管理部137は、受信履歴制御部140へ受信履歴バッファの面切替処理を停止させるための通知を行い、受信履歴制御データテーブルB100の退避フラグB106をonに設定し、C107へ移行する。C107では、CPU宛受信管理部137は、CPU宛受信管理データテーブルA100の受信履歴切替中フラグA102をoffに設定し処理を終了する。
C108では、CPU宛受信管理部137は、CPU宛受信管理データテーブルA100を参照し、パケットを格納した受信バッファ138の使用量が受信履歴退避閾値A105を上回っているか否かを判定する。判定結果が上回っているならばC109へ、上回っていないならば処理を終了する。C109ではCPU宛受信管理部137は、受信履歴制御部140へ全ての受信履歴バッファを退避させるための通知を行い、受信履歴制御データテーブルB100の退避フラグB106をonに設定し、C110へ移行する。C110ではCPU宛受信管理データテーブルA100の受信履歴切替中フラグA102をoffに設定し処理を終了する。なお、パケットを受信するタイミングではなく、CPU宛受信管理部137が、受信バッファ138の利用状況を監視し、定期的に図5のC101、105、108における各閾値以上になっているか判断を行なってもよい。一例である図5のフローチャートに従って、CPU宛受信管理部137が、CPU宛受信管理データテーブルA100を参照し、受信バッファ138の使用状態を取得する。
図6は、パケット通信装置101における受信履歴制御部140が実行する受信履歴バッファ処理D100を示すフローチャートである。この処理は受信履歴バッファ141がパケットを受信するときに実行する場合を例にして説明する。受信履歴制御部140は、D101では受信履歴制御データテーブルB100の退避フラグB106がonかoffかを判定する。判定結果がonであったならばD108へ、offであったならばD102へ移行する。D102では受信履歴制御データテーブルB100を参照し、書込中受信履歴バッファ番号B104が示す受信履歴バッファ141のパケット格納状況を確認し、受信したパケットを格納する空きがあるか判定する。判定結果が空き有であるならばD111へ、空き無であるならばD103へ移行する。D103では受信履歴制御データテーブルB100の切替フラグB105がonかoffかを判定する。判定結果がonであるならばD105へ、offであるならばD104へ移行する。
D104では、受信したパケットを受信履歴バッファ141へ格納するため、受信履歴バッファ141において最も古いパケットに上書きしD111へ移行する。
D105では、受信履歴制御データテーブルB100を参照し、受信履歴バッファの各面にデータが格納済みであるかを判定する。具体的には、受信履歴制御部140は、受信履歴制御データテーブルB100の受信履歴バッファ最大数面B102から−1した面数分の受信履歴バッファにパケットを格納済みであるかを判定する。判定結果がYesであるならばD108へ、NoであるならばD106へ移行する。D106では受信したパケットを格納するための受信履歴バッファの面切替を実行しD107へ移行する。なお、受信履歴バッファの使用面を切り替える際、受信履歴制御部140は、受信履歴バッファの面の先頭に面を切り替えた時間を付与してもよい。受信履歴バッファ情報退避後の分析において、時間要素としての分析が可能となる。D107では受信履歴制御データテーブルB100の書込中受信履歴バッファ番号B104を更新しD111へ移行する。
D108では受信履歴制御データテーブルB100の書込先頭受信履歴バッファ番号B103から書込中受信履歴バッファ番号B104までの全ての受信履歴バッファを解析のため受信履歴解析部143へ退避、および退避対象となった受信履歴バッファのバッファクリアを実施し、D109へ移行する。D109では受信履歴制御データテーブルB100の切替フラグB105と退避フラグB106をoffに設定しD110へ移行する。D110では受信履歴制御データテーブルB100の書込先頭受信履歴バッファ番号B103と書込中受信履歴バッファ番号B104を書込中受信履歴バッファ番号+1に更新しD111へ移行する。D111では受信したパケットを受信履歴バッファ141に最新パケットとして格納し、処理を終了する。
以上の説明が、CPU宛受信パケットの履歴を管理するための、パケット通信装置101が有するテーブルやフローチャートである。 一方、CPU発送信の履歴を管理するための、パケット通信装置101が有するテーブルやフローチャートは、図3から図6と同様である。例えば、CPU発送信管理データベース204及び送信履歴制御データベース207の構成は、図3、図4の各項目のうち「受信」を「送信」に置き換えた構成となる。
CPU発送信管理部202は、「受信」を「送信」に置き換えた図5のフローチャートと同様の処理を実行する。送信履歴制御部205は、「受信」を「送信」に置き換えた図6のフローチャートと同様の処理を実行する。
図8、図9、図10及び図11はCPU宛フレーム受信部136とCPU宛受信管理部137と受信履歴制御部140の動作を模式的に説明する図である。図中の表は、パケット通信装置101におけるCPU宛受信管理データテーブルK139および受信履歴制御データテーブルK142を示している。なお、受信履歴制御部140が有する受信履歴バッファ141は、No1からNo10まで、10面を持っているものとするが、面の数はこれに限られない。
図8は、CPU宛受信管理部137の受信バッファ138の使用量がCPU宛受信管理データテーブルK139の受信履歴切替開始閾値を上回らない場合における、CPU宛受信管理部137と受信履歴制御部140の動作を示す。本例ではCPU宛パケットを受信するパケット通信装置101において、CPU宛受信管理部137内の受信バッファ138の使用量が、CPU宛受信管理データテーブルK139の受信履歴切替開始閾値A103を超過し、その後受信履歴退避閾値A105をも超過した状態である。まず、CPU宛フレーム受信部136がCPU宛パケットP001をCPU宛受信管理部137と受信履歴制御部140へ送信する。
CPU宛受信管理部137は、受信バッファ138にCPU宛パケットP001を格納すると、CPU宛受信管理データテーブルK139を参照し、受信履歴切替中フラグA102がonかoffかを判定する(C101)。受信履歴切替中フラグA102はoffであるため、CPU宛受信管理部137は、CPU宛受信管理データテーブルK139を参照し、パケットを受信した受信バッファ138の使用量が受信履歴切替開始閾値A103を上回っているか否かを判定する(C102)。判定結果が、受信バッファ138の使用量は受信履歴切替開始閾値A103を上回っていないため、CPU宛受信管理部137は、図5の処理を終了する。
また、受信履歴制御部140は、CPU宛パケットP001を受信すると、受信履歴制御データテーブルK142を参照し、退避フラグB106がonかoffかを判定する(D101)。退避フラグB106はoffであるため、受信履歴制御部140は、受信履歴制御データテーブルK142を参照し、受信履歴バッファの空き判定を実施する(D102)。受信履歴制御部140は、受信履歴バッファに空きがあるので受信履歴制御データテーブルK142を参照し、書込先頭受信履歴バッファ番号B103と書込中受信履歴バッファ番号B104が同じであるので、書込先頭受信履歴バッファへパケットP001を格納する(D111)。CPU宛受信管理部137内の受信バッファ138のパケットP001はその後CPU宛フレーム送信部(144)へ転送されるが、受信履歴制御部140内の受信履歴バッファ141は受信パケット情報を累積するため、パケットP001が保持されたままである。例えば、受信履歴バッファ141に保持されるパケットP001の複製は、CPU145にパケットP001に送信された後でも、D104で上書きされる、あるいは受信履歴解析部143の記憶領域に退避されるまで、保持される。以降のCPU宛受信パケットP002についても同様な処理がCPU宛受信管理部及び受信履歴制御部140により図6のフローチャートに従って実施される。
図9は、CPU宛受信管理部137と受信履歴制御部140は、書込中受信履歴バッファ番号B104が書込先頭受信履歴バッファ番号B103と同じで、且つ書込中受信履歴バッファの空きが無い場合の動作を示す。まずCPU宛フレーム受信部136は、CPU宛パケットP009をCPU宛受信管理部137と受信履歴制御部140へ送信する。CPU宛受信管理部137は、受信バッファ138にCPU宛パケットP009を格納すると、CPU宛受信管理データテーブルK139を参照し、受信履歴切替中フラグA102がonかoffかを判定する。CPU宛受信管理部137は、受信履歴切替中フラグA102はoffであるため、CPU宛受信管理データテーブルK139を参照し、パケットを受信した受信バッファ138の使用量が受信履歴切替開始閾値A103を上回っているか否かを判定する(C102)。受信バッファ138の使用量は受信履歴切替開始閾値A103を上回っていないため、CPU宛受信管理部137は、図5の処理を終了する。
また、受信履歴制御部140の受信履歴バッファ141がCPU宛パケットP009を受信すると、受信履歴制御部140は、受信履歴制御データテーブルK142を参照し、退避フラグB106がonかoffかを判定する(D101)。受信履歴制御部140は、退避フラグB106はoffであるため、受信履歴制御データテーブルK142を参照し、受信履歴バッファの空き判定を実施する(D102)。受信履歴制御部140は、空きが無いので受信履歴制御データテーブルK142を参照し、切替フラグB105がonかoffかを判定する(D103)。切替フラグB105はoffであるため、受信履歴制御部140は、受信履歴制御データテーブルK142を参照し、書込先頭受信履歴バッファ番号B103と書込中受信履歴バッファ番号B104とを比較する。書込先頭受信履歴バッファ番号B103と書込中受信履歴バッファ番号B104が同じであるので、受信履歴制御部140は、書込先頭受信履歴バッファ番号B103の第1番の受信履歴バッファ141の面に保持される最古パケットであるP001に最新パケットであるP009を上書きする(D104)。このように書込先頭受信履歴バッファはリングバッファとして、P010以降のCPU宛受信パケットについても受信履歴制御部140は、図6の同様な処理が実施される。
図10は、CPU宛フレーム受信部136がCPU宛パケットP013をCPU宛受信管理部137と受信履歴制御部140へ送信した際、CPU宛受信管理部137の受信バッファ138の使用量がCPU宛受信管理データテーブルK139の受信履歴切替開始閾値A103を上回る場合の動作を示す。CPU宛受信管理部137は、受信バッファ138にCPU宛パケットP013を格納すると、CPU宛受信管理データテーブルK139を参照し、受信履歴切替中フラグA102がonかoffかを判定する(C101)。受信履歴切替中フラグA102はoffであるため、CPU宛受信管理部137は、CPU宛受信管理データテーブルK139を参照し、パケットを格納した受信バッファ138の使用量が受信履歴切替開始閾値A103を上回っているか否かを判定する(C102)。受信バッファ138の使用量は受信履歴切替開始閾値A103を上回っているため、CPU宛受信管理部137は、受信履歴制御部140へ受信履歴バッファの面切替処理を動作させるための通知を行い(C103)、CPU宛受信管理データテーブルK139の受信履歴切替中フラグA102をonに設定する(C104)。受信履歴制御部140はCPU宛受信管理部137より受信履歴切替通知を受信すると、受信履歴制御データテーブルK142の切替フラグB105をonに設定する。
また、受信履歴制御部140の受信履歴バッファ141がCPU宛パケットP013を受信すると、受信履歴制御部140は、受信履歴制御データテーブルK142を参照し、退避フラグB106がonかoffかを判定する(D101)。退避フラグB106はoffであるため、受信履歴制御部140は、受信履歴制御データテーブルK142を参照し、受信履歴バッファの空き判定を実施する(D102)。受信履歴制御部140は、空きが無いので受信履歴制御データテーブルK142を参照し、切替フラグB105がonかoffかを判定する(D103)。
切替フラグB105はonであるため、受信履歴制御部140は、受信履歴制御データテーブルK142を参照し、書込中受信履歴バッファ番号B104が1回の受信履歴情報退避で使用可能とする受信履歴バッファ最大面数B102より−1した番号であるか判定する(D105)。判定結果が、書込中受信履歴バッファ番号B104は「1」であり、かつ、「受信履歴バッファ最大面数B102より−1した番号」ではないため、受信履歴制御部140は、受信履歴制御データテーブルK142の書込中受信履歴バッファ番号B104を+1に設定し、CPU宛パケットP013を新たな受信履歴バッファ(第2番受信履歴バッファ)へ格納する(D106、D107)。受信履歴制御部140は、受信履歴バッファの先頭バッファ以外は受信履歴バッファサイズB101分までパケットを格納すると、受信履歴制御部140は、書込中受信履歴バッファ番号B104をさらに+1に設定し、さらに次の面へパケットを格納する(D106、D107)。受信履歴制御部140は、最大で受信履歴バッファ最大面数B102から−1した面数まで図6の動作を繰り返す。
図11は、CPU宛受信管理部137の受信バッファ138の使用量がCPU宛受信管理データテーブルK139の受信履歴退避閾値A105を上回る場合における、CPU宛受信管理部137と受信履歴制御部140の動作を示す。まず、CPU宛フレーム受信部136がCPU宛パケットP027をCPU宛受信管理部137と受信履歴制御部140へ送信する。CPU宛受信管理部137が受信バッファ138にCPU宛パケットP027を格納すると、CPU宛受信管理部137は、CPU宛受信管理データテーブルK139を参照し、受信履歴切替中フラグA102がonかoffかを判定する(C101)。受信履歴切替中フラグA102はonであるため、CPU宛受信管理部137は、CPU宛受信管理データテーブルK139を参照し、パケットを受信した受信バッファ138の使用量が受信履歴切替停止閾値A104を下回っているか否かを判定する(C105)。
受信バッファ138の使用量は受信履歴切替停止閾値A104を下回っていないため、CPU宛受信管理部137は、CPU宛受信管理データテーブルK139を参照し、パケットを受信した受信バッファ138の使用量が受信履歴退避閾値A105を上回っているか否かを判定する(C108)。受信バッファ138の使用量は受信履歴退避閾値A105を上回っているため、CPU宛受信管理部137は、受信履歴制御部140へ受信履歴バッファの受信履歴情報を受信履歴解析部(143)へ退避させるための通知を行い、CPU宛受信管理データテーブルK139の受信履歴切替中フラグA102をoffに設定する(C110)。受信履歴制御部140はCPU宛受信管理部137より受信履歴退避通知を受信すると、受信履歴制御データテーブルK142の退避フラグB106をonに設定する。
また、受信履歴制御部140は、受信履歴バッファ141がCPU宛パケットP027を受信すると、受信履歴制御データテーブルK142を参照し、退避フラグB106がonかoffかを判定する(D101)。退避フラグB106はonであるため、受信履歴制御部140は、受信履歴制御データテーブルK142の書込先頭受信履歴バッファ番号B103、および書込中受信履歴バッファ番号B104を参照し、書込先頭受信履歴バッファ番号(第1番受信履歴バッファ)から書込中受信履歴バッファ番号(第3番受信履歴バッファ)までの受信履歴バッファに格納されたパケット情報を受信履歴情報として受信履歴解析部(143)へ退避させ、退避対象となった受信履歴バッファのバッファクリアを実施する(D108)。
そして、受信履歴制御部140は、受信履歴制御データテーブルK142の切替フラグB105および退避フラグB106をoffに設定し、書込先頭受信履歴バッファ番号B103、および書込中受信履歴バッファ番号B104を書込中受信履歴バッファ番号+1に設定(第4番受信履歴バッファ)し、新たな書込中受信履歴バッファ番号(第4番受信履歴バッファ)が示す受信履歴バッファへパケットP027を格納する。受信履歴解析部(143)は、退避された受信履歴情報を解析することで、本事象の原因および本事象に至った経緯等の情報を得ることができる。
上述の実施例によると、たとえば、装置負荷等により一時的に受信バッファが滞留したが、一時的であり、その後安定した場合であっても、一時的に受信バッファにパケットが滞留した原因を分析するために、受信バッファに格納されたパケットが受信履歴解析部143へ退避される。具体的には、CPU宛受信管理部137内の受信バッファ138の使用量が、CPU宛受信管理データテーブルA100の受信履歴切替開始閾値A103を超過し、受信履歴バッファの面が切り替わる。
そして、CPU宛受信管理部137内の受信バッファ138の使用量が、CPU宛受信管理データテーブルA100の受信履歴切替停止閾値A104を下回った際、受信履歴制御データテーブルB100の退避フラグがonに設定され、図6のD101及びC108により受信履歴バッファに格納されているパケットが受信履歴解析部に退避される。
または、受信履歴制御部140は、受信履歴バッファの面への書き込みが進むと、図6のD105及びD108により、受信履歴バッファに格納されているパケットが受信履歴解析部に退避される。CPU宛受信管理部によるCPU宛パケットの受信を継続しつつ、CPU宛パケットを順次保持する受信履歴バッファ141の複数面の使用状況により、受信履歴バッファ141の情報は受信履歴解析部143に退避される。そして、退避された受信履歴情報を解析することで、受信バッファの使用量が一時的に滞留した原因および本事象に至った経緯等の情報を得ることができる。
また、上述の実施例によると、CPU宛受信管理部137内の受信バッファ138の使用量が、CPU宛受信管理データテーブルA100の受信履歴切替開始閾値A103を超過し続けるが、受信履歴退避閾値A105を超過することも、受信履歴切替停止閾値A104を下回ることも無い場合、受信履歴バッファ最大面数分の面が使用される。そして、受信履歴バッファに格納されたパケット情報は、受信履歴解析部143へ退避され、および退避対象となった受信履歴バッファのバッファクリアが実施され、CPU宛パケットの受信履歴へのバッファリングが継続される。一方、受信履歴解析部に退避された受信履歴情報を解析することにより、受信バッファの使用量が高い状態が継続している原因および本事象に至った経緯等の情報を得ることができる。
また、CPU宛受信管理部137内の受信バッファ138の使用量の状態に関わらず、コマンド等による外部トリガーを契機として、受信履歴制御部140が受信履歴バッファ141の面切替および退避を実行してもよい。たとえば、定常的に装置が受信しているパケット情報を解析したい場合等を想定する。コマンドの入力を受け、受信履歴バッファの情報を退避させる外部トリガーが発生すると、受信履歴制御部140は受信履歴制御データテーブルB100の退避フラグB106をonに設定する。
そして、受信履歴制御部140は、受信履歴バッファにパケットを積む際、受信履歴制御データテーブルB100を参照し、先頭バッファ番号B103から書込中受信履歴バッファ番号B104までの受信履歴バッファを受信履歴解析部143へ全て退避させ、バッファクリアする。そして、受信履歴制御部140は、受信履歴制御データテーブルB100の切替フラグB105と退避フラグB106をoffに設定し、書込中受信履歴バッファ番号B104を+1に設定し、新たな書込中受信履歴バッファ番号が示す受信履歴バッファへパケットを詰む。受信履歴解析部143は、退避された受信履歴情報を解析することで、装置が受信しているパケット情報を得ることができる。
また、より多くの受信パケット情報を解析したい場合、受信履歴バッファ141の面切替を実行するコマンド等の外部トリガーを発生させると、受信履歴制御部140は、受信履歴制御データテーブルB100の切替フラグB105をonに設定する。そして、受信履歴制御部140は、書込中受信履歴バッファ面の全てを使い切るか、受信履歴バッファの情報を退避させる外部トリガーが発生により、受信履歴制御データテーブルB100の退避フラグB106がonに設定されるまで、受信履歴バッファの面切替を実施しながら受信パケットを収集する。受信履歴解析部143は、退避された受信履歴情報を解析することで、パケット通信装置101が送受信するパケット情報を任意の契機で分析することができる。
上述の実施例によると、受信バッファの使用量を監視し、受信バッファの使用量が少なく安定している場合、受信履歴バッファは単一面のみをリングバッファとして使用することで、必要以上のパケット情報を保持することを抑止できる。
上述の実施例によると、複数の受信履歴バッファを使用する場合、一度のパケット分析に使用する受信履歴バッファの使用面を最大値−1の面数とし、受信履歴バッファ情報の退避処理中に受信バッファに詰まれる情報をも余さず監視、分析できる。
上述の実施例によると、受信履歴バッファの情報を退避する契機として、受信バッファの使用量がある閾値を超過した場合や下回った場合、受信履歴バッファ面が枯渇した場合などを提供することで、様々な条件下でのパケット分析を可能とする。
上述の実施例によると、退避した受信履歴バッファ情報を解析し、受信履歴バッファ内でのパケット分布やパケットの入力もしくは出力ポートやパケットの各フィールドの値、受信履歴バッファ面の切替り時間などを装置輻輳要因として提供することができる。
なお、上述の実施例によると、受信履歴情報の収集および解析する機構をパケット通信装置内に設けることで、外部装置との送受信のために必要となる帯域を有効利用でき、且つ課題となる事象発生時の解析をリアルタイムで実施することができる。
また、上述の実施例では、装置内のCPU宛/発パケットに注目して記載するが、本発明はそれらに限定されない。
本発明のある態様によれば、ネットワークへ接続されるパケット通信装置であって、装置輻輳の主な要因となりうるCPU宛のパケット受信およびCPU発のパケット送信において、パケットを受信バッファまたは送信バッファに詰み、該当バッファの状態を予め設定された情報に基づいて管理するCPU宛受信管理部またはCPU発送信管理部と、前記受信バッファもしくは前記送信バッファに詰まれる全てのパケットを複製し、前記受信バッファに対応した受信履歴バッファ、もしくは前記送信バッファに対応した送信履歴バッファにも積み、前記CPU宛受信管理部からの通知に基づいて、前記受信履歴バッファの面切替および前記受信履歴バッファに格納されたパケット情報の退避を制御する受信履歴制御部により退避された前記受信履歴バッファに格納された受信履歴情報を解析する受信履歴解析部と、前記CPU発送信管理部からの通知に基づいて、前記送信履歴バッファの面切替および前記送信履歴バッファに格納されたパケット情報の退避を制御する送信履歴制御部により退避された前記送信履歴バッファに格納された送信履歴情報を解析する送信履歴解析部とを備えるトラフィック分析装置が提供される。
上記態様によれば、ネットワークへ接続されるパケット通信装置であって、CPU宛に受信するパケットに関する情報がリアルタイムに受信履歴バッファにも格納され、前記受信バッファの使用量と予め設定した監視閾値情報に基づいて、前記受信履歴バッファの面を切り替えることにより、前記受信バッファにパケットが溜まり始めてから溢れるまでの前記受信履歴バッファの情報を解析することにより、前記受信バッファが溢れた瞬間だけでなく、前記受信バッファの状態を段階的に分析することができる。
同様に、CPU発の送信パケットに関する情報がリアルタイムに送信履歴バッファにも格納され、前記送信バッファの使用量と予め設定した監視閾値情報に基づいて、前記送信履歴バッファの面を切り替えることにより、前記送信バッファにパケットが溜まり始めてから溢れるまでの前記送信履歴バッファの情報を解析することにより、前記送信バッファが溢れた瞬間だけでなく、前記送信バッファの状態を段階的に分析することができる。
上記構成において、前記受信履歴バッファ、もしくは前記送信履歴バッファはパケットを最大面数より残り1面を残した受信履歴バッファ、もしくは送信履歴バッファに格納し、残り1面は前記受信履歴解析部、もしくは前記送信履歴解析部への退避処理中に受信、または送信したパケットを格納することができる。
前記受信バッファ、もしくは前記送信バッファの状態が閾値以下で安定している際は、前記受信履歴バッファ、もしくは前記送信履歴バッファはパケット書込み面の先頭の面にのみパケット情報をリング形式で格納し、前記監視閾値情報を超過した場合のみ面切替を行うものであってもよい。
前記受信履歴制御部、もしくは前記送信履歴制御部は、監視する前記受信バッファ、もしくは前記送信バッファの使用量が特定の監視閾値を上回った場合だけでなく、下回った場合も前記受信履歴解析部、もしくは前記送信履歴解析部へ前記受信履歴バッファ、もしくは前記送信履歴バッファの情報を退避してもよい。かかる構成によれば、装置輻輳までには至らなくとも、一時的に前記受信バッファ、もしくは前記送信バッファを圧迫した原因を分析することができる。
前記受信履歴制御部での前記受信履歴バッファの面切替、もしくは前記送信履歴制御部での前記送信履歴バッファの面切替、および前記受信履歴解析部への前記受信履歴バッファ情報の退避、前記送信履歴解析部への前記送信履歴バッファ情報の退避は、前記受信バッファ、もしくは前記送信バッファの状態に基づくだけではなく、コマンド実行等の外部要因を契機に実行されてもよい。かかる構成によれば、前記パケット通信装置が送受信するパケット情報を任意の契機で分析することができる。
また、上述のパケット通信装置によると、受信バッファの使用量が増加し始めてからのパケットを分析することができる。
101 パケット通信装置、102 装置制御部、103 パケット転送制御部、131 物理回線制御部、132 受信制御部、133 送信制御部、134 フレーム中継部、135 フレーム制御部、136 CPU宛フレーム受信部、137 CPU宛受信管理部、138 受信バッファ、139 CPU宛受信管理データベース、140 受信履歴制御部、141 受信履歴バッファ、142 受信履歴制御データベース、143 受信履歴解析部、144 CPU宛フレーム送信部、145 CPU、201 CPU発フレーム受信部、202 CPU発送信管理部、203 送信バッファ、204 CPU発送信管理データベース、205 送信履歴制御部、206 送信履歴バッファ、207 送信履歴制御データベース、208 送信履歴解析部、209 CPU発フレーム送信部

Claims (7)

  1. 情報処理装置間で送受信されるパケットを中継するパケット通信装置であって、
    ネットワークに接続されるネットワークインターフェースと、
    前記ネットワークインターフェースを介して受信される複数のパケットのうちいずれか一のパケットの宛先であるCPUと、
    前記CPU宛のパケットを前記CPUに出力するために保持する第一のバッファと、
    複数の面を備え、前記第一のバッファに保持するCPU宛のパケットの複製を前記面のいずれかに保持する第二のバッファと、
    前記第一のバッファの使用量に基づいて、前記第二のバッファの所定の面に前記複製を保持する、あるいは、前記第二のバッファに保持される複製を他の記憶領域に退避する、受信履歴制御部と、を有するパケット通信装置。
  2. 請求項1記載のパケット通信装置であって、
    さらに、前記第一のバッファ使用量を監視し、前記バッファ使用量が第一の閾値に達した場合、前記複製を保持する前記第二のバッファの面を切替える指示を前記受信履歴制御部に行ない、
    前記バッファ使用量が第一の閾値よりも大きい第二の閾値に達した場合、前記他の記憶領域に前記複製を退避させる指示を前記受信履歴制御部に行う、パケット受信管理部を、有するパケット通信装置。
  3. 請求項1記載のパケット通信装置であって、
    前記第一のバッファと前記第二のバッファにおける一の面とは、同じ容量である、パケット通信装置。
  4. 請求項1記載のパケット通信装置であって、
    前記受信履歴制御部は、
    前記第一のバッファ使用量が第一の閾値に達しない場合、前記第二のバッファの所定の面をリングバッファとして、既に保持されている複製に上書きして、異なるCPU宛パケットの複製を上書きし、
    前記第一のバッファ使用量が第一の閾値に達し、かつ、前記第二のバッファの所定の面に空きがない場合、CPU宛パケットの複製を保持する面を切り替え、前記第二のバッファの他の面に保持する、パケット通信装置。
  5. 請求項4記載のパケット通信装置であって、
    前記第一のバッファ使用量が前記第一の閾値に達した後に、第三の閾値を下回り、かつ、
    前記第二のバッファの所定の面に空きがない場合、前記第二のバッファの所定の面をリングバッファとして、既に保持されている複製に上書きして、異なるCPU宛パケットの複製を上書きする、パケット通信装置。
  6. 請求項1記載のパケット通信装置であって、
    前記CPUから前記ネットワークインターフェースを介してネットワークに向けて出力するために、前記CPUからのCPU発パケットを保持する第三のバッファと、
    複数の面を備え、前記第三のバッファに保持するCPUパケットの複製を前記面のいずれかに保持する前記CPU発パケットの複製を保持する第四のバッファと、
    前記第三のバッファの使用量に基づいて、前記第四のバッファの所定の面にCPUパケットの複製を保持する、あるいは、前記第四のバッファに保持されるCPUパケットの複製を他の記憶領域に退避する、送信履歴制御部と、を有するパケット通信装置。
  7. 情報処理装置間で送受信されるパケットを中継するパケット通信装置であって、
    ネットワークに接続されるネットワークインターフェースと、
    前記ネットワークインターフェースを介して受信される複数のパケットのうちいずれか一のパケットの宛先または前記ネットワークインターフェースを介して送信される複数のパケットのうちいずれか一のパケットの送信元であるCPUと、
    受信した受信パケットを前記CPUに出力するために保持する受信バッファと、
    前記CPUから出力される送信パケットを前記ネットワークに送信するために保持する送信バッファと、
    前記受信バッファの受信パケットの保持状況に基づいて決定される、所定の領域に前記受信パケットの複製を保持する受信履歴バッファと、
    前記送信バッファの送信パケットの保持状況に基づいて決定される、所定の領域に前記送信パケットの複製を保持する送信履歴バッファと、
    前記受信履歴バッファに格納される前記受信パケットの複製を他の記憶領域に退避し、前記送信履歴バッファに格納される前記送信パケットの複製を他の記憶領域に退避する退避部と、を有するパケット通信装置。
JP2015154690A 2015-08-05 2015-08-05 通信装置 Active JP6466279B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015154690A JP6466279B2 (ja) 2015-08-05 2015-08-05 通信装置
US15/220,435 US10164916B2 (en) 2015-08-05 2016-07-27 Communication apparatus with multiple buffers and control thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015154690A JP6466279B2 (ja) 2015-08-05 2015-08-05 通信装置

Publications (2)

Publication Number Publication Date
JP2017034574A JP2017034574A (ja) 2017-02-09
JP6466279B2 true JP6466279B2 (ja) 2019-02-06

Family

ID=57988985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015154690A Active JP6466279B2 (ja) 2015-08-05 2015-08-05 通信装置

Country Status (2)

Country Link
US (1) US10164916B2 (ja)
JP (1) JP6466279B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10735459B2 (en) 2017-11-02 2020-08-04 International Business Machines Corporation Service overload attack protection based on selective packet transmission
CN109067607B (zh) * 2018-11-07 2020-09-18 网宿科技股份有限公司 一种调整额定带宽的方法和装置
DE112018008070T5 (de) * 2018-11-16 2021-08-12 Mitsubishi Electric Corporation Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahrenund informationsverarbeitungsprogramm

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175765A (en) * 1989-05-09 1992-12-29 Digital Equipment Corporation Robust data broadcast over a distributed network with malicious failures
US5361255A (en) * 1991-04-29 1994-11-01 Dsc Communications Corporation Method and apparatus for a high speed asynchronous transfer mode switch
US6347337B1 (en) * 1999-01-08 2002-02-12 Intel Corporation Credit based flow control scheme over virtual interface architecture for system area networks
US6721277B1 (en) * 1999-05-28 2004-04-13 Advanced Micro Devices, Inc. Generic register interface for accessing registers located in different clock domains
US20020138655A1 (en) * 2001-03-21 2002-09-26 Jenison Lucas M. Reducing memory copies by a network controller
US7581048B1 (en) * 2001-06-29 2009-08-25 Emc Corporation Method and apparatus for providing continuous communication between computers
US6990095B2 (en) * 2001-10-02 2006-01-24 National Taiwan University Self-routing data switching system
US8995445B2 (en) * 2002-12-19 2015-03-31 International Business Machines Corporation System and method for re-sequencing data packets on a per-flow basis
JP4223365B2 (ja) * 2003-09-29 2009-02-12 富士通株式会社 データ中継装置およびデータ中継方法
US20080247409A1 (en) * 2005-07-27 2008-10-09 Choudhury Abhijit K Queuing and Scheduling Architecture Using Both Internal and External Packet Memory for Network Appliances
US8243595B2 (en) * 2005-08-05 2012-08-14 Hewlett-Packard Development Company, L.P. Prioritization of network traffic sent to a processor by using packet importance
JP4759389B2 (ja) * 2006-01-10 2011-08-31 アラクサラネットワークス株式会社 パケット通信装置
TW200841355A (en) * 2007-04-03 2008-10-16 Apacer Technology Inc Two-dimensional writing data method for flash memory and the corresponding storage device
JP5283638B2 (ja) * 2010-01-08 2013-09-04 アラクサラネットワークス株式会社 パケット中継装置
US8214448B2 (en) * 2010-04-20 2012-07-03 International Business Machines Corporation Optimized utilization of DMA buffers for incoming data packets in a network protocol
JP5411090B2 (ja) * 2010-08-20 2014-02-12 日本電信電話株式会社 バッファ制御方法およびバッファ制御装置
US9444751B1 (en) * 2012-08-03 2016-09-13 University Of Southern California Backpressure with adaptive redundancy
TWI554944B (zh) * 2014-06-20 2016-10-21 慧榮科技股份有限公司 快閃記憶體控制裝置、快閃記憶體控制系統以及快閃記憶體控制方法
JP6338186B2 (ja) * 2015-02-17 2018-06-06 日本電信電話株式会社 仮想化ネットワークシステム

Also Published As

Publication number Publication date
US20170041253A1 (en) 2017-02-09
US10164916B2 (en) 2018-12-25
JP2017034574A (ja) 2017-02-09

Similar Documents

Publication Publication Date Title
JP5637148B2 (ja) スイッチネットワークシステム、コントローラ、及び制御方法
US20180331965A1 (en) Control channel usage monitoring in a software-defined network
EP2676410B1 (en) Flow communication system
JP5283638B2 (ja) パケット中継装置
US8090868B2 (en) Load balancer having band control function and setting method thereof
EP1482684B1 (en) Apparatus and method for minimizing transmission delay in a data communication system
US8514741B2 (en) Packet forwarding device
CN108028828B (zh) 一种分布式拒绝服务DDoS攻击检测方法及相关设备
JP6466279B2 (ja) 通信装置
WO2018001222A1 (zh) 数据传输缓存队列分配方法及装置和计算机存储介质
CN116233018A (zh) 报文处理方法、装置、电子设备及存储介质
JP3779976B2 (ja) 制御パケットを適応的に帯域割当するためのパケットフォワードシステムの制御パケット管理装置およびその方法。
US9374325B2 (en) Hash perturbation with queue management in data communication
KR101742894B1 (ko) 통신 노드, 제어 장치, 통신 시스템, 패킷 처리 방법, 통신 노드 제어 방법 및 프로그램
JP2016224480A (ja) 情報収集システムおよび方法
US9882820B2 (en) Communication apparatus
JP5509994B2 (ja) 障害継続監視システム、障害継続監視方法、及びその監視制御プログラム
KR101818082B1 (ko) 플로우 테이블 관리 방법 및 그 장치
JP6509143B2 (ja) 帯域制御装置及び方法
CN109327402B (zh) 拥塞管理方法及装置
JP2012164116A (ja) メールサーバ保護システム及びメールサーバ保護方法
JP2022180096A (ja) ネットワーク監視装置、ネットワーク監視システム、ネットワーク監視方法、及びプログラム
WO2022249451A1 (ja) スイッチ、ネットワークコントローラ、通信制御方法、及び通信制御プログラム
JP2009159231A (ja) 試験装置測定システム
JP4973566B2 (ja) ファイアウォール装置、アクセス制御分担方法、およびプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170119

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171211

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180223

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181206

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: 20181218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190109

R150 Certificate of patent or registration of utility model

Ref document number: 6466279

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250