JP4630231B2 - パケット処理システム、パケット処理方法、およびプログラム - Google Patents

パケット処理システム、パケット処理方法、およびプログラム Download PDF

Info

Publication number
JP4630231B2
JP4630231B2 JP2006155947A JP2006155947A JP4630231B2 JP 4630231 B2 JP4630231 B2 JP 4630231B2 JP 2006155947 A JP2006155947 A JP 2006155947A JP 2006155947 A JP2006155947 A JP 2006155947A JP 4630231 B2 JP4630231 B2 JP 4630231B2
Authority
JP
Japan
Prior art keywords
packet
load state
external buffer
packets
received
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
Application number
JP2006155947A
Other languages
English (en)
Other versions
JP2007325178A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006155947A priority Critical patent/JP4630231B2/ja
Publication of JP2007325178A publication Critical patent/JP2007325178A/ja
Application granted granted Critical
Publication of JP4630231B2 publication Critical patent/JP4630231B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データ通信システムに関し、特に、ネットワークから受信したデータパケットをその宛先のネットワークへ転送するパケット処理システムに関する。
ネットワークと回線を介して接続され、ネットワークから到着したパケットを、そのヘッダに格納されている宛先情報に応じて宛先のネットワークへと転送するパケット処理システムが知られている。このパケット処理システムは、それぞれがネットワークに接続された複数のパケット転送装置と、これらパケット転送装置が接続されるスイッチとから構成される。パケット転送装置は、パケットの送受信、パケットのあて先の調査、パケットの転送順のスケジューリングなどを行う。スイッチは、パケット転送装置から転送されたパケットを適切なパケット転送装置へと送り届ける。
パケット転送装置には、パケットを処理するためのプロセッサが内蔵されている。プロセッサの負荷は、パケットに施すプロトコルの数や経路情報などの検索時間に応じて変化する。プロセッサの負荷状況によっては、パケット転送装置に到着するパケットの量が、プロセッサが処理することができるデータ量を超える場合がある。そのような場合は、プロセッサの負荷が軽くなるまで、到着したパケットをパケット転送装置内に設けられた内部バッファに蓄積する。内部バッファは、一定数のパケットが蓄積できる容量を有する。これにより、パケット廃棄の回数を減らすことが可能となる。
非特許文献1には、出力側のポートで輻輳が発生すると、共有バッファにパケットを一旦退避させる技術が記載されている。
また、非特許文献2には、配下のエッジルータを共有バッファとして用いる光パケットルータが記載されている。この光パケットルータでは、出回線で衝突したパケットを一時的にエッジルータで電気変換して保持する。出回線に空きができた時点で、光パケットルータは、エッジルータで保持してあったパケットを再び送出する。
D.Pao, S.Leung, "Sharing buffer in an input-output buffered ATM switch without scaling up memory bandwidth requirement" ,Computer Communications and Networks, 1995. Proceedings., Fourth International Conference on 20-30 sept. 1995 Page(s):339-343 佐々木純、高橋達郎、"エッジルータを共通バッファとして用いる光パケットルータのトラヒック制御法"、電子情報通信学会論文誌Vol J87, No.7 pp.963-971
パケット転送装置内にバッファを有するものにおいては、パケット転送装置に到着するパケットの量が、プロセッサが処理することができるデータ量を超える場合に、パケットをバッファに蓄積することで、パケット廃棄を回避することができる。しかし、この場合は、輻輳時にプロセッサが処理することができる量を超えて到着するパケットの量が、内部バッファの容量を超えた場合には、内部バッファの容量を超えた分については、パケット廃棄を回避することは困難である。確実にパケット廃棄を回避するためには、プロセッサが処理することができるデータ量を超えて到着し得るパケットの最大量に応じた記憶容量を有する内部バッファを用いる必要がある。しかし、この場合は、記憶容量の大きな内部バッファを各パケット転送装置に設けることになるため、パケット転送装置およびシステムのコストが高くなる他、パケット転送装置自体の消費電力も増大する。
非特許文献1,2に記載のものはいずれも、出力側のポート(出回線)における輻輳によるパケットの廃棄を回避することを目的としており、入力側のポート(入回線)では、全てのパケットが処理できていることを前提にしている。一方、上記の問題は入力側のポートでパケット処理ができない状況において生じるものである。よって、これら非特許文献1,2に記載のものでは、上記の問題を解決することはできない。
本発明の目的は、上記問題を解決し、各パケット転送装置に大容量の内部バッファを設ける必要がなく、輻輳によるパケットの廃棄を確実に回避することのできる、低コストのパケット処理システムを提供することにある。
上記目的を達成するため、本発明のパケット処理システムは、
スイッチを介して相互に接続された複数のパケット転送装置を有し、該パケット転送装置のそれぞれが、自装置に接続されたネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続されたパケット転送装置に転送するパケット処理システムであって、
前記複数のパケット転送装置のそれぞれと前記スイッチを介して接続された外部バッファ装置を有し、
前記複数のパケット転送装置のそれぞれは、前記受信パケットを転送するためのパケット処理に対する負荷の状態が、自装置内に保持した前記受信パケットの量が閾値より少ない低負荷状態から前記受信パケットの量が前記閾値より大きな別の閾値を超える高負荷状態に遷移すると、自装置で処理しきれないパケットを前記外部バッファ装置へ送信して保持させ、前記負荷の状態が前記高負荷状態から前記低負荷状態に遷移すると、前記外部バッファ装置から前記保持させたパケットを取得し、該取得したパケットに対する前記パケット処理を実行する。
さらに、前記複数のパケット転送装置のそれぞれは、前記低負荷状態から前記高負荷状態への遷移時から前記高負荷状態から前記低負荷状態への遷移時までの期間中に自装置が前記外部バッファ装置へ送信したパケットの数をカウントしてその値を保持するとともに、前記高負荷状態から前記低負荷状態への遷移後、前記外部バッファ装置からパケットを受信する度に、タイマーを所定値にセットし、カウントダウンを始め、該タイマーが切れた場合に、および、前記外部バッファ装置から取得したパケットの数が前記保持したカウント値と一致した場合に、前記外部バッファ装置から取得したパケットに対する前記パケット処理を実行する。
上記のパケット処理システムによれば、各パケット転送装置は、自装置の負荷状態が高負荷状態なると、自装置で処理しきれないパケットを外部バッファ装置に格納しておき、自装置の負荷状態が低負荷状態になった時点で、外部バッファ装置に格納してあったパケットを処理するようになっている。外部バッファ装置は、各パケット転送装置に共通のものであり、各パケット転送装置に大容量の内部バッファを設ける必要はない。
本発明によれば、各パケット転送装置に大容量の内部バッファを設ける必要がないので、パケット転送装置のコストを削減することができ、かつ、システム全体のコストも削減することができる。加えて、大容量の内部バッファを必要としない分、パケット転送装置の消費電力を低減することができ、その結果、システム全体の消費電力も低減することができる。
次に、本発明の実施形態について図面を参照して説明する。
図1は、本発明の一実施形態であるパケット処理システムの概略構成を示すブロック図である。図1を参照すると、パケット処理システムは、3台の転送装置1と、1つの外部バッファ装置2と、これら転送装置1および外部バッファ装置2がそれぞれ接続されるスイッチ3とから構成される。なお、スイッチ3に接続される転送装置1の数は、適宜変更することができる。
転送装置1および外部バッファ装置2のそれぞれはバックプレーンを介してスイッチ3に接続されており、転送装置1および外部バッファ装置2の各装置間でバックプレーンを通じたパケット交換が可能となっている。転送装置1は、ネットワークからパケットを受け取る。パケットを受信した転送装置は、受信パケットのヘッダの情報に基づいて宛先となる転送装置(送信先の転送装置)を認識し、その転送装置に向けて受信パケットを転送する。送信先の転送装置は、送信元の転送装置から受け取ったパケットを宛先のネットワーク上に送出する。送信元の転送装置は、自装置で処理しきれなくなったパケットを外部バッファ装置2に送る。外部バッファ装置2は、送信元の転送装置から受信したパケットを保持し、送信元の転送装置の負荷が低下した後に、その保持したパケットを送信元の転送装置へ戻す。
図2に、バックプレーンを流れるパケットに添付されるヘッダの構成を示す。図2を参照すると、パケットのヘッダは、送信先送信元識別子10および返送フラグ11からなる。送信先送信元識別子10は、送信元の転送装置と送信先の転送装置の対応関係で一意に決まる識別子である。この送信先送信元識別子10に基づいて、送信元の転送装置と送信先の転送装置を識別することができる。返送フラグ11は、送信元の転送装置が外部バッファ装置2に対して、保持したパケットを返送するように指示するためのフラグである。パケットには、ヘッダに続いてペイロード12が設けられている。このペイロード12には、転送装置に到着した状態のままのパケットが格納される。
次に、外部バッファ装置2について説明する。外部バッファ装置2は、転送装置1から送られてきたパケットを到着順に蓄積する。このパケットの蓄積は、転送装置1から返送する旨の指示を受けるまで行われる。返送指示を受け取ると、外部バッファ装置2は、蓄積したパケットを到着した順に転送装置1へ送信する。
図3に、外部バッファ装置2の構成を示す。図3を参照すると、外部バッファ装置2は、送受信部20、バッファリング部21、およびバッファ22を有する。送受信部20は、バックプレーンを通じて転送装置1との間でパケットの送受信を行う。バッファリング部21は、送受信部20で受信したパケットのヘッダを解析してバッファ22に格納する。
バッファリング部21は、ヘッダ解析部21a、メモリ領域割り当て部21b、およびパケットリード/ライト部21cから構成される。ヘッダ解析部21aは、送受信部20から供給されるパケットのヘッダを解析するものであって、パケットを送信した転送装置の情報を取得したり、返送フラグのチェックの有無を調べたりする。メモリ領域割り当て部21bは、受信パケットを格納するためのメモリ領域(転送装置用バッファ)および転送装置−確保メモリ対応テーブル22aを転送装置ごとに用意する。パケットリード/ライト部21cは、パケットを上書きしないようにバッファ21cに書き込んだり、バッファ21cからパケットを読み出したりする。
図4は、外部バッファ装置2の動作を説明するためのフローチャートである。外部バッファ装置2では、送受信部20が転送装置1からパケットを受信する(ステップS1)。受信パケットは、送受信部20からバッファリング部21へ供給される。バッファリング部21では、ヘッダ解析部21aが、受信パケットのヘッダ内にある送信元送信先識別子に基づいて、そのパケットの送信元の転送装置を割り出す(ステップS2)。
次に、パケットリード/ライト部21cが、転送装置−確保メモリ対応テーブルを参照して、その割り出した送信元の転送装置に関するメモリ領域がバッファ22内に存在するか否かを確認する(ステップS3)。メモリ領域が存在する場合は、パケットリード/ライト部21cは、そのメモリ領域に存在するパケットが今回到着したパケットの前に到着したパケットであると判断し、バッファ22内からパケットを転送する際の送信順序が逆転することがないように、今回到着したパケットをそのメモリ領域に格納する(ステップS4)。メモリ領域が存在しない場合は、メモリ領域割り当て部21bが、送信元の転送装置に関するメモリ領域をバッファ22内に確保して転送装置−確保メモリ対応テーブルを作成する(ステップS5)。
ステップS4、S5のいずれかの処理を実行後、ヘッダ解析部21aが、受信パケットのヘッダの返送フラグをチェックする(ステップS6)。返送フラグが「on」である場合は、ヘッダ解析部21aは、送信元の転送装置からバッファ22に蓄積してあるパケットを返送する旨の指示を受けたと判断し、パケットリード/ライト部21cに対して、返送指示のあったことを通知する。返送指示の通知を受けたパケットリード/ライト部21cは、バッファ22から、該当する送信元の転送装置のパケットを蓄積した順に読み出し、読み出したパケットを送受信部20を通じて順次、転送元の転送装置へ送信する(ステップS7)。返送フラグが「off」である場合は、処理を終了し、次のパケットの到着を待つ。
次に、転送装置1の構成を具体的に説明する。図5に、転送装置1の主要部の構成を示す。図5を参照すると、転送装置1は、ネットワーク側インタフェース100、デバイス間スイッチ101、バックプレーン側インタフェース102、プロセッサ103、および記憶部104からなる。
ネットワーク側インタフェース100は、ネットワークと接続され、ネットワークを通じて信号を送受信する。バックプレーン側インタフェース102は、バックプレーンに接続され、バックプレーンを通じて信号を送受信する。記憶部104は、半導体メモリまたはCD−RやDVDに代表される記憶媒体を利用する記憶装置であって、転送装置1を動作させるためのプログラム104aやデータが格納される。
デバイス間スイッチ101は、ネットワーク側インタフェース100、バックプレーン側インタフェース102、およびプロセッサ103のそれぞれの間で信号の受け渡しを行う。プロセッサ103は、記憶部104に格納されたプログラムに従って種々の処理を実行する。プロセッサ103によって実行される処理としては、パケット送受信処理、パケットスキップ処理、パケット処理、キュー監視処理、スケジューリング処理などがある。
転送装置1では、ネットワークから到着したパケットは、ネットワーク側インタフェース100で処理された後、プロセッサ103に送られる。プロセッサ103は、ネットワーク側インタフェース100から供給されたパケットに対して必要な処理を実行する。プロセッサ103で処理が施されたパケットは、バックプレーン側インタフェース102に送られる。バックプレーン側インタフェース102は、プロセッサ103から受け取ったパケットを、バックプレーンを介して他の転送装置または外部バッファ装置2に送る。各インタフェース100、102とプロセッサ103との間のパケットのやり取りは、デバイス間スイッチ101を介して行われる。デバイス間スイッチ101は、入力されたパケットをあて先へと出力する役割を果たす。なお、パケットの転送先は、各インタフェース100、102やプロセッサ103で自由に設定することが可能である。このような装置間を結ぶインタフェースとしては、OIF(Optical Networking Forum)で規定されたSPI4(System Packet Interface level 4)などがある。
図6に、プロセッサ103の概略構成を示す。図6を参照すると、プロセッサ103は、受信部110、内部バッファ111、パケットスキップ部112、キュー監視部113、監視キュー114、パケット処理部115、スケジューラ116、および送信部117から構成される。
受信部110は、デバイス間スイッチ101からパケットを受信する。パケット処理部115は、受信したパケットに対してあて先の調査などを含むパケット転送を行うのに必要な処理を行う。スケジューラ116は、パケットの転送順のスケジューリングを行う。送信部117は、スケジューラ116から出力されたパケットをデバイス間スイッチ101へ送出する。これら受信部110、パケット処理部115、スケジューラ116、および送信部117は従来の転送装置のプロセッサに備えられているものと基本的には同じものであり、これら各部に、パケットのメモリ上の格納位置やヘッダ情報などが書かれているパケット処理に必要な情報を与えることで、パケットに対する各処理が実行される。
パケットスキップ部112、キュー監視部113、および監視キュー114は、プロセッサ103の負荷が高くなったときに、パケットの処理を行わずに、パケットを外部バッファ装置2に送るための処理を行う部分である。
監視キュー114は、プロセッサ103のパケット処理機能の負荷状況を測定するためのキューであって、パケット処理部115の入力段に設けられている。監視キュー114には、受信部110で受信したパケットがパケットスキップ部112を介して供給されている。内部バッファ111は、パケットスキップ部112の処理で一時的に処理用データを保持する場合に使用される。
キュー監視部113は、監視キュー114に蓄えられたパケット処理用データのキュー長を監視するものである。図7に、キュー監視部113によるキュー長の監視を模式的に示す。キュー監視部113は、パケット処理用データのキュー長が第1の閾値(高負荷閾値)を超えると、パケット処理機能が高負荷状態になっていることを示す信号をパケットスキップ部112に供給し、パケット処理用データのキュー長が第2の閾値(低負荷閾値)を下回ると、パケット処理機能が低負荷状態になったことを示す信号をパケットスキップ部112に供給する。なお、転送装置の起動時は、パケット処理用データのキュー長は第2の閾値(スキップ処理解除閾値)を下回った状態にあるので、キュー監視部113は、低負荷状態である旨の信号をパケットスキップ部112に供給する。
パケットスキップ部112は、キュー監視部113から高負荷状態である旨の信号を受信すると、受信部110から供給されるパケットをスケジューラ116に供給する(スキップ処理)。また、パケットスキップ部112は、キュー監視部113から低負荷状態である旨の信号を受信すると、受信部110から供給されるパケットを監視キュー114に供給する(スキップ解除処理)。
上記のように構成されたプロセッサ103では、パケット処理に対する負荷が高くなると、すなわちパケット処理部115が輻輳を起こすと、パケットスキップ部112は、パケット処理用データを送る相手をパケット処理部115からスケジューラ116に変更する。そして、パケット処理部115での輻輳が解消されると、パケットスキップ部112は、データを送る相手をスケジューラ116からパケット処理部115に戻す。
図8に、キュー監視部113とパケットスキップ部112の動作状態の遷移図を示す。この動作状態によれば、以下の「状態1」〜「状態5」が繰り返えされる。
[状態1]
パケットスキップ部112は、パケット処理部115が低負荷状態のとき、すなわち、キュー監視部113から高負荷状態を示す信号を受信するまでは、到着したパケットの処理用データを監視キュー114に入れる。パケット処理部115は、リソースが空くと監視キュー114に入っているパケット処理用データを先頭から取り出し、取り出したデータを用いてパケットに処理を施した後、処理用データをスケジューラ116に送る。
[状態2]
パケット処理部115が高負荷状態になると、リソースがなかなか空かなくなるため、監視キュー114からパケットを取り出す頻度が減少する。パケットスキップ部112が処理用データを監視キュー114に入れる頻度が、パケット処理部115が監視キュー114から処理用データを取り出す頻度より大きくなると、監視キュー114のキュー長が増加する。キュー長が第1の閾値(高負荷閾値)を越えると、キュー監視部113がそれを検知して、パケットスキップ部112に対して、パケット処理部115が高負荷状態になったことを通知する。パケットスキップ部112は、高負荷状態である旨の通知を受信すると、パケット処理用データの送り先を監視キュー114からスケジューラ116に変更する。この変更の際、パケットスキップ部112は、スケジューラ116に送ったパケット処理用データの数をカウンタAでカウントする。また、パケットスキップ部112は、スケジューラ116にパケット処理用データを送る際、データに対応するパケットが外部バッファ装置2に到着するように、バックプレーンに転送する際に添付されるヘッダの送信先が外部バッファ装置2になるように設定する。
[状態3]
監視キュー114にパケットが入らなくなるため、時間の経過とともに、監視キュー114のキュー長は減少する。キュー長が第2の閾値(低負荷閾値)を下回ると、キュー監視部113がそれを検知して、パケットスキップ部112に対して、パケット処理部115が低負荷状態になったことを通知する。パケットスキップ部112は、低負荷状態である旨の通知を受信すると、それ以降、ネットワークから供給されたパケットの処理用データを内部バッファ111に蓄積する。また、パケットスキップ部112は、外部バッファ装置2に対して、自転送装置から送られたパケットを送り返すよう指示するために、低負荷状態の通知を受けた直後にスケジューラ116へ送る処理用データに対応するパケットのバックプレーン用ヘッダの返送フラグを「on」にする。そして、パケットスキップ部112は、それまで動かしていたカウンタAをストップさせ、そのカウント値を保持する。
[状態4]
外部バッファ装置2は、返送フラグが「on」とされたパケットを受信すると、それまで蓄積したあった送信元の転送装置に関するパケットを蓄積した順に読み出し、読み出したパケットを順次、送信元の転送装置へ返送する。外部バッファ装置22から送り返されてきたパケットが転送装置に到着する。転送装置では、外部バッファ装置2から返送されたパケットが受信部110を介してパケットスキップ部112に供給される。パケットスキップ部112は、外部バッファ装置2から返送されたパケットの処理用データを監視キュー114に入れるとともに、外部バッファ装置2から到着したパケットの数をカウンタBによりカウントする。
[状態5]
パケットスキップ部112は、カウンタBのカウント値が、上記[状態3]で保持したカウントAのカウント値(外部バッファ装置2に転送したパケット数)になると、外部バッファ装置2からのパケット返送が終了したとみなす。そして、パケットスキップ部112は、内部バッファ111からそれまで蓄積していたパケット処理用データを読み出して監視キュー114に入れる。パケット処理部115は、監視キュー114から蓄積された処理用データを読み出してパケット処理を行う。
なお、外部バッファ装置2から転送装置へパケットが送り返される際、カウンタBを用いて、外部バッファ装置2からのパケット数をカウントしているが、この場合、外部バッファ装置2からのパケットが転送装置に到着するまでの間にロスすると、外部バッファ装置2からのパケット返送の終了を判断することができなくなる可能性がある。これを防ぐために、パケットスキップ部112は、外部バッファ装置2からパケットが到着するたびに、タイマーをセットし、一定時間経過しても次のパケットが到着しない場合は、外部バッファ装置2からのパケット返送が終了したものとみなす。
また、内部バッファ111内に蓄積されたパケット処理用データが全て読み出されると、上記の「状態1」に戻り、パケットスキップ部112が、ネットワークから到着するパケットの処理用データを直接監視キュー114に入れる。
以上の「状態1」〜「状態5」の動作サイクルを繰り返して、外部バッファ装置2への転送処理を実現する。
以上説明した本実施形態のパケット処理システムによれば、各転送装置1は、自装置の負荷状態が高負荷状態になると、自装置で処理しきれないパケットを外部バッファ装置2に格納しておき、自装置の負荷状態が低負荷状態になった時点で、外部バッファ装置2に格納してあったパケットを処理するようになっている。外部バッファ装置2は、各転送装置1に共通のものであり、各パケット転送装置1には、大容量の内部バッファを設ける必要はない。よって、転送装置1のコストを削減することができ、かつ、システム全体のコストも削減することができる。加えて、大容量の内部バッファを必要としない分、転送装置1の消費電力を低減することができ、その結果、システム全体の消費電力も低減することができる。
(他の実施形態)
上述の実施形態において、転送装置1のプロセッサ103は1つであるが、このプロセッサを、ネットワークからバックプレーンに送られるパケット用(入力側プロセッサ)と、バックプレーンからネットワークに送られるパケット用(出力側プロセッサ)とから構成してもよい。ここでは、本発明の他の実施形態であるパケット処理システムとして、そのような入力側プロセッサおよび出力側プロセッサを設けた転送装置を有するパケット処理システムを説明する。
本他の実施形態であるパケット処理システムの基本的な構成は、図1に示したシステムと同じであるが、転送装置1の構成が異なる。図9に、本発明の他の実施形態であるパケット処理システムに用いられる転送装置の構成を示す。
図9を参照すると、転送装置は、ネットワーク側インタフェース100、デバイス間スイッチ101、転送先プロセッサ指定機能付きバックプレーン側インタフェース102a、パケット処理機能付き入力側プロセッサ103a、および出力側プロセッサ103bからなる。ネットワーク側インタフェース100およびデバイス間スイッチ101は、図5に示したものと同じである。
この転送装置では、外部バッファ2からバックプレーン側インタフェース102aに到着したパケットは、入力側プロセッサ103aに供給される必要がある。これを実現するために、バックプレーン側インタフェース102aは、パケットが到着すると、到着パケットのヘッダに格納されている送信元送信先識別子を参照して、外部バッファ2から到着したパケットならば入力側プロセッサ103aに、そのほかのパケットならば出力側プロセッサ103bに送信する、といった出力プロセッサ指定処理を行う。
図10に、バックプレーン側インタフェース102aの主要部の構成を示す。図10に示すように、バックプレーン側インタフェース102aは、プロセッサ向け信号送受信部1020、出力プロセッサ指定部1021、およびバックプレーン向け信号送受信部1022からなる。出力プロセッサ指定部1021は、バックプレーン向け信号送受信部1022から渡されたパケットのヘッダの送信元送信先識別子を調べ、該パケットが外部バッファ2からの返送パケットであるか否かを判断する。返送パケットである場合は、出力プロセッサ指定部1021は、バックプレーン向け信号送受信部1022から渡されたパケットを入力側プロセッサ103aへ送る。返送パケットでない場合は、出力プロセッサ指定部1021は、バックプレーン向け信号送受信部1022から渡されたパケットを出力側プロセッサ103bへ送る。
上記の返送パケットの判断において、外部バッファ2が送信元の転送装置に蓄積していたパケットを返送する際に、すべての返送パケットのヘッダの返送フラグを「on」にするように構成し、出力プロセッサ指定部1021が、受信パケットのヘッダの返送フラグを調べ、返送フラグが「on」となっているか否かで、外部バッファ2からの返送パケットであるか否かを判断してもよい。
入力側プロセッサ103aは、出力プロセッサ指定部1021から受信したパケットに対して前述の実施形態で説明したパケット処理スキップの処理を実行する。出力側プロセッサ103bは、出力プロセッサ指定部1021から受信したパケット(バックプレーンを介して接続された他の転送装置が宛先となるネットワークと接続された当該転送装置に向けて送出したパケット)を受信した順に、ネットワーク側インタフェース100からネットワーク上に送出するための処理を行う。
上述した各実施形態のパケット処理システムは、本発明の一例であり、その構成および動作は発明の趣旨を逸脱しない範囲で適宜に変更することができる。
以上説明した本発明のパケット処理システムは、データ通信網を構成するルータなどのネットワーク装置に適用することができる。図11に、ネットワーク装置の構成を示す。図11を参照すると、ネットワーク装置は、転送装置301a、301b、外部バッファ装置302、スイッチ303、およびこれらを収容する筐体304からなる。筐体304の背面には、バックプレーンインタフェース300が設けられている。転送装置301a、301b、外部バッファ装置302、およびスイッチ303は、バックプレーンインタフェース300に接続される。このネットワーク装置は、前述の各実施形態で説明したような処理を行うことができる。
バックプレーンインタフェースのトポロジは、スター型やメッシュ型などの任意のトポロジが使用可能である。一例として、図12に、バックプレーンインタフェースのトポロジがメッシュ型のパケット処理システムの構成を示す。このパケット処理システムでは、転送装置1、外部バッファ装置2がそれぞれ個別に接続されたスイッチ3のそれぞれが、バックプレーンを介して相互に接続されている。なお、バックプレーンインタフェースのトポロジがスター型のパケット処理システムとしては、図1に示したパケット処理システムがある。
本発明の一実施形態であるパケット処理システムの概略構成を示すブロック図である。 バックプレーンを流れるパケットに添付されるヘッダの構成を説明するための図である。 図1に示す外部バッファ装置の主要部の構成を示すブロック図である。 図3に示す外部バッファ装置の動作を説明するためのフローチャートである。 図1に示す転送装置の主要部の構成を示すブロック図である。 図5に示すプロセッサの概略構成を示すブロック図である。 図6に示すキュー監視部によるキュー長の監視を説明するための模式図である。 図6に示すキュー監視部およびパケットスキップ部の動作を説明するための状態遷移図である。 本発明の他の実施形態であるパケット処理システムに用いられる転送装置の構成を示すブロック図である。 図9に示すバックプレーン側インタフェースの主要部の構成を示すブロック図である。 本発明のパケット処理システムを適用するネットワーク装置の構成を説明するための斜視図である。 本発明の別の実施形態であるバックプレーンインタフェースのトポロジがメッシュ型のパケット処理システムの構成を示すブロック図である。
符号の説明
1 転送装置
2 外部バッファ装置
3 スイッチ
20 送受信部
21 バッファリング部
22 バッファ
21a ヘッダ解析部
21b メモリ領域割り当て部
21c パケットリード/ライト部
100 ネットワーク側インタフェース
101 デバイス間スイッチ
102 バックプレーン側インタフェース
103 プロセッサ
104 記憶部

Claims (8)

  1. スイッチを介して相互に接続された複数のパケット転送装置を有し、該パケット転送装置のそれぞれが、自装置に接続されたネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続されたパケット転送装置に転送するパケット処理システムであって、
    前記複数のパケット転送装置のそれぞれと前記スイッチを介して接続された外部バッファ装置を有し、
    前記複数のパケット転送装置のそれぞれは、前記受信パケットを転送するためのパケット処理に対する負荷の状態が、自装置内に保持した前記受信パケットの量が閾値より少ない低負荷状態から前記受信パケットの量が前記閾値より大きな別の閾値を超える高負荷状態に遷移すると、自装置で処理しきれないパケットを前記外部バッファ装置へ送信して保持させ、前記負荷の状態が前記高負荷状態から前記低負荷状態に遷移すると、前記外部バッファ装置から前記保持させたパケットを取得し、該取得したパケットに対する前記パケット処理を実行するように構成されており、
    さらに、前記複数のパケット転送装置のそれぞれは、前記低負荷状態から前記高負荷状態への遷移時から前記高負荷状態から前記低負荷状態への遷移時までの期間中に自装置が前記外部バッファ装置へ送信したパケットの数をカウントしてその値を保持するとともに、前記高負荷状態から前記低負荷状態への遷移後、前記外部バッファ装置からパケットを受信する度に、タイマーを所定値にセットし、カウントダウンを始め、該タイマーが切れた場合に、および、前記外部バッファ装置から取得したパケットの数が前記保持したカウント値と一致した場合に、前記外部バッファ装置から取得したパケットに対する前記パケット処理を実行する、パケット処理システム。
  2. 前記複数のパケット転送装置のそれぞれは、
    内部バッファと、
    供給されたパケットを順に蓄積する監視キューと、
    前記監視キューに格納されたパケットのキュー長が第1の閾値を超えると、前記高負荷状態を示す第1の信号を送出し、前記キュー長が前記第1の閾値より小さな第2の閾値を下回ると、前記低負荷状態を示す第2の信号を送出するキュー監視部と、
    供給されたパケットの転送順のスケジューリングを行うスケジューラと、
    前記監視キューから蓄積したパケットを蓄積順に取り出して前記パケット処理を実行し、該パケット処理を施したパケットを前記スケジューラに供給するパケット処理部と、
    自装置と接続された前記ネットワークから到着するパケットを入力とし、前記キュー監視部から前記第1の信号を受信すると、該入力パケットを直接、前記スケジューラに供給し、前記第1の信号を受信した後に前記キュー監視部から前記第2の信号を受信すると、該入力パケットを前記内部バッファに供給するとともに、前記第2の信号の受信直後に前記スケジューラに供給されるパケットのヘッダに、前記外部バッファ装置に保持されている当該パケット転送装置から送信したパケットを返送する旨の返送指示を付与するパケットスキップ部と、を有し、
    前記パケットスキップ部は、前記返送指示に応じて前記外部バッファ装置が返送したパケットを全て前記監視キューに供給した後、前記内部バッファに格納したパケットを前記監視キューに供給する、請求項1に記載のパケット処理システム。
  3. 前記外部バッファ装置は、
    パケット用バッファと、
    前記複数のパケット転送装置から、自装置で処理しきれない前記パケットを受信し、該受信したパケットを、パケット転送装置毎に、受信した順序で前記パケット用バッファに格納するバッファリング部と、を有し、
    前記バッファリング部は、前記パケット用バッファに格納したパケットの送信元であるパケット転送装置から返送指示を受けると、該パケット転送装置に関するパケットを、前記受信した順序で前記パケット用バッファから読み出して該パケット転送装置に返送する、請求項1または2に記載のパケット処理システム。
  4. 前記複数のパケット転送装置は、自装置で処理しきれない前記パケットとして、送信元を識別可能な識別子と返送の有無を示す返送指示情報とを含むヘッダ情報が付与されたパケットを前記外部バッファ装置に向けて送信し、
    前記バッファリング部は、
    前記複数のパケット転送装置のいずれかの装置から、自装置で処理しきれない前記パケットを受信すると、該受信パケットのヘッダ情報に基づいて、該受信パケットの送信元のパケット転送装置を特定するとともに、返送指示の有無を確認するヘッダ解析部と、
    前記ヘッダ解析部で特定される送信元のパケット転送装置毎に、前記パケット用バッファにおけるメモリ領域を割り当てるメモリ領域割り当て部と、
    前記複数のパケット転送装置から受信した、自装置で処理しきれない前記パケットを、前記メモリ領域割り当て部で割り当てた、対応するメモリ領域に格納するとともに、前記ヘッダ解析部が、特定した前記送信元のパケット転送装置からのパケットについて、返送指示が有ると判断した場合に、特定した前記送信元のパケット転送装置に関するパケットを、前記パケット用バッファの対応するメモリ領域から読み出すパケットリード/ライト部と、を有する、請求項3に記載のパケット処理システム。
  5. 送信元のパケット転送装置が、自装置に接続されたネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続されたパケット転送装置に転送する第1のステップと、
    前記送信元のパケット転送装置が、前記受信パケットを転送するためのパケット処理に対する負荷の状態が、自装置内に保持した前記受信パケットの量が閾値より少ない低負荷状態から前記受信パケットの量が前記閾値より大きな別の閾値を超える高負荷状態に遷移すると、自装置で処理しきれないパケットを外部バッファ装置へ送信して保持さ、前記負荷の状態が前記高負荷状態から前記低負荷状態に遷移すると、前記外部バッファ装置から前記保持させたパケットを取得し、該取得したパケットに対する前記パケット処理を実行する第2のステップと、を含み、
    前記第2のステップは、前記送信元のパケット転送装置が、前記低負荷状態から前記高負荷状態への遷移時から前記高負荷状態から前記低負荷状態への遷移時までの期間中に自装置が前記外部バッファ装置へ送信したパケットの数をカウントしてその値を保持するとともに、前記高負荷状態から前記低負荷状態への遷移後、前記外部バッファ装置からパケットを受信する度に、タイマーを所定値にセットし、カウントダウンを始め、該タイマーが切れた場合に、および、前記外部バッファ装置から取得したパケットの数が前記保持したカウント値と一致した場合に、前記外部バッファ装置から取得したパケットに対する前記パケット処理を実行するステップを含む、パケット処理方法。
  6. 前記第2のステップは、
    自装置と接続された前記ネットワークから到着したパケットを到着順に監視キューに格納するステップと、
    前記監視キューから蓄積したパケットを蓄積順に取り出して前記パケット処理を実行するステップと、
    前記監視キューに格納されたパケットのキュー長が第1の閾値を超えると、前記パケット処理の負荷が前記高負荷状態であると判断し、前記キュー長が前記第1の閾値より小さな第2の閾値を下回ると、前記パケット処理の負荷が前記低負荷状態であると判断するステップと、を含む、請求項5に記載のパケット処理方法。
  7. ネットワークに接続されるネットワーク側インタフェースと、
    他のパケット転送装置および外部バッファ装置のそれぞれとバックプレーンを介して接続されるバックプレーン側インタフェースと、
    前記ネットワーク側インタフェースを通じて前記ネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続されたパケット転送装置に、前記バックプレーン側インタフェースを通じて転送するプロセッサとを有し、
    前記プロセッサは、前記受信パケットを転送するためのパケット処理に対する負荷の状態が、自装置内に保持した前記受信パケットの量が閾値より少ない低負荷状態から前記受信パケットの量が前記閾値より大きな別の閾値を超える高負荷状態に遷移すると、自装置で処理しきれないパケットを前記外部バッファ装置へ送信して保持させ、前記負荷の状態が前記高負荷状態から前記低負荷状態に遷移すると、前記外部バッファ装置から前記保持させたパケットを取得し、該取得したパケットに対する前記パケット処理を実行する、パケット転送装置であって、
    前記プロセッサは、前記低負荷状態から前記高負荷状態への遷移時から前記高負荷状態から前記低負荷状態への遷移時までの期間中に自装置が前記外部バッファ装置へ送信したパケットの数をカウントしてその値を保持するとともに、前記高負荷状態から前記低負荷状態への遷移後、前記外部バッファ装置からパケットを受信する度に、タイマーを所定値にセットし、カウントダウンを始め、該タイマーが切れた場合に、および、前記外部バッファ装置から取得したパケットの数が前記保持したカウント値と一致した場合に、前記外部バッファ装置から取得したパケットに対する前記パケット処理を実行する、パケット転送装置。
  8. ネットワークに接続されるとともに、他のパケット転送装置および外部バッファ装置のそれぞれとバックプレーンを介して接続されるパケット転送装置に用いられるプログラムであって、
    前記ネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続されたパケット転送装置に転送する第1の処理と、
    前記受信パケットを転送するためのパケット処理に対する負荷の状態が、自装置内に保持した前記受信パケットの量が閾値より少ない低負荷状態から前記受信パケットの量が前記閾値より大きな別の閾値を超える高負荷状態に遷移すると、自装置で処理しきれないパケットを前記外部バッファ装置へ送信して保持させ、前記負荷の状態が前記高負荷状態から前記低負荷状態に遷移すると、前記外部バッファ装置から前記保持させたパケットを取得し、該取得したパケットに対する前記パケット処理を実行する第2の処理と、を前記パケット転送装置のコンピュータに実行させ、
    前記第2の処理は、前記低負荷状態から前記高負荷状態への遷移時から前記高負荷状態から前記低負荷状態への遷移時までの期間中に自装置が前記外部バッファ装置へ送信したパケットの数をカウントしてその値を保持するとともに、前記高負荷状態から前記低負荷状態への遷移後、前記外部バッファ装置からパケットを受信する度に、タイマーを所定値にセットし、カウントダウンを始め、該タイマーが切れた場合に、および、前記外部バッファ装置から取得したパケットの数が前記保持したカウント値と一致した場合に、前記外部バッファ装置から取得したパケットに対する前記パケット処理を実行する処理を含む、プログラム。
JP2006155947A 2006-06-05 2006-06-05 パケット処理システム、パケット処理方法、およびプログラム Expired - Fee Related JP4630231B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006155947A JP4630231B2 (ja) 2006-06-05 2006-06-05 パケット処理システム、パケット処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006155947A JP4630231B2 (ja) 2006-06-05 2006-06-05 パケット処理システム、パケット処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2007325178A JP2007325178A (ja) 2007-12-13
JP4630231B2 true JP4630231B2 (ja) 2011-02-09

Family

ID=38857551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006155947A Expired - Fee Related JP4630231B2 (ja) 2006-06-05 2006-06-05 パケット処理システム、パケット処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP4630231B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5411090B2 (ja) * 2010-08-20 2014-02-12 日本電信電話株式会社 バッファ制御方法およびバッファ制御装置
JP5421306B2 (ja) * 2011-02-21 2014-02-19 日本電信電話株式会社 データ通信システム、バッファ制御装置、およびバッファ制御方法
JP6540132B2 (ja) * 2015-03-20 2019-07-10 カシオ計算機株式会社 復号装置、復号方法、及び、プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0637855A (ja) * 1992-07-15 1994-02-10 Hitachi Cable Ltd 受信バッファ資源管理方式
JPH07307762A (ja) * 1993-08-05 1995-11-21 Fujitsu Ltd フレームリレー交換機およびルータ
JPH10322360A (ja) * 1997-03-14 1998-12-04 Fujitsu Ltd Atmネットワークシステム
JP2005210385A (ja) * 2004-01-22 2005-08-04 Fujitsu Ltd 他装置とのバッファ共有方法及び装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0637855A (ja) * 1992-07-15 1994-02-10 Hitachi Cable Ltd 受信バッファ資源管理方式
JPH07307762A (ja) * 1993-08-05 1995-11-21 Fujitsu Ltd フレームリレー交換機およびルータ
JPH10322360A (ja) * 1997-03-14 1998-12-04 Fujitsu Ltd Atmネットワークシステム
JP2005210385A (ja) * 2004-01-22 2005-08-04 Fujitsu Ltd 他装置とのバッファ共有方法及び装置

Also Published As

Publication number Publication date
JP2007325178A (ja) 2007-12-13

Similar Documents

Publication Publication Date Title
EP1810466B1 (en) Directional and priority based flow control between nodes
KR100735408B1 (ko) 이더넷 기반의 네트워크에서 서비스 클래스별 트래픽의스위칭 제어 방법 및 그 스위칭 장치
JP3732989B2 (ja) パケットスイッチ装置及びスケジューリング制御方法
WO2019184925A1 (zh) 一种报文发送的方法、网络节点和系统
JP4995101B2 (ja) 共有リソースへのアクセスを制御する方法及びシステム
JP2014517571A (ja) 階層型スケジューリングおよびシェーピング
JP2009022038A5 (ja)
JP2008546298A (ja) 電子装置及び通信リソース割り当ての方法
US7164687B2 (en) Queue control method and relay apparatus using the method
CN111526095A (zh) 一种流量控制方法和装置
JP2003283563A (ja) トラヒック監視システム
JP2009021872A (ja) パケット伝送方法及び装置
JP5104508B2 (ja) 中継装置およびパケット中継方法
US11165705B2 (en) Data transmission method, device, and computer storage medium
US8838782B2 (en) Network protocol processing system and network protocol processing method
US20090003329A1 (en) Repeater, Communication System, Control Circuit, Connector, and Computer Program
JP4630231B2 (ja) パケット処理システム、パケット処理方法、およびプログラム
JP2014022761A (ja) ネットワークシステム、情報中継装置、及びパケット配信方法
JP4669442B2 (ja) パケット処理システム、パケット処理方法、およびプログラム
JP5492709B2 (ja) 帯域制御方法及び帯域制御装置
JP4276094B2 (ja) パケットの優先制御を行う通信装置及び優先制御方法
JP6620760B2 (ja) 管理ノード、端末、通信システム、通信方法、および、プログラム
CN114884902B (zh) 一种数据流传输方法、装置、网络设备及存储介质
JP5617625B2 (ja) データ中継装置および通信優先制御方法
CN115550237A (zh) 一种数据处理方法以及相关装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101015

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

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

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees