JP5053974B2 - パケット中継装置 - Google Patents

パケット中継装置 Download PDF

Info

Publication number
JP5053974B2
JP5053974B2 JP2008259387A JP2008259387A JP5053974B2 JP 5053974 B2 JP5053974 B2 JP 5053974B2 JP 2008259387 A JP2008259387 A JP 2008259387A JP 2008259387 A JP2008259387 A JP 2008259387A JP 5053974 B2 JP5053974 B2 JP 5053974B2
Authority
JP
Japan
Prior art keywords
packet
timer value
timer
amount
circuit
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
JP2008259387A
Other languages
English (en)
Other versions
JP2010093410A (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 JP2008259387A priority Critical patent/JP5053974B2/ja
Priority to CN2009101763771A priority patent/CN101714943B/zh
Priority to US12/572,635 priority patent/US8355329B2/en
Publication of JP2010093410A publication Critical patent/JP2010093410A/ja
Application granted granted Critical
Publication of JP5053974B2 publication Critical patent/JP5053974B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • 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/215Flow control; Congestion control using token-bucket
    • 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/28Flow control; Congestion control in relation to timing considerations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、パケットを中継するパケット中継装置の消費電力を低減する技術に関する。
スイッチやルータをはじめとするパケット中継装置は、ネットワークの構築にあたって大変重要なデバイスである。近年、ネットワークの大規模化や中継するパケット量の増加に伴い、パケット中継装置の処理能力(パケット中継能力)の向上が著しい。
パケット中継装置の処理能力を高めるには、動作クロックの高速化が不可欠であるが、近年では、動作クロックの高速化に伴ってパケット中継装置が消費する電力量も増大している。そこで、下記特許文献1には、パケット中継装置の利用状態に応じて、動作クロックを低下させることで、パケット中継装置を省電力化する技術が開示されている。
特開2007−228491号公報
ところが、省電力化のためにパケット中継装置の動作クロックを単純に低下させてしまうと、パケット中継装置が単位時間当たりに転送可能なパケットの量が低下してしまうおそれがあった。
このような問題を考慮し、本発明が解決しようとする課題は、パケット中継装置の動作クロックを低下させた場合においても、パケット中継装置が転送可能なパケット量を一定に保つ技術を提供することにある。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
本発明の第1の形態は、ネットワークを流れるパケットを中継するパケット中継装置であって、
パケットを受信する受信部と、
当該パケット中継装置の動作の基準となる所定周波数のクロック信号を生成するクロック生成部と、
前記クロック信号に基づいて第1のクロックサイクル数でタイマ値をカウントするタイマ部と、
前記タイマ部から前記タイマ値を入力し、該タイマ値に基づく単位タイマ値当たりに転送可能なパケット量を所定のパケット量に制限しながら、前記受信したパケットを、該パケットのヘッダ情報によって指定された転送先に中継する中継制御部と、
前記受信部が受信するパケット量に基づいて、第1の消費電力で動作する通常モードから、前記第1の消費電力より小さい第2の消費電力で動作する省電力モードに切り替える場合に、前記切り替えの通知を、前記クロック制御部に行うことにより、前記クロック生成部を制御して、前記クロック信号の周波数を1/n(nは1を超える実数)に低減させることにより、当該パケット中継装置の消費電力を低減するとともに、前記切り替えの通知を前記タイマ部にも行う電力制御部とを備え、
前記タイマ部は、
前記第1のクロックサイクル数でタイマ値をカウントする通常用タイマ回路と、
前記第1のクロックサイクル数の1/nの第2のクロックサイクル数でタイマ値をカウントする省電力用タイマ回路と、
前記電力制御部からの切り替えの通知に基づき、前記中継制御部に出力するタイマ値を、前記通常用タイマ回路によってカウントしたタイマ値から前記省電力用タイマ回路によってカウントしたタイマ値に切り換えるセレクタ回路とを有する、
ことを特徴とする。
この形態のパケット中継装置であれば、消費電力を低減するために動作クロックの周波数が1/nに低減された場合には、タイマのカウントが行われるクロックサイクル数も1/nとなる。そのため、クロック周波数の低減前後において、タイマ部から出力されるタイマ値の周期は変動しないことになる。この結果、当該パケット中継装置が単位タイマ値当たりに転送可能なパケット量を、動作クロックの切り換えにかかわらず一定に保つことが可能になる。
[適用例1]ネットワークを流れるパケットを中継するパケット中継装置であって、パケットを受信する受信部と、当該パケット中継装置の動作の基準となる所定周波数のクロック信号を生成するクロック生成部と、前記クロック信号に基づいて第1のクロックサイクル数でタイマ値をカウントするタイマ部と、前記タイマ部から前記タイマ値を入力し、該タイマ値に基づく単位タイマ値当たりに転送可能なパケット量を所定のパケット量に制限しながら、前記受信したパケットを、該パケットのヘッダ情報によって指定された転送先に中継する中継制御部と、前記クロック生成部を制御して、前記クロック信号の周波数を1/nに低減させることにより、当該パケット中継装置の消費電力を低減する電力制御部とを備え、前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が1/n(nは1を超える実数)に低減された場合に、前記第1のクロックサイクル数の1/nのクロックサイクル数である第2のクロックサイクル数で前記タイマ値をカウントするパケット中継装置。
このような構成のパケット中継装置では、消費電力を低減するために動作クロックの周波数が1/nに低減された場合には、タイマのカウントが行われるクロックサイクル数も1/nとなる。そのため、クロック周波数の低減前後において、タイマ部から出力されるタイマ値の周期は変動しないことになる。この結果、当該パケット中継装置が単位タイマ値当たりに転送可能なパケット量を、動作クロックの切り換えにかかわらず一定に保つことが可能になる。
[適用例2]適用例1に記載のパケット中継装置であって、前記中継制御部は、前記単位タイマ値当たりに受信したパケットの量が、前記所定のパケット量を超えた場合に、前記受信したパケットを帯域違反と判定することで、前記パケット量の制限を行うパケット中継装置。このようなパケット中継装置であれば、例えば、帯域違反と判定されたパケットを破棄することで、中継を行うパケット量を制限することができる。また帯域違反と判定されたパケットのパケットヘッダ(例えばIPv4ヘッダのTOSフィールド)を書換えてマーキングすることで、マーキングされずに中継を行うパケット量を制限することができる。また、帯域違反と判定されたパケットに対し、これをパケット中継装置内で蓄積するキューの閾値を浅く変更することで、キューの閾値を変更されずに中継を行うパケット量を制限することができる。
[適用例3]適用例2に記載のパケット中継装置であって、前記中継制御部は、前記パケットのフローを前記ヘッダ情報に基づいて検出し、該検出されたフロー毎に、前記パケット量の制限を行うパケット中継装置。このようなパケット中継装置であれば、パケットのフロー毎に、中継を行うパケット量を制限することができる。
[適用例4]適用例3に記載のパケット中継装置であって、前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が1/nに低減された場合においても、前記第1のクロックサイクル数でカウントされたタイマ値と、前記第2のクロックサイクル数でカウントされたタイマ値との両者を出力可能であり、前記中継処理部は、前記フロー毎に、前記第1のクロックサイクル数でカウントされたタイマ値を用いるか、前記第2のクロックサイクル数でカウントされたタイマ値を用いるかを所定の設定に基づいて選択するパケット中継装置。このようなパケット中継装置であれば、パケットのフロー毎に、単位タイマ値当たりに転送可能なパケット量を一定に保つか否かを選択することが可能になる。
[適用例5]適用例1に記載のパケット中継装置であって、前記中継制御部は、前記受信したパケットの送信タイミングを、該パケットのパケット長と、前記単位タイマ値当たりに転送可能なパケット量とに応じて遅延させることで、前記パケット量の制限を行うパケット中継装置。このようなパケット中継装置であれば、受信したパケットの送信タイミングを遅延させることで、中継を行うパケット量を制限することができる。
[適用例6]適用例5に記載のパケット中継装置であって、前記中継制御部は、前記受信したパケットを前記転送先毎にキューイングし、該転送先毎に、前記パケット量の制限を行うパケット中継装置。このようなパケット中継装置であれば、パケットの転送先毎に中継を行うパケット量を制限することができる。
[適用例7]適用例6に記載のパケット中継装置であって、前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が1/nに低減された場合においても、前記第1のクロックサイクル数でカウントされたタイマ値と、前記第2のクロックサイクル数でカウントされたタイマ値との両者を出力可能であり、前記中継処理部は、前記転送先毎に、前記第1のクロックサイクル数でカウントされたタイマ値を用いるか、前記第2のクロックサイクル数でカウントされたタイマ値を用いるかを所定の設定に基づいて選択するパケット中継装置。このようなパケット中継装置であれば、パケットの転送先毎に、単位タイマ値当たりに転送可能なパケット量を一定に保つか否かを選択することが可能になる。
[適用例8]適用例1に記載のパケット中継装置であって、前記タイマ部は、前記第1のクロックサイクル数でタイマ値をカウントする通常用タイマ回路と、前記第2のクロックサイクル数でタイマ値をカウントする省電力用タイマ回路と、前記電力制御部からの指令に基づき、前記中継制御部に出力するタイマ値を、前記通常用タイマ回路によってカウントしたタイマ値と、前記省電力用タイマ回路によってカウントしたタイマ値とのいずれかに切り換えるセレクタ回路とを備えるパケット中継装置。このようなパケット中継装置であれば、シンプルな回路構成で2種類のタイマ値を出力可能なタイマ部を構成することができる。
なお、本発明は、上述したパケット中継装置としての構成のほか、パケット中継装置の制御方法や、コンピュータプログラムとしても構成することができる。このコンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。記録媒体としては、例えば、フレキシブルディスクやCD−ROM、DVD−ROM、光磁気ディスク、メモリカード、ハードディスク等の種々の媒体を利用することができる。
以下、本発明の実施の形態を、図面を参酌しつつ実施例に基づき次の順序で説明する。
A.第1実施例:
(A1)第1実施例としてのパケット中継装置の概略構成:
(A2)帯域監視部の詳細な構成:
(A3)帯域監視処理:
B.第2実施例:
(B1)第2実施例としてのパケット中継装置の概略構成:
(B2)パケット送信回路の詳細な構成:
(B3)帯域監視処理:
C.変形例:
A.第1実施例:
(A1)第1実施例としてのパケット中継装置の概略構成:
図1は、本発明の第1実施例としてのパケット中継装置10の概略構成を示す図である。パケット中継装置10は、異なるネットワーク同士を接続し、これらのネットワーク間で転送されるパケットを中継する装置である。
図1に示すように、パケット中継装置10は、他の通信機器からパケットを受信するパケット受信回路12と、パケット受信回路12によって受信したパケットのヘッダ情報を解析して中継先を判別する処理(以下、中継処理という)を行う中継制御部14と、中継制御部14からの指示に基づいてパケットの出力先を切り換えるパケット中継回路16と、パケット受信回路12からパケット中継回路16を介して転送されたパケットを他の通信機器に送信するパケット送信回路18とを備えている。パケット受信回路12は、複数の入力回線を備えており、パケット送信回路18は、複数の出力回線を備えている。なお、パケット受信回路12とパケット送信回路18とは、それぞれ複数備えられていることとしてもよい。
パケット中継装置10は、更に、パーソナルコンピュータ等の管理端末20から各種設定を受け付けて記憶するレジスタ回路22と、パケット中継装置10の電力モードを制御する電力制御ユニット24と、パケット中継装置10の動作の基準となるクロック信号を生成するクロック生成回路25とを備えている。
電力制御ユニット24は、CPU26とROM28とRAM30とリアルタイムクロック31とを備えている。リアルタイムクロック31は、上述したクロック生成回路25とは全く別の回路によって構成されている。CPU26は、ROM28に記憶された電力制御プログラムをRAM30にロードして実行することで、パケット中継装置10の消費電力を調整する制御を行う。本実施例では、電力制御ユニット24は、リアルタイムクロック31によって得られる時刻情報に基づき、現在の時刻が夜間(例えば、23時〜5時)であるかを判断する。そして、夜間であれば、電力モードを省電力モードとし、夜間でなければ、電力モードを通常モードとする。
電力制御ユニット24は、電力モードを省電力モードとした場合には、クロック生成回路25に指令を与えて、このクロック生成回路25が生成するクロック信号の周波数を通常モード時よりも低減させる。本実施例では、このように、パケット中継装置10の動作の基準となるクロック信号の周波数を低減させることで、パケット中継装置10の省電力化を行う。なお、本実施例では、現在の時刻に応じて電力モードを切り換えることとするが、パケット受信回路12が一定期間内に受信するパケット量に基づいて、電力モードを切り換えることとしてもよい。具体的には、一定期間内に受信するパケット量が所定の閾値よりも少なければ、省電力モードとし、多ければ、通常モードとすることができる。また、電力制御ユニット24は、受信パケット量が増減する時間帯を学習し、受信パケット量が低減する時間帯において、電力モードを省電力モードとする制御も可能である。
クロック生成回路25は、水晶振動子やPLL回路によって構成されており、生成したクロック信号を中継制御部14に供給する。クロック生成回路25は、電力制御ユニット24から電力モードを表す制御信号を受信して、その電力モードに応じたクロック信号を生成する。本実施例では、電力制御ユニット24から受信した制御信号が通常モードを表す場合には、出力するクロック信号の周波数を400MHzとする。これに対して、受信した制御信号が省電力モードを表す場合には、出力するクロック信号の周波数を200MHzとする。つまり、本実施例では、省電力モードでは、通常モード時よりもクロック周波数を半減させてパケット中継装置10を動作させる。
中継制御部14は、クロック生成回路25から入力したクロック信号に同期して動作するASIC(Application Specific Integrated Circuit)、もしくは、FPGA(Field Programmable Gate Array)によって構成されている。中継制御部14は、内部回路として、帯域監視部32とフロー検出部34と経路検索部36とを備えている。
帯域監視部32は、パケット受信回路12によって受信したパケットの量が、単位時間当たりに許容するパケット量を示す制限レート内に収まるかを、パケットのフロー毎に監視する処理を行う。以下、このような処理を「帯域監視処理」という。本実施例において、「パケット量」とは、パケットのビット数のことをいう。また、「単位時間」とは、後述するタイマ回路60から出力される所定の数のタイマ値(例えば、タイマ値で10カウント分)のことをいう。
図2は、帯域監視部32によって行われる帯域監視処理の概念を示す模式図である。図2には、上面が開口し、底面に穴の空いた所定の深さを有するバケツ状の容器を、帯域監視の様子を示すモデルとして示している。例えば、この容器に上部から注がれた水がこの容器内に収まる限りは、底面の穴から水が一定量ずつ流出していくことになる。ところが、この容器に注がれる水の量が増大してしまうと、底面の穴からは一定量ずつしか水が漏れていかないので、容器から水が溢れてしまうことになる。
つまり、図2に示した容器に注がれる水量を受信パケットのビット数とみなし、容器底面の穴から流出していく水量を、単位時間当たりに許容するパケットのビット数(制限レートR)とみなすと、容器の深さに相当する許容パケット量THR内に受信パケットのビット数が収まる限りは、受信パケットのビット数に増減があっても、パケットは許容されることになる。ところが、受信されるパケットにバースト(=パケットが一度にまとめて送信されてしまう現象)が発生し、許容パケット量を超えてしまえば、受信されたパケットは帯域違反と判定される。例えば、帯域違反と判定されたパケットを破棄するユーザポリシーの場合には、帯域違反パケットは破棄されて、中継は行われないことになる。以下、本実施例ではこのユーザポリシーの場合を例として説明する。帯域監視部32は、このようなアルゴリズムで帯域監視処理を行うことで、ネットワークに過剰なトラフィックが流れることを抑制する。このようなアルゴリズムのことを、一般的に、リーキー・バケット・アルゴリズムと呼ぶ。なお、図2には帯域監視処理の概念を示したが、具体的な処理内容については、後で詳しく説明する。
フロー検出部34(図1参照)は、受信したパケットのヘッダから、そのパケットのフローを検出する。具体的には、フロー検出部34は、パケットのヘッダに記録されたVLAN IDや、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレス、プロトコル、送信元ポート番号、宛先ポート番号等のヘッダ情報のうち、所定の組み合わせのヘッダ情報からそのハッシュ値を求める。こうして求められたハッシュ値が、各フローに個別に割り当てられた番号になる。フロー検出部34は、受信したパケットのフローを検出すると、検出されたフローの番号を帯域監視部32に通知する。帯域監視部32は、この通知を受けると、該当するフローに対して上述した帯域監視処理を行う。
経路検索部36は、パケット受信回路12によって受信したパケットのヘッダから宛先IPアドレスを識別し、この宛先IPアドレスと所定のルーティングテーブルに基づいて、中継先の出力回線を決定する。経路検索部36は、出力回線を決定すると、その出力回線の番号をパケット受信回路12に通知する。パケット受信回路12は、通知された出力回線の番号をパケットに付加し、パケット中継回路16にそのパケットを出力する。パケット中継回路16は、パケット受信回路12からパケットを入力すると、指定された出力回線を有するパケット送信回路18にそのパケットを出力する。パケット送信回路18は、パケットに付加された出力回線の番号に従って、指定された出力回線からパケットを出力する。このとき、パケット送信回路18は、出力するパケットから出力回線の番号を取り除く。
(A2)帯域監視部の詳細な構成:
続いて、中継制御部14が備える帯域監視部32の詳細な構成について説明する。
図3は、帯域監視部32の詳細な構成を示す図である。図3に示すように、帯域監視部32は、帯域監視処理に必要な種々のデータが記録された帯域監視テーブルTBLと、帯域監視テーブルTBLへのデータの記録や読み出しを行う帯域監視テーブル制御部42と、現在受信済みのパケットの量を判定するパケット量判定部44と、現在受信済みのパケットの量が許容パケット量THRを遵守しているかを判定する監視結果判定部46とを備えている。
図4は、帯域監視テーブルTBLの構成を示す図である。図4に示すように、帯域監視テーブルTBLには、監視対象のフロー毎に、「エントリ番号」、「制限レートR」、「最終受信タイマ値TLST」、「バーストパケット量CNT」、「許容パケット量THR」が記録されている。エントリ番号は、各フローに固有に与えられた番号であり、フロー検出部34によって検出されたフローの番号と一致する。制限レートRは、図2に示した容器底面の穴に相当するものであり、単位時間当たりに送信可能なパケットのビット数を示す。最終受信タイマ値TLSTは、そのフローに属するパケットを最後に受信したタイマの値を示す。バーストパケット量CNTは、図2に示した容器内に現時点で残存している水量に相当するものであり、前述の最終受信タイマ値TLSTにおいて制限レートRを越えて受信し帯域違反と判定されなかったパケットの量を示す。許容パケット量THRは、図2に示した容器の深さに相当するものであり、制限レートRを越えて受信を許容するパケットの量を示す。これらの情報のうち、制限レートRおよび許容パケット量THRは、管理端末20によって管理者からレジスタ回路22に設定される。帯域監視テーブル制御部42は、このレジスタ回路22に設定されたデータを読み出し、読み出したデータを帯域監視テーブルTBLに書き込む。
図3に示したパケット量判定部44は、帯域監視テーブルTBLから制限レートRを読み込んで記憶する制限レート記憶部50と、帯域監視テーブルTBLから最終受信タイマ値TLSTを読み込んで記憶する最終受信タイマ値記憶部52と、帯域監視テーブルTBLからバーストパケット量CNTを読み込んで記憶するバーストパケット量記憶部54とを備えている。また、パケット量判定部44は、制限レート記憶部50と最終受信タイマ値記憶部52とパケット量記憶部とに記憶された制限レートR、最終受信タイマ値TLST、および、バーストパケット量CNTに基づいて、現在のバーストパケットの量(バーストパケット量NOWCNT)を算出するバーストパケット量算出回路56と、バーストパケット量算出回路56が、バーストパケット量NOWCNTを算出する際に用いるタイマ値TNOWをカウントするタイマ回路60とを備えている。タイマ回路60から出力されたタイマ値TNOWは、バーストパケット量NOWCNTの算出時だけではなく、帯域監視テーブル制御部42が最終受信タイマ値TLSTを帯域監視テーブルTBLに書き込む際にも利用される。バーストパケット量算出回路56によるバーストパケット量NOWCNTの具体的な算出方法については後述する。
タイマ回路60は、クロック生成回路25から入力されたクロック信号に同期してタイマ値をカウントする通常用タイマ62と、通常用タイマ62の1/2倍の周期でタイマ値をカウントする省電力用タイマ64と、セレクタ回路66とを備えている。セレクタ回路66は、電力制御ユニット24から受信した制御信号に基づいて、タイマ回路60から出力するタイマ値を、通常用タイマ62から出力するか省電力用タイマ64から出力するかを選択する。
図5は、通常モードにおいてタイマ回路60から出力されるタイマ値の状態を示すタイミングチャートである。図示するように、通常モード時には、タイマ回路60は、クロック生成回路25から400MHzのクロック信号を入力する。すると、本実施例では、通常用タイマ62は、4クロックサイクルにつき1回、つまり、100MHzの周波数でタイマ値をカウントアップする。一方、省電力用タイマ64は、通常用タイマ62の1/2の周期でタイマ値をカウントするので、2クロックサイクルにつき1回、つまり、200MHzの周波数でタイマ値をカウントアップする。セレクタ回路66は、電力制御ユニット24から受信した制御信号が通常モードを示す場合には、通常用タイマ62でカウントした100MHzの周波数のタイマ値を出力する。従って、通常モード時には、タイマ回路60からは、10ナノ秒毎にカウントアップされるタイマ値が出力されることになる。
図6は、省電力モードにおいてタイマ回路60から出力されるタイマ値の状態を示すタイミングチャートである。図示するように、省電力モード時には、タイマ回路60は、クロック生成回路25から200MHz(=400MHz/2)のクロック信号を入力する。すると、通常用タイマ62は、4クロックサイクルにつき1回、つまり、50MHzの周波数でタイマ値をカウントアップする。一方、省電力用タイマ64は、通常用タイマ62の1/2倍の周期でタイマ値をカウントするので、2クロックサイクルにつき1回、つまり、100MHzの周波数でタイマ値をカウントアップする。セレクタ回路66は、電力制御ユニット24から受信した制御信号が省電力モードを示す場合には、省電力用タイマ64でカウントした100MHzのタイマ値を出力する。従って、タイマ回路60からは、省電力モード時においても、通常モード時と同様に、10ナノ秒毎にカウントアップされるタイマ値が出力されることになる。
図3に示した監視結果判定部46は、上述したバーストパケット量算出回路56によって算出されたバーストパケット量NOWCNTを入力して記憶する現在バーストパケット量記憶部70と、パケット受信回路12から受信パケットのパケット長LENの通知を受けて記憶するパケット長記憶部72と、帯域監視テーブルTBLから許容パケット量THRを読み出して記憶する許容パケット量記憶部74とを備えている。また、監視結果判定部46は、現在バーストパケット量記憶部70とパケット長記憶部72と許容パケット量記憶部74とに記憶された現在のバーストパケット量NOWCNT、受信パケットのパケット長LEN、および、許容パケット量THRに基づいて、受信したパケットのトラフィックが帯域を遵守しているか否かを判定する判定回路78を備えている。判定回路78による判定結果は、パケット受信回路12に通知される。パケット受信回路12は、判定回路78から、帯域を遵守している旨の通知を受けると、受信したパケットをパケット中継回路16に転送し、帯域違反である旨の通知を受けると、受信したパケットを破棄する。
更に、監視結果判定部46は、判定回路78による判定結果に応じて更新されるパケット量CNT2を記憶する更新バーストパケット量記憶部80と、タイマ回路60から出力されたタイマ値TNOWを記憶するタイマ値記憶部82とを備えている。更新バーストパケット量記憶部80に記憶されたパケット量CNT2は、帯域監視テーブル制御部42によって読み込まれ、帯域監視テーブルTBL中のバーストパケット量CNTを更新する処理に用いられる。また、タイマ値記憶部82に記憶されたタイマ値TNOWは、帯域監視テーブル制御部42によって読み込まれ、帯域監視テーブルTBL中の最終受信タイマ値TLSTを更新する処理に用いられる。
(A3)帯域監視処理:
続いて、本実施例のパケット中継装置10が実行する帯域監視処理の詳細について説明する。
図7は、帯域監視処理のフローチャートである。まず、パケット受信回路12がパケットを受信すると(ステップS10)、フロー検出部34によって、受信したパケットのフローが検出される(ステップS12)。フロー検出部34は、検出されたフローの番号をヘッダ情報とハッシュ関数とに基づき計算して帯域監視部32に通知すると、帯域監視部32内の帯域監視テーブル制御部42によって、該当するフローのエントリが帯域監視テーブルTBLから検索される(ステップS14)。そして、この検索されたエントリから、制限レートRと最終受信タイマ値TLSTとバーストパケット量CNTと許容パケット量THRとが、それぞれ、図3に示した、制限レート記憶部50、最終受信タイマ値記憶部52、バーストパケット量記憶部54、許容パケット量記憶部74に読み込まれる(ステップS16)。
帯域監視テーブルTBLから上述した各種情報が読み込まれると、バーストパケット量算出回路56は、前回、ステップS12で検出されたフローに属するパケットを受信したタイマ値から現在のタイマ値までの経過時間ΔT(タイマ値)を算出する(ステップS18)。具体的には、この経過時間ΔTは、最終受信タイマ値TLSTとタイマ回路60から出力されたタイマ値TNOWとの差を求めることによって算出される。
続いて、バーストパケット量算出回路56は、ステップS18において算出された経過時間ΔT内に送信された可能性のあるパケットの最大送信量ΔDECを算出する(ステップS20)。この最大送信量ΔDECは、ステップS18によって算出された経過時間ΔTと、制限レートRとの積を求めることで算出される。最大送信量ΔDECは、経過時間ΔT内に図2の容器の底面の穴から漏れたパケットの量に相当する。
上記ステップS20において、最大送信量ΔDECを算出すると、バーストパケット量算出回路56は、現在、未送信のパケットが残存しているか(つまり、図2の容器にパケットが残っているか)を判断する(ステップS22)。具体的には、ステップS16において読み込まれたバーストパケット量CNTが、ステップS20で算出された最大送信量ΔDECよりも多い場合に、未送信のパケットが残存していると判断される。
ステップS22において、未送信のパケットが残存していると判断された場合には、バーストパケット量算出回路56は、現在のバーストパケット量NOWCNTを計算する(ステップS24)。具体的には、現在のバーストパケット量NOWCNTは、ステップS16において読み込まれたパケット量CNTからステップS20において算出された最大送信量ΔDECを差し引いた値となる。一方、ステップS22において、未送信のパケットが残存しないと判断された場合には、バーストパケット量算出回路56は、現在のバーストパケット量NOWCNTを「0」とする(ステップS26)。ステップS24あるいはステップS26において求められたバーストパケット量NOWCNTは、監視結果判定部46が有する現在バーストパケット量記憶部70に読み込まれる。
現在バーストパケット量記憶部70に現在のバーストパケット量NOWCNTが読み込まれると、判定回路78は、現在バーストパケット量記憶部70に記憶された現在のバーストパケット量NOWCNTと、帯域監視テーブルTBLから許容パケット量記憶部74に読み込まれた許容パケット量THRとを対比して、現在のバーストパケット量NOWCNTが、許容パケット量THRに収まるかを判定する(ステップS28)。判定回路78は、現在のバーストパケット量NOWCNTが、許容パケット量THRよりも少ない場合に、帯域を遵守していると判断する(ステップS30)。これに対して、現在のバーストパケット量NOWCNTが、許容パケット量THRよりも多ければ、判定回路78は、帯域違反であると判断し(ステップS32)、受信したパケットを破棄するよう、パケット受信回路12に指示する。この指示を受けたパケット受信回路12は、受信したパケットの破棄を行う(ステップS34)。
ステップS30において、帯域を遵守していると判断された場合には、判定回路78は、パケット長記憶部72に記憶された受信パケットのパケット長LENを、現在のバーストパケット量NOWCNTに加算し、新たなバーストパケット量CNT2を求める(ステップS36)。一方、ステップS32において、帯域違反と判断された場合には、判定回路78は、パケット長LENの加算を行うことなく、現在のバーストパケット量NOWCNTを新たなバーストパケット量CNT2として、そのまま適用する(ステップS38)。上述したステップS34において、受信パケットは破棄されるためである。以上の処理によって求められた新たなバーストパケット量CNT2は、更新バーストパケット量記憶部80に記憶される。
最後に、帯域監視テーブル制御部42は、更新バーストパケット量記憶部80に記憶された新たなバーストパケット量CNT2を、帯域監視テーブルTBLにバーストパケット量CNTとして記録し、タイマ値記憶部82に記憶された現在のタイマ値TNOWを、帯域監視テーブルTBLに最終受信タイマ値TLSTとして記録する(ステップS40)。
以上で説明した本実施例のパケット中継装置10では、電力制御ユニット24によって、電力モードが通常モードから省電力モードに移行されると、クロック生成回路25によって生成される動作クロックが、400MHzから200MHzに半減する。従って、この動作クロックに基づいて時間が計測されるタイマの値は、通常であれば、その周期が2倍に伸びることになり、例えば、通常モード時に、1タイマ値あたり10ナノ秒の実時間を要するとすると、省電力モードでは、1タイマ値あたり20ナノ秒の実時間がかかることになる。そうすると、帯域監視処理において適用される単位時間が変動してしまい、制限レートR、つまり、単位時間当たりに送信可能なパケット量が図8に示すように半減してしまうことになる。
これに対して、本実施例では、タイマ回路60に、通常用タイマ62と省電力用タイマ64とを設け、省電力用タイマ64は、通常用タイマ62の半分のクロックサイクル数で、タイマ値をカウントしている。そして、このタイマ回路60は、電力モードが通常モードのときには、通常用タイマ62によってカウントされるタイマ値を出力し、省電力モードのときには、省電力用タイマ64によってカウントされるタイマ値を出力する。そうすると、図5および図6に示すように、タイマ回路60からは、電力モードにかかわらず、常に、一定間隔でカウントアップされるタイマ値が出力されることになる。この結果、上述した帯域監視処理においても、単位時間が変動することがないので、図9に示すように、制限レートRも電力モードにかかわらず一定に保たれることになる。よって、本実施例のパケット中継装置10によれば、省電力化を図るために、動作クロックを低減した場合においても、中継可能なパケット量を適切に保つことが可能になる。なお、本実施例では、タイマ回路を2系統設けることになるので、回路規模は増加することになるが、タイマ回路は十から数十程度のフリップフロップ回路を追加するだけで構成することができるため、これによる消費電力の増加は無視し得る程度に過ぎない。
B.第2実施例:
上述した第1実施例では、帯域違反となった受信パケットを破棄することで、ネットワークに過剰なトラフィックが流れることを抑制している。これに対して、第2実施例では、送信しようとするパケットを所定のバッファにキューイングし、帯域を超過するパケットの送信タイミングを遅延させることで、ネットワークに過剰なトラフィックが流れることを抑制する。一般的に、上述した第1実施例の方式による帯域制限のことを、「ポリシング」といい、以下に説明する第2実施例の方式による帯域制限のことを、「シェーピング」という。
(B1)第2実施例としてのパケット中継装置の概略構成:
図10は、第2実施例としてのパケット中継装置10bの概略構成を示す図である。図1と図10とを比較すれば明らかなように、第1実施例と第2実施例とでは、帯域監視部32(第2実施例では、帯域監視部32b)が、第1実施例では、中継制御部14に備えられているのに対して、第2実施例では、パケット送信回路18bに備えられている点が異なる。なお、第1実施例と第2実施例とで同じ部品には、同じ符号を付して説明する。
(B2)パケット送信回路の詳細な構成:
図11は、第2実施例のパケット送信回路18bの詳細な構成を示す図である。図示するように、本実施例のパケット送信回路18bは、帯域監視部32bと物理層回路110とを備えている。物理層回路110は、帯域監視部32bから受信したパケットを電気信号として出力回線から出力するための回路である。
本実施例の帯域監視部32bは、パケット中継回路16が出力したパケットを受信する受信インタフェース112と、第1実施例と同様に構成されたタイマ回路60と、パケットの送信を遅延させる時間(タイマ値)を計算する遅延タイマ値計算回路114と、受信インタフェース112が受信したパケットのキューイング先を判定するキューイング先判定回路118と、キューイング先毎にパケットがキューイングされるパケットバッファ120と、パケットバッファ120に対するパケットの入出力を管理するパケットバッファ管理回路122と、キューテーブルTBLbに記録された種々の情報とタイマ回路60から出力された現在のタイマ値とに基づいて、どのキューからパケットを送信するかを判定する送信判定回路116と、パケットバッファ120から出力されたパケットを、物理層回路110を介して外部に送信する送信インタフェース124とを備えている。
キューイング先判定回路118は、受信インタフェース112が受信したパケットのヘッダ情報に基づいてパケットのキューイング先を判定する。本実施例では、パケットバッファ120には、フロー毎にキューが用意されており、キューイング先判定回路118は、受信したパケットのヘッダ情報に基づき、そのパケットのフローを検出してキューイング先を判定することとする。本実施例では、このように、パケットのフロー毎にキューを有することとしたが、パケットのヘッダ情報に記録されたVLAN IDや宛先IPアドレス、宛先MACアドレス、あるいは、出力回線毎にキューが用意されていてもよい。
パケットバッファ管理回路122は、キューイング先判定回路118が判定したキューイング先毎に、パケットをパケットバッファ120中の該当キューの末尾に書き込む。また、パケットバッファ管理回路122は、送信判定回路116によってパケットを送信すると判定された場合に、送信対象のキューの先頭にある送信待ちパケットをパケットバッファ120から読み出して、送信インタフェース124を介して出力する。
遅延タイマ値計算回路114は、キューテーブルTBLbに設定されている制限レートRbと、受信したパケットのパケット長LENとに基づいて、そのパケットの送信を遅延させる時間(遅延タイマ値DT)を計算する。遅延タイマ値DTの具体的な計算方法は後述する。
図12は、キューテーブルTBLbの構成を示す図である。図示するように、キューテーブルTBLbには、キュー毎に個別に割り当てられたキュー番号と、制限レートRbと、最終送信タイマ値TLSTbと、遅延タイマ値DTとが記録されている。制限レートRbは、そのキューから単位時間当たりに送信可能なパケットのビット数を示す。この制限レートRbは、レジスタ回路22を介して、管理端末20からキュー毎に設定される。最終送信タイマ値TLSTbは、そのキューからパケットを最後に送信したタイマの値を示す。遅延タイマ値DTは、そのキューからのパケットの送信を遅延させる時間(タイマ値)を示す。
送信判定回路116は、キューテーブルTBLbに記録された最終送信タイマ値TLSTbおよび遅延タイマ値DTと、タイマ回路60から出力された現在のタイマ値TNOWとを比較することで、パケットバッファ120からパケットを送信するキューを判定する。パケットを送信するキューの具体的な判定方法は後述する。
(B3)帯域監視処理:
続いて、第2実施例のパケット中継装置10bが実行する帯域監視処理の詳細について説明する。
図13は、第2実施例における帯域監視処理のフローチャートである。図示するように、帯域監視部32bは、まず、タイマ回路60が出力するタイマ値に基づいて、現在のタイマ値が基準タイマ値に達したかを判断する(ステップS100)。基準タイマ値とは、帯域監視部32bがこの帯域監視処理を実行する単位時間である。基準タイマ値は、パケット中継装置10bが送受信するパケットの基準バイト数と、帯域監視部32bがパケットを送信可能な最大帯域とに基づいて、以下の式(1)によって算出することができる。
基準タイマ値[s]=基準バイト数*8[bit]/最大帯域[bps] ・・・(1)
(なお、本実施例では、[s]は秒ではなくタイマ値を示す)
ステップS100において、現在のタイマ値が基準タイマ値に達したと判断された場合には、受信処理(ステップS200)および送信処理(ステップS300)を実行する。現在のタイマ値が基準タイマ値に達していないと判断された場合には、ステップS100の処理をループする。つまり、本実施例では、上述した基準タイマ値ごとに、ステップS200の受信処理とステップS300の送信処理とが繰り返し実行されることになる。
図14は、受信処理の詳細なフローチャートである。この受信処理の実行が開始されると、まず、受信インタフェース112によってパケットが受信されたかが判断され(ステップS202)、受信インタフェース112がパケットを受信した場合には、キューイング先判定回路118によって、そのパケットのキューイング先が判定される(ステップS204)。受信インタフェース112がパケットを受信しなかった場合には、後述する送信処理に処理が移行される。
ステップS204においてキューイング先が判定されると、パケットバッファ管理回路122によって、パケットバッファ120が参照され、そのキューイング先に該当するキューにパケットが蓄積されているかが判断される(ステップS206)。該当キューにパケットが蓄積されていない場合には、遅延タイマ値計算回路114によって、そのキューからパケットの送信を遅延させる時間(遅延タイマ値DT)が計算される(ステップS208)。本実施例では、受信インタフェース112が受信したパケットのパケット長LENをそのキューの制限レートRbで割ることで遅延タイマ値DTを計算する。この遅延タイマ値DTは、以下の式(2)で表すことができる。この式(2)によれば、遅延タイマ値DTは、そのパケットを次の機会に送信することができる最も早い時間を示すことになる。
DT=LEN/Rb ・・・(2)
ステップS208において遅延タイマ値DTが計算されると、遅延タイマ値計算回路114によって、その値が、キューテーブルTBLb内の該当キューのエントリに記録される(ステップS210)。そして、パケットバッファ120内の該当キューの末尾に、受信されたパケットがパケットバッファ管理回路122によって蓄積される(ステップS212)。なお、ステップS206において、該当キューにパケットが蓄積されていると判断された場合には、遅延タイマ値DTは計算されずに、受信されたパケットがパケットバッファ120内の該当キューの末尾にそのまま蓄積される。既にパケットが蓄積されている場合には、前回の帯域監視処理において、遅延タイマ値DTは既に算出済みであり、キューテーブルTBLbにその遅延タイマ値DTが記録されているからである。以上で説明した受信処理が完了すると、引き続いて送信処理が実行される。
図15は、送信処理の詳細なフローチャートである。この送信処理の実行が開始されると、まず、送信判定回路116によって、タイマ回路60から出力された現在のタイマ値TNOWと、各キューの送信予定タイマ値とが比較される(ステップS302)。送信予定タイマ値は、キューテーブルTBLbに記録された各キューの遅延タイマ値DTと最終送信タイマ値TLSTbとの和によって表される。
現在のタイマ値TNOWと送信予定タイマ値とが一致するか、もしくは、現在のタイマ値が送信予定タイマ値を超えるという条件を満たすキューが存在する場合には、そのキューは、パケットを送信する対象の候補となる(以下、「送信対象キュー」という)。送信判定回路116は、上述した条件に基づいて、送信対象キューが存在するかどうかを判断する(ステップS304)。送信対象キューが存在しないと判断された場合には、当該送信処理は終了する。
送信対象キューが存在すると判断された場合には、送信判定回路116は、それらの送信対象キューのうち、最も送信予定タイマ値の早いキューを特定する(ステップS306)。そして、最も送信予定タイマ値の早いキューが特定されると、パケットバッファ管理回路122によって、そのキューから、パケットの送信が行われる(ステップS308)。パケットの送信が行われると、送信判定回路116は、キューテーブルTBLb内の該当キューの最終送信タイマ値TLSTbを現在のタイマ値TNOWに更新する(ステップS310)。
ステップS310において、最終送信タイマ値TLSTbの更新が行われると、続いて、パケットバッファ管理回路122によって、ステップS306で特定されたキューに、次の蓄積パケットがあるかが判断される(ステップS312)。次の蓄積パケットがなければ、当該送信処理は終了する。一方、次の蓄積パケットが存在していれば、遅延タイマ値計算回路114によって、そのキューについての新たな遅延タイマ値DTが計算される(ステップS314)。この遅延タイマ値DTは、上述した受信処理のステップS208と同様に、蓄積されているパケットのパケット長LENを、そのキューの制限レートRbで割った値となる。こうして新たな遅延タイマ値DTが計算されると、その値が、遅延タイマ値計算回路114によって、キューテーブルTBLbの該当キューのエントリに書き込まれる(ステップS316)。以上で説明した一連の処理により、第2実施例における帯域監視処理は終了する。
以上で説明した第2実施例のパケット中継装置10bでは、上記式(2)に示すように、パケットバッファ120にキューイングされるパケットのパケット長LENと各キューの制限レートRbとに応じて、そのパケットの送信を遅延させる時間(遅延タイマ値DT)を調整している。式(2)によれば、制限レートRbに対してパケット長LENが長くなる程、遅延タイマ値DTが大きくなることになる。つまり、本実施例では、帯域を超過するパケットの送信をより遅延させることで、帯域の制限を行っている。
本実施例においても、帯域監視部32bが有するタイマ回路60は、第1実施例と同様に構成されている。そのため、タイマ回路60から出力されるタイマ値は、電力モードにかかわらず、常に一定間隔でカウントアップされることになる。従って、上述した遅延タイマ値DTの算出元となる制限レートRbの値は、電力モードに応じて変動することがない。この結果、図9に示したように、本実施例においても、第1実施例と同様に、一定の制限レートでパケットの送信を行うことが可能になる。
C.変形例:
以上、本発明の実施例をいくつか説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、ハードウェアによって実現した機能は、ソフトウェアによって実現するものとしてもよいし、その逆も可能である。そのほか、以下に示す種々の変形が可能である。
(C1)変形例1:
上述した第1実施例では、電力モードが省電力モードに移行した場合には、省電力用タイマ64から出力されるタイマ値に基づいて全てのフローの帯域監視処理が行われる。これに対して、帯域監視処理に用いるタイマ値を、フロー毎に選択可能としてもよい。
具体的には、図16に示すように、帯域監視テーブルTBLの各エントリに対して、タイマ選択用のフラグ(以下、「タイマ選択フラグ」という)を記録する項目を加える。そしてこのタイマ選択フラグが「0」の場合には、省電力モード移行時に、省電力用タイマから出力されたタイマ値に基づいて、そのフローについての帯域監視処理を行う。一方、タイマ選択フラグが「1」の場合には、省電力モード移行時に、通常用タイマから出力されたタイマ値に基づいて、そのフローについての帯域監視処理を行う。つまり、タイマ選択フラグが「0」に設定されたフローは、図9に示したように、電力モードが省電力モードに移行しても、制限レートは変動しないが、タイマ選択フラグが「1」に設定されたフローは、図8に示したように、省電力モードに電力モードが移行すると、制限レートが通常よりも半減することになる。
このように、パケットのフローごとに、使用するタイマを選択可能とすれば、例えば、あるフローについては、タイマ選択フラグを「0」とすることで、常に200Mbpsで帯域を監視し、他のフローについては、タイマ選択フラグを「1」とすることで、通常モード時には200Mbpsで帯域を監視し、省電力モード時には100Mbpsで帯域を監視するといった制御を行うことが可能である。つまり、本変形例によれば、省電力モード時においても、一定の帯域を保証する優先ユーザと、省電力モード時には、帯域が低下するが低コストで帯域を提供する非優先ユーザとにユーザを分けることができるので、ユーザをクラス分けした帯域保証サービスを提供することが可能になる。なお、各フローに対するタイマ選択フラグの設定は、レジスタ回路22を介して、管理端末20によって行うことが可能である。
なお、フロー毎に使用するタイマを切り換える考え方は、そのまま第2実施例にも適用可能である。具体的には、図17に示すように、キューテーブルTBLbに対して、タイマ選択フラグを記録する項目を加える。こうすることで、キュー毎に、帯域を常に一定保つか、省電力モード移行時に帯域を半減させるかを選択することが可能になる。
(C2)変形例2:
上述した第1実施例および第2実施例では、タイマ回路を2系統用意することで、省電力モード移行時における帯域の変動を抑制している。これに対して、タイマは、通常用タイマ62だけ備えることとし、通常の制限レートRの値が記録された通常用帯域監視テーブルと、2倍の制限レートRが記録された省電力用帯域監視テーブルとの2種類の帯域監視テーブルを用意することとしてもよい。このように2種類のテーブルを用意すれば、電力モードに応じて、利用するテーブルを選択することにより、上述した第1実施例や第2実施例と同様に、帯域を一定に保つことが可能になる。図18には、通常用帯域監視テーブルと省電力用帯域監視テーブルとを備える帯域監視部の構成例を示した。
(C3)変形例3:
上述した第1実施例において、電力モードを通常モードから省電力モードに切り換えた直後の帯域監視処理のステップS18では(図7参照)、最終受信タイマ値TLSTの値を、2倍に読み替える処理を行うこととしてもよい。こうすることで、モード切換前後のタイマ値を同一の時間軸に調整することができるので、前回パケット受信時からの経過時間ΔTを正確に計算することが可能になる。この結果、電力モードを移行した瞬間に、帯域に揺らぎが生じてしまうことを抑制することが可能になる。また、第2実施例においても、同様の理由から、電力モードを通常モードから省電力モードに切り換えた直後の帯域監視処理のステップS302において(図15参照)、最終送信タイマ値TLSTbおよび遅延タイマ値TDをそのときにだけ、2倍に読み替える処理を行うこととしてもよい。
(C4)変形例4:
上述した第1実施例および第2実施例では、省電力モード時には、クロック生成回路25で生成されるクロック信号の周波数を通常モード時よりも半減することとした。しかし、省電力モード時における動作クロックの周波数はこれに限られない。例えば、通常モード時の1/3や1/4などの周波数とすることも可能である。このような場合には、省電力用タイマ64は、通常用タイマ62の1/3や1/4の周期でタイマ値をカウントアップすればよい。つまり、クロック生成回路25で生成されるクロック信号の周波数を1/nにした場合には、省電力用タイマ64は、通常用タイマ62がタイマ値をカウントアップするクロックサイクル数の1/nのクロックサイクル数でタイマ値をカウントアップすれば、上述した実施例のように、制限レートを一定に保つことができる。ただし、nは1を超える実数である。なお、クロック信号の周波数を1/nにした場合に、省電力用タイマ64が、通常用タイマ62がタイマ値をカウントアップするクロックサイクル数の1/mのクロックサイクル数でタイマ値をカウントアップすれば(mはnを超える実数)、省電力モード時の制限レートを、通常モード時の制限レートよりも低減することが可能になる。
第1実施例としてのパケット中継装置10の概略構成を示す図である。 帯域監視処理の概念を示す模式図である。 帯域監視部32の詳細な構成を示す図である。 帯域監視テーブルTBLの構成を示す図である。 通常モードにおいてタイマ回路60から出力されるタイマ値の状態を示すタイミングチャートである。 省電力モードにおいてタイマ回路60から出力されるタイマ値の状態を示すタイミングチャートである。 帯域監視処理のフローチャートである。 省電力モード移行時において制限レートが半減する様子を示す図である。 電力モードにかかわらず制限レートが一定に保たれる様子を示す図である。 第2実施例としてのパケット中継装置10bの概略構成を示す図である。 第2実施例のパケット送信回路18bの詳細な構成を示す図である。 キューテーブルTBLbの構成を示す図である。 第2実施例における帯域監視処理のフローチャートである。 受信処理の詳細なフローチャートである。 送信処理の詳細なフローチャートである。 帯域監視テーブルTBLの変形例を示す図である。 キューテーブルTBLbの変形例を示す図である。 2種類の帯域監視テーブルを備える帯域監視部の構成を示す図である。
符号の説明
10,10b…パケット中継装置
12…パケット受信回路
14…中継制御部
16…パケット中継回路
18,18b…パケット送信回路
20…管理端末
22…レジスタ回路
24…電力制御ユニット
25…クロック生成回路
26…CPU
28…ROM
30…RAM
31…リアルタイムクロック
32,32b…帯域監視部
34…フロー検出部
36…経路検索部
42…帯域監視テーブル制御部
44…パケット量判定部
46…監視結果判定部
50…制限レート記憶部
52…最終受信タイマ値記憶部
54…バーストパケット量記憶部
56…バーストパケット量算出回路
60…タイマ回路
62…通常用タイマ
64…省電力用タイマ
66…セレクタ回路
70…現在バーストパケット量記憶部
72…パケット長記憶部
74…許容パケット量記憶部
78…判定回路
80…更新バーストパケット量記憶部
82…タイマ値記憶部
110…物理層回路
112…受信インタフェース
114…遅延タイマ値計算回路
116…送信判定回路
118…キューイング先判定回路
120…パケットバッファ
122…パケットバッファ管理回路
124…送信インタフェース

Claims (7)

  1. ネットワークを流れるパケットを中継するパケット中継装置であって、
    パケットを受信する受信部と、
    当該パケット中継装置の動作の基準となる所定周波数のクロック信号を生成するクロック生成部と、
    前記クロック信号に基づいて第1のクロックサイクル数でタイマ値をカウントするタイマ部と、
    前記タイマ部から前記タイマ値を入力し、該タイマ値に基づく単位タイマ値当たりに転送可能なパケット量を所定のパケット量に制限しながら、前記受信したパケットを、該パケットのヘッダ情報によって指定された転送先に中継する中継制御部と、
    前記受信部が受信するパケット量に基づいて、第1の消費電力で動作する通常モードから、前記第1の消費電力より小さい第2の消費電力で動作する省電力モードに切り替える場合に、前記切り替えの通知を、前記クロック制御部に行うことにより、前記クロック生成部を制御して、前記クロック信号の周波数を1/n(nは1を超える実数)に低減させることにより、当該パケット中継装置の消費電力を低減するとともに、前記切り替えの通知を前記タイマ部にも行う電力制御部とを備え、
    前記タイマ部は、
    前記第1のクロックサイクル数でタイマ値をカウントする通常用タイマ回路と、
    前記第1のクロックサイクル数の1/nの第2のクロックサイクル数でタイマ値をカウントする省電力用タイマ回路と、
    前記電力制御部からの切り替えの通知に基づき、前記中継制御部に出力するタイマ値を、前記通常用タイマ回路によってカウントしたタイマ値から前記省電力用タイマ回路によってカウントしたタイマ値に切り換えるセレクタ回路とを有する、
    パケット中継装置。
  2. 請求項1に記載のパケット中継装置であって、
    前記中継制御部は、前記セレクタ回路により選択されるタイマ回路によりカウントした単位タイマ値当たりに受信したパケットの量が、前記所定のパケット量を超えた場合に、前記受信したパケットを帯域違反と判定することで、前記パケット量の制限を行う
    パケット中継装置。
  3. 請求項2に記載のパケット中継装置であって、
    前記中継制御部は、前記パケットのフローを前記ヘッダ情報に基づいて検出し、該検出されたフロー毎に、前記パケット量の制限を行う
    パケット中継装置。
  4. 請求項3に記載のパケット中継装置であって、
    前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が1/nに低減された場合においても、前記第1のクロックサイクル数でカウントされたタイマ値と、前記第2のクロックサイクル数でカウントされたタイマ値との両者を出力可能であり、
    前記中継処理部は、前記フロー毎に、前記第1のクロックサイクル数でカウントされたタイマ値を用いるか、前記第2のクロックサイクル数でカウントされたタイマ値を用いるかを所定の設定に基づいて選択する
    パケット中継装置。
  5. 請求項1に記載のパケット中継装置であって、
    前記中継制御部は、前記受信したパケットの送信タイミングを、該パケットのパケット長と、前記セレクタ回路により選択されるタイマ回路によりカウントした単位タイマ値当たりに転送可能なパケット量とに応じて遅延させることで、中前記パケット量の制限を行う
    パケット中継装置。
  6. 請求項5に記載のパケット中継装置であって、
    前記中継制御部は、前記受信したパケットを前記転送先毎にキューイングし、該転送先毎に、前記パケット量の制限を行う
    パケット中継装置。
  7. 請求項6に記載のパケット中継装置であって、
    前記タイマ部は、前記電力制御部によって前記クロック信号の周波数が1/nに低減された場合においても、前記第1のクロックサイクル数でカウントされたタイマ値と、前記第2のクロックサイクル数でカウントされたタイマ値との両者を出力可能であり、
    前記中継処理部は、前記転送先毎に、前記第1のクロックサイクル数でカウントされたタイマ値を用いるか、前記第2のクロックサイクル数でカウントされたタイマ値を用いるかを所定の設定に基づいて選択する
    パケット中継装置。
JP2008259387A 2008-10-06 2008-10-06 パケット中継装置 Active JP5053974B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008259387A JP5053974B2 (ja) 2008-10-06 2008-10-06 パケット中継装置
CN2009101763771A CN101714943B (zh) 2008-10-06 2009-09-28 包中继装置
US12/572,635 US8355329B2 (en) 2008-10-06 2009-10-02 Packet relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008259387A JP5053974B2 (ja) 2008-10-06 2008-10-06 パケット中継装置

Publications (2)

Publication Number Publication Date
JP2010093410A JP2010093410A (ja) 2010-04-22
JP5053974B2 true JP5053974B2 (ja) 2012-10-24

Family

ID=42098791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008259387A Active JP5053974B2 (ja) 2008-10-06 2008-10-06 パケット中継装置

Country Status (3)

Country Link
US (1) US8355329B2 (ja)
JP (1) JP5053974B2 (ja)
CN (1) CN101714943B (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9497018B2 (en) 2012-11-28 2016-11-15 Mitsubishi Electric Corporation Relay device, communication system and relay method
US8626912B1 (en) 2013-03-15 2014-01-07 Extrahop Networks, Inc. Automated passive discovery of applications
US8867343B2 (en) * 2013-03-15 2014-10-21 Extrahop Networks, Inc. Trigger based recording of flows with play back
US9674104B1 (en) * 2013-05-01 2017-06-06 Cisco Technology, Inc Adapting proportional integral controller enhanced algorithm for varying network conditions in a network environment
US9893999B2 (en) * 2013-11-26 2018-02-13 Macom Connectivity Solutions, Llc Multiple datastreams processing by fragment-based timeslicing
EP2894860A1 (en) * 2014-01-14 2015-07-15 Thomson Licensing Method and apparatus for multiplexing layered coded contents
US9817602B2 (en) * 2014-11-13 2017-11-14 Violin Systems Llc Non-volatile buffering for deduplication
JP2016116110A (ja) * 2014-12-16 2016-06-23 富士通株式会社 通信装置
US9338147B1 (en) 2015-04-24 2016-05-10 Extrahop Networks, Inc. Secure communication secret sharing
WO2016202381A1 (en) 2015-06-17 2016-12-22 Telefonaktiebolaget Lm Ericsson (Publ) Path setup in a mesh network
WO2016202380A1 (en) * 2015-06-17 2016-12-22 Telefonaktiebolaget Lm Ericsson (Publ) Reducing latency in a mesh network
US10204211B2 (en) 2016-02-03 2019-02-12 Extrahop Networks, Inc. Healthcare operations with passive network monitoring
US9729416B1 (en) 2016-07-11 2017-08-08 Extrahop Networks, Inc. Anomaly detection using device relationship graphs
US9660879B1 (en) 2016-07-25 2017-05-23 Extrahop Networks, Inc. Flow deduplication across a cluster of network monitoring devices
US10278198B2 (en) * 2016-08-23 2019-04-30 Realtek Singapore Private Limited Packet forwarding device, and packet-forwarding priority setting circuit and method
US10476673B2 (en) 2017-03-22 2019-11-12 Extrahop Networks, Inc. Managing session secrets for continuous packet capture systems
US10263863B2 (en) 2017-08-11 2019-04-16 Extrahop Networks, Inc. Real-time configuration discovery and management
US10063434B1 (en) 2017-08-29 2018-08-28 Extrahop Networks, Inc. Classifying applications or activities based on network behavior
US9967292B1 (en) 2017-10-25 2018-05-08 Extrahop Networks, Inc. Inline secret sharing
JP2019125914A (ja) * 2018-01-16 2019-07-25 アラクサラネットワークス株式会社 通信装置及びプログラム
US10264003B1 (en) 2018-02-07 2019-04-16 Extrahop Networks, Inc. Adaptive network monitoring with tuneable elastic granularity
US10389574B1 (en) 2018-02-07 2019-08-20 Extrahop Networks, Inc. Ranking alerts based on network monitoring
US10038611B1 (en) 2018-02-08 2018-07-31 Extrahop Networks, Inc. Personalization of alerts based on network monitoring
US10270794B1 (en) 2018-02-09 2019-04-23 Extrahop Networks, Inc. Detection of denial of service attacks
US10116679B1 (en) 2018-05-18 2018-10-30 Extrahop Networks, Inc. Privilege inference and monitoring based on network behavior
US10411978B1 (en) 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
US10594718B1 (en) 2018-08-21 2020-03-17 Extrahop Networks, Inc. Managing incident response operations based on monitored network activity
US10965702B2 (en) 2019-05-28 2021-03-30 Extrahop Networks, Inc. Detecting injection attacks using passive network monitoring
US11165814B2 (en) 2019-07-29 2021-11-02 Extrahop Networks, Inc. Modifying triage information based on network monitoring
US11388072B2 (en) 2019-08-05 2022-07-12 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US10742530B1 (en) 2019-08-05 2020-08-11 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US10742677B1 (en) 2019-09-04 2020-08-11 Extrahop Networks, Inc. Automatic determination of user roles and asset types based on network monitoring
US11165823B2 (en) 2019-12-17 2021-11-02 Extrahop Networks, Inc. Automated preemptive polymorphic deception
KR20230058712A (ko) * 2020-09-03 2023-05-03 삼성전자주식회사 통신 시스템에서 컨텐츠와 디바이스들의 성능 차이 완화를 위한 방법 및 장치
US11463466B2 (en) 2020-09-23 2022-10-04 Extrahop Networks, Inc. Monitoring encrypted network traffic
US11310256B2 (en) 2020-09-23 2022-04-19 Extrahop Networks, Inc. Monitoring encrypted network traffic
US11349861B1 (en) 2021-06-18 2022-05-31 Extrahop Networks, Inc. Identifying network entities based on beaconing activity
US11296967B1 (en) 2021-09-23 2022-04-05 Extrahop Networks, Inc. Combining passive network analysis and active probing
US11843606B2 (en) 2022-03-30 2023-12-12 Extrahop Networks, Inc. Detecting abnormal data access based on data similarity

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63219017A (ja) * 1986-10-17 1988-09-12 Sanyo Electric Co Ltd マイクロコンピユ−タ
JPH0728550A (ja) * 1993-07-08 1995-01-31 Fujitsu Ten Ltd 計数装置
US7486686B2 (en) * 2001-02-26 2009-02-03 Vitesse Semiconductor Corporation Method and apparatus for scheduling data on a medium
US7477621B1 (en) * 2004-09-07 2009-01-13 Marvell International Ltd. System and method for estimating bandwidth requirements of and allocating bandwidth to communication devices operating in a network
CN1756164A (zh) * 2004-09-27 2006-04-05 松下电器产业株式会社 数据包接收控制装置及方法
JP4500701B2 (ja) * 2005-02-14 2010-07-14 アラクサラネットワークス株式会社 パケット転送装置
US20060187836A1 (en) * 2005-02-18 2006-08-24 Stefan Frey Communication device and method of prioritizing transference of time-critical data
WO2006111787A1 (en) * 2005-04-21 2006-10-26 Intel Corporation Power reduction in switch architectures
JP2007129306A (ja) * 2005-11-01 2007-05-24 Nec Corp Pll制御回路
JP4532421B2 (ja) * 2006-02-27 2010-08-25 アラクサラネットワークス株式会社 ネットワーク中継装置
JP4786371B2 (ja) 2006-02-27 2011-10-05 アラクサラネットワークス株式会社 ネットワーク中継装置
JP4696003B2 (ja) * 2006-03-13 2011-06-08 Okiセミコンダクタ株式会社 データ転送回路
JP2008205695A (ja) * 2007-02-19 2008-09-04 Alaxala Networks Corp 中継装置

Also Published As

Publication number Publication date
CN101714943A (zh) 2010-05-26
CN101714943B (zh) 2012-09-05
US20100091770A1 (en) 2010-04-15
US8355329B2 (en) 2013-01-15
JP2010093410A (ja) 2010-04-22

Similar Documents

Publication Publication Date Title
JP5053974B2 (ja) パケット中継装置
KR100977651B1 (ko) 네트워크 혼잡 제어를 위한 방법 및 장치
KR100693058B1 (ko) 패킷의 유실을 방지하기 위한 라우팅 방법 및 장치
JP4082669B2 (ja) キューバッファ制御方法
JP4768857B2 (ja) ネットワークドメインのためのエッジノード
CN107948103B (zh) 一种基于预测的交换机pfc控制方法及控制系统
CN110351187B (zh) 数据中心网络中路径切换粒度自适应的负载均衡方法
US8483093B2 (en) Energy efficient network forwarding based on performance and energy
JP2007097114A (ja) 通信品質制御機能を備えるパケット中継装置
EP2415219A1 (en) Pre-congestion notification (pcn) as a base for admission control and floe termination
JP5100479B2 (ja) パケット転送装置
WO2018218957A1 (zh) 一种流量控制方法、设备及系统
Arslan et al. Switches know the exact amount of congestion
JP4704500B2 (ja) パケット処理装置
CN116827867A (zh) 一种基于数据中心网络的低延时拥塞流识别方法
CN114389999B (zh) 一种基于数据包的网络传输方法、装置、设备及存储介质
Jain et al. Performance evaluation of CoDel for active queue management in wired-cum-wireless networks
JP2005210606A (ja) パケットの優先制御を行う通信装置及び優先制御方法並びにプログラム
JP2004104417A (ja) データ中継装置、および中継データ制御方法、並びにコンピュータ・プログラム
JP2008294535A (ja) 多重化装置及び多重化装置におけるパケット転送制御方法
Sun et al. A modified variant of explicit control protocol in satellite networks
Wu et al. HFTraC: High-frequency traffic control
CN114785743B (zh) 一种增强red稳定性的主动式队列管理算法
JP2004056328A (ja) ルータ、ルータの動的品質制御方法、プログラム、および記録媒体
Chitra et al. FAVQCHOKE: To allocate fair buffer to a dynamically varying traffic in an IP network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120627

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120705

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5053974

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

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

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