説明

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

【課題】大容量のバッファを必要とせず、輻輳によるパケットの処理待ちを抑制することのできる、低コストのパケット処理システムを提供する。
【解決手段】複数の転送装置1および共有転送装置2がスイッチ3を介して相互に接続されている。転送装置1のそれぞれは、自装置と接続されたネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、上記ヘッダ情報に基づいて、上記宛先となるネットワークが接続された転送装置に転送する。転送元の転送装置1の負荷が低負荷状態から高負荷状態に遷移した場合に、共有転送装置2が、転送元の転送装置1が処理しきれない受信パケットを、転送元の転送装置1に代わってパケット処理する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ通信システムに関し、特に、ネットワークから受信したデータパケットをその宛先のネットワークへ転送するパケット処理システムに関する。
【背景技術】
【0002】
ネットワークと回線を介して接続され、ネットワークから到着したパケットを、そのヘッダに格納されている宛先情報に応じて宛先のネットワークへと転送するパケット処理システムが知られている。このパケット処理システムは、それぞれがネットワークに接続された複数のパケット転送装置と、これらパケット転送装置が接続されるスイッチとから構成される。パケット転送装置は、パケットの送受信、パケットのあて先の調査、パケットの転送順のスケジューリングなどを行う。スイッチは、パケット転送装置から転送されたパケットを適切なパケット転送装置へと送り届ける。
【0003】
パケット転送装置には、パケットを処理するためのプロセッサが内蔵されている。プロセッサの負荷は、パケットに施すプロトコルの数や経路情報などの検索時間に応じて変化する。プロセッサの負荷状況によっては、パケット転送装置に到着するパケットの量が、プロセッサが処理することができるデータ量を超える場合がある。そのような場合は、プロセッサの負荷が軽くなるまで、到着したパケットをパケット転送装置内に設けられたバッファに蓄積する。バッファは、一定数のパケットが蓄積できる容量を有する。これにより、パケット廃棄の回数を減らすことが可能となる。
【0004】
非特許文献1には、出力側のポートで輻輳が発生すると、共有バッファにパケットを一旦退避させる技術が記載されている。
【0005】
また、非特許文献2には、配下のエッジルータを共有バッファとして用いる光パケットルータが記載されている。この光パケットルータでは、出回線で衝突したパケットを一時的にエッジルータで電気変換して保持する。出回線に空きができた時点で、光パケットルータは、エッジルータで保持してあったパケットを再び送出する。
【非特許文献1】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
【非特許文献2】佐々木純、高橋達郎、”エッジルータを共通バッファとして用いる光パケットルータのトラヒック制御法”、電子情報通信学会論文誌Vol J87, No.7 pp.963-971
【発明の開示】
【発明が解決しようとする課題】
【0006】
パケット転送装置内にバッファを有するものにおいては、パケット転送装置に到着するパケットの量が、プロセッサが処理することができるデータ量を超える場合に、パケットをバッファに蓄積することで、パケット廃棄を回避することができる。しかし、この場合は、確実にパケット廃棄を回避するためには、プロセッサが処理することができるデータ量を超えて到着し得るパケットの最大量に応じた記憶容量を有するバッファを用意する必要がある。このように記憶容量の大きなバッファをパケット転送装置に設けることは、パケット転送装置のコストが高くなるばかりか、パケット転送装置の消費電力も増大する。
【0007】
加えて、バッファに蓄積されたパケットに対する処理は、プロセッサの負荷がある程度低下するまで実行されない。このようにバッファに蓄積されたパケットは処理待ちの状態になるため、その分、ネットワークから到着したパケットをあて先のネットワークへ送信するまでに要する時間が長くなる。
【0008】
非特許文献1,2に記載のものはいずれも、出力側のポート(出回線)における輻輳によるパケットの廃棄を回避することを目的としており、入力側のポート(入回線)では、全てのパケットが処理できていることを前提にしている。一方、上記の問題は入力側のポートでパケット処理ができない状況において生じるものである。よって、これら非特許文献1,2に記載のものでは、上記の問題を解決することはできない。
【0009】
本発明の目的は、上記問題を解決し、大容量のバッファを必要とせず、輻輳によるパケットの処理待ちを抑制することのできる、低コストのパケット処理システムを提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、第1の発明のパケット処理システムは、
別々のネットワークに接続される複数のパケット転送装置と、
前記複数のパケット転送装置が接続され、各パケット転送装置間におけるパケットの受け渡しを行うスイッチと、を有し、
前記複数のパケット転送装置のそれぞれは、自装置と接続されたネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続された転送先のパケット転送装置に転送するプロセッサを有し、
前記受信パケットの転送元であるパケット転送装置において、前記プロセッサにおける前記受信パケットを転送するためのパケット処理に対する負荷の状態が低負荷状態から高負荷状態に遷移した場合に、該プロセッサが処理することのできない受信パケットを、該プロセッサに代わって、他のパケット転送装置の前記プロセッサがパケット処理するように構成されている。
【0011】
上記の第1の発明によれば、転送元のパケット転送装置がパケットを処理しきれなくなると、他のパケット転送装置が、転送元のパケット転送装置に代わって、その処理しきれなくなったパケットに対するパケット処理を行う。よって、各パケット転送装置は、処理しきれなくなったパケットを保持するための大容量のバッファを備える必要がない。
【0012】
また、転送元のパケット転送装置によるパケット処理と他のパケット転送装置によるパケット処理とは並列に実行可能である。よって、従来のような、パケット転送装置が処理しきれなくなったパケットが処理待ちの状態になる、といった問題は生じない。
【0013】
第2の発明のパケット処理システムは、
別々のネットワークに接続される複数のパケット転送装置と、
前記複数のパケット転送装置が接続され、各パケット転送装置間におけるパケットの受け渡しを行うスイッチと、
前記複数のパケット転送装置のそれぞれと前記スイッチを介して接続された少なくとも1つの共有転送装置を有し、
前記複数のパケット転送装置のそれぞれは、自装置と接続されたネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続された転送先のパケット転送装置に転送するプロセッサを有し、
前記プロセッサは、前記受信パケットを転送するためのパケット処理に対する負荷が低負荷状態から高負荷状態に遷移した場合に、前記受信パケットを、前記パケット処理を行わずに前記共有転送装置へ送信し、
前記共有転送装置は、高負荷状態となった前記プロセッサから受信したパケットに対して、該プロセッサに代わって前記パケット処理を実行し、該パケット処理を施したパケットを前記転送先のパケット転送装置に送信するように構成されている。
【0014】
第2の発明によれば、パケット転送装置がパケットを処理しきれなくなると、共有転送装置が、パケット転送装置に代わって、その処理しきれなくなったパケットに対するパケット処理を行う。よって、第2の発明においても、各パケット転送装置は、処理しきれなくなったパケットを保持するために、大容量のバッファを備える必要がない。
【0015】
また、パケット転送装置によるパケット処理と共有転送装置によるパケット処理とは並列に実行可能である。よって、第2の発明においても、従来のような、パケット転送装置が処理しきれなくなったパケットが処理待ちの状態になる、といった問題は生じない。
【発明の効果】
【0016】
本発明によれば、パケット転送装置のそれぞれに記憶容量の大きなバッファを設ける必要がないので、その分、パケット転送装置のコストを削減することができる。
【0017】
また、パケット転送装置が処理しきれなくなったパケットが処理待ちの状態となることを抑制することができるので、従来のものと比較して、ネットワークから到着したパケットをあて先のネットワークへ送信するまでに要する時間を短くすることができる。
【発明を実施するための最良の形態】
【0018】
次に、本発明の実施形態について図面を参照して説明する。
【0019】
図1は、本発明の一実施形態であるパケット処理システムの概略構成を示すブロック図である。図1を参照すると、パケット処理システムは、3台の転送装置1と、1台の共有転送装置2と、これら転送装置1および共有転送装置2がそれぞれ接続されるスイッチ3とから構成される。なお、スイッチ3に接続される転送装置1および共有転送装置2の数は、適宜変更することができる。
【0020】
転送装置1および共有転送装置2のそれぞれはバックプレーンを介してスイッチ3に接続されており、転送装置1および共有転送装置2の各装置間でバックプレーンを通じたパケット交換が可能となっている。転送装置1は、ネットワークからパケットを受け取る。パケットを受信した転送装置は、受信パケットのヘッダの情報に基づいて宛先となる転送装置(送信先の転送装置)を認識し、その転送装置に向けて受信パケットを転送する。送信先の転送装置は、送信元の転送装置から受け取ったパケットを宛先のネットワーク上に送出する。送信元の転送装置は、自装置で処理しきれなくなったパケットを共有転送装置2に送る。共有転送装置2は、送信元の転送装置から受信したパケットに対して、その送信元の転送装置に代わってパケット処理を行う。このパケット処理において、共有転送装置2は、受信パケットのヘッダの情報に基づいて送信先の転送装置を認識し、その転送装置に向けて受信パケットを転送する。
【0021】
図2に、バックプレーンを流れるパケットに添付されるヘッダの構成を示す。図2を参照すると、パケットのヘッダは、送信先送信元識別子10、迂回フラグ11、および送信元転送装置固有情報13からなる。送信先送信元識別子10は、送信元の転送装置と送信先の転送装置の対応関係で一意に決まる識別子である。この送信先送信元識別子10に基づいて、送信元の転送装置と送信先の転送装置を識別することができる。迂回フラグ11は、転送装置1がパケットを共有転送装置2に送る際に、パケットを処理するよう指示するためのフラグである。転送装置1は、迂回フラグ11を用いて共有転送装置2にパケットの処理を指示することができる。送信元転送装置固有情報13は、転送装置1における入力ポートなどの情報であって、共有転送装置2のパケット処理に使用される。
【0022】
パケットには、図2に示したヘッダに続いてペイロード14が設けられている。このペイロード14には、転送装置に到着した状態のままのパケットが格納される。
【0023】
次に、転送装置1の構成を具体的に説明する。図3に、転送装置1の主要部の構成を示す。図3を参照すると、転送装置1は、ネットワーク側インタフェース100、デバイス間スイッチ101、バックプレーン側インタフェース102、プロセッサ103、および記憶部104からなる。
【0024】
ネットワーク側インタフェース100は、ネットワークと接続され、ネットワークを通じて信号を送受信する。バックプレーン側インタフェース102は、バックプレーンに接続され、バックプレーンを通じて信号を送受信する。記憶部104は、半導体メモリまたはCD−RやDVDに代表される記憶媒体を利用する記憶装置であって、転送装置1を動作させるためのプログラムやデータが格納される。
【0025】
デバイス間スイッチ101は、ネットワーク側インタフェース100、バックプレーン側インタフェース102、およびプロセッサ103のそれぞれの間で信号の受け渡しを行う。プロセッサ103は、記憶部104に格納されたプログラムに従って種々の処理を実行する。プロセッサ103によって実行される処理としては、パケット送受信処理、パケットオーダリング用キュー処理、パケットスキップ処理、パケット処理、キュー監視処理、スケジューリング処理などがある。
【0026】
転送装置1では、ネットワークから到着したパケットは、ネットワーク側インタフェース100で処理された後、プロセッサ103に送られる。プロセッサ103は、ネットワーク側インタフェース100から供給されたパケットに対して必要な処理を実行する。プロセッサ103で処理が施されたパケットは、バックプレーン側インタフェース102に送られる。バックプレーン側インタフェース102は、プロセッサ103から受け取ったパケットを、バックプレーンを介して他の転送装置または共有転送装置に送る。各インタフェース100、102とプロセッサ103との間のパケットのやり取りは、デバイス間スイッチ101を介して行われる。デバイス間スイッチ101は、入力されたパケットをあて先へと出力する役割を果たす。なお、パケットの転送先は、各インタフェース100、102やプロセッサ103で自由に設定することが可能である。このような装置間を結ぶインタフェースとしては、OIF(Optical Networking Forum)で規定されたSPI4(System Packet Interface level 4)などがある。
【0027】
図4に、プロセッサ103の概略構成を示す。図4を参照すると、プロセッサ103は、受信部110、パケットオーダリング用キュー処理部111、パケットスキップ部112、キュー監視部113、監視キュー114、パケット処理部115、スケジューラ116、および送信部117から構成される。
【0028】
受信部110は、デバイス間スイッチ101からパケットを受信する。パケット処理部115は、受信したパケットに対してあて先の調査などを含むパケット転送を行うのに必要な処理を行う。スケジューラ116は、パケットの転送順のスケジューリングを行う。送信部117は、スケジューラ116から出力されたパケットをデバイス間スイッチ101へ送出する。これら受信部110、パケット処理部115、スケジューラ116、および送信部117は従来の転送装置のプロセッサに備えられているものと基本的には同じものであり、これら各部に、パケットのメモリ上の格納位置やヘッダ情報などが書かれているパケット処理に必要な情報を与えることで、パケットに対する各処理が実行される。
【0029】
パケットスキップ部112、キュー監視部113、および監視キュー114は、プロセッサ103の負荷が高くなったときに、パケットの処理を行わずに、パケットを共有転送装置2に送るための処理を行う部分である。
【0030】
監視キュー114は、プロセッサ103のパケット処理機能の負荷状況を測定するためのキューであって、パケット処理部115の入力段に設けられている。監視キュー114には、受信部110で受信したパケットがパケットオーダリング用キュー処理部111およびパケットスキップ部112を介して供給されている。
【0031】
キュー監視部113は、監視キュー114に蓄えられたパケット処理用データのキュー長を監視するものである。図5に、キュー監視部113によるキュー長の監視を模式的に示す。キュー監視部113は、パケット処理用データのキュー長が第1の閾値(スキップ処理決定閾値)を超えると、パケット処理機能が高負荷状態になっていることを示す信号をパケットスキップ部112に供給し、パケット処理用データのキュー長が第2の閾値(スキップ処理解除閾値)を下回ると、パケット処理機能が低負荷状態になったことを示す信号をパケットスキップ部112に供給する。なお、転送装置の起動時は、パケット処理用データのキュー長は第2の閾値(スキップ処理解除閾値)を下回った状態にあるので、キュー監視部113は、低負荷状態である旨の信号をパケットスキップ部112に供給する。
【0032】
パケットスキップ部112は、キュー監視部113から高負荷状態である旨の信号を受信すると、受信部110からパケットオーダリング用キュー処理部111を介して供給されるパケットをスケジューラ116に供給する(スキップ処理)。また、パケットスキップ部112は、キュー監視部113から低負荷状態である旨の信号を受信すると、受信部110からパケットオーダリング用キュー処理部111を介して供給されるパケットを監視キュー114に供給する(スキップ解除処理)。
【0033】
図6に、キュー監視部113とパケットスキップ部112の動作状態の遷移図を示す。この動作状態によれば、以下の「状態1」〜「状態3」が繰り返えされる。
【0034】
[状態1]
パケットスキップ部112は、パケット処理部115が低負荷状態のとき、すなわち、キュー監視部113から高負荷状態を示す信号を受信するまでは、到着したパケットの処理用データを監視キュー114に入れる。パケット処理部115は、リソースが空くと監視キュー114に入っているパケット処理用データを先頭から取り出し、取り出したデータを用いてパケットに処理を施した後、処理用データをスケジューラ116に送る。
【0035】
[状態2]
パケット処理部115が高負荷状態になると、リソースがなかなか空かなくなるため、監視キュー114からパケットを取り出す頻度が減少する。パケットスキップ部112が処理用データを監視キュー114に入れる頻度が、パケット処理部115が監視キュー114から処理用データを取り出す頻度より大きくなると、監視キュー114のキュー長が増加する。キュー長が第1の閾値(スキップ処理決定閾値)を越えると、キュー監視部113がそれを検知して、パケットスキップ部112に対して、パケット処理部115が高負荷状態になったことを通知する。パケットスキップ部112は、高負荷状態である旨の通知を受信すると、パケット処理用データの送り先を監視キュー114からスケジューラ116に変更する。この変更後、パケットスキップ部112は、到着するパケットの処理用データをスケジューラ116に送るが、処理データに対応するパケットのバックプレーン用ヘッダの迂回フラグが「on」になるようにする。
【0036】
[状態3]
監視キュー114にパケットが入らなくなるため、時間の経過とともに、監視キュー114のキュー長は減少する。キュー長が第2の閾値(スキップ処理解除閾値)を下回ると、キュー監視部113がそれを検知して、パケットスキップ部112に対して、パケット処理部115が低負荷状態になったことを通知する。パケットスキップ部112は、低負荷状態である旨の通知を受信すると、パケット処理用データの送り先をスケジューラ116から監視キュー114に変更する。この変更後、パケットスキップ部112は、到着するパケットの処理用データを監視キュー114に送るが、処理データに対応するパケットのバックプレーン用ヘッダの迂回フラグが「off」になるようにする。
【0037】
パケットオーダリング用キュー処理部111は、パケットオーダリング用キュー処理部111は、ネットワーク側にパケットを送出する際に、送信元の転送装置から直接到着したパケットと共有転送装置を迂回して到着したパケットを、本来の正しい順序(ネットワークから送信元の転送装置に到着したパケットの順序)になるように並べる。パケットを並べる作業を行うために、タイマーを用いた時間管理を行うとともにパケットのバックプレーン用ヘッダ内に存在する迂回フラグを使用する。パケットオーダリング用キュー処理部111によるパケットの並べ替えにより、送信元の転送装置から直接受信したパケットと共有転送装置を迂回して到達したパケットの間で順序の逆転が起こらないようになっている。
【0038】
図7に、パケットオーダリング用キュー処理部111の動作状態の遷移図を示す。この動作状態によれば、以下の状態1〜4が繰り返えされる。
【0039】
[状態1]
送信元の転送装置が低負荷状態にあるときは、パケットの共有転送装置への迂回は行われないので、送信先の転送装置は、送信元の転送装置からのみパケットを受信することになる。送信先の転送装置では、パケットオーダリング用キュー処理部111は、送信元の転送装置から受信したパケットの処理用データをパケット処理部115に向けて送出する。
【0040】
[状態2]
送信元の転送装置が高負荷状態になると、パケットの共有転送装置への迂回が行われるので、送信先の転送装置は、送信元の転送装置からパケットを受信するとともに、共有転送装置から迂回したパケットを受信することになる。
【0041】
送信先の転送装置では、パケットオーダリング用キュー処理部111は、バックプレーン用パケットヘッダ内の送信元送信先識別子と迂回フラグの「on」の情報とに基づいて、共有転送装置から迂回したパケットを受信したことを検知する。そして、パケットオーダリング用キュー処理部111は、送信元の転送装置から直接受信したパケットについては、その処理用データをパケット処理部115に向けて送出し、共有転送装置を迂回したパケットについては、その処理用データを自処理部内のキュー(バッファ)に格納する。この処理は、送信先の転送装置から送られてきたパケットが到着するたびにセットされるタイマーが切れるまで行われる。タイマーが切れたときに、パケットオーダリング用キュー処理部111は、送信元の転送装置から直接送信される最後のパケットがすでに到着したと判断する。その後、再び、送信元の転送装置から直接送信されるパケットが到着するまで、到着したパケットをすべて共有転送装置から来たパケットと判断する。
【0042】
[状態3]
送信元の転送装置からのパケットの直接受信が終了すると、送信先の転送装置では、パケットオーダリング用キュー処理部111が、内部バッファに格納した処理用データ、および共有転送装置から新たに到着する、迂回したパケットの処理用データをパケットの到着順にパケット処理部115に向けて送出する。
【0043】
[状態4]
送信元の転送装置が低負荷状態に戻ると、送信先の転送装置は、共有転送装置から迂回したパケットを受信することに加えて、送信元の転送装置から直接パケットを受信することになる。
【0044】
送信先の転送装置では、パケットオーダリング用キュー処理部111は、バックプレーン用パケットヘッダ内の送信元送信先識別子と迂回フラグの「off」の情報とに基づいて、送信元の転送装置からパケットを直接受信したことを検知する。そして、パケットオーダリング用キュー処理部111は、共有転送装置を迂回したパケットについては、その処理用データをパケット処理部115に向けて送出するとともに、送信元の転送装置から直接受信したパケットについては、その処理用データを自処理部内のキュー(バッファ)に格納する。この処理は、共有転送装置から送られて来たパケットが到着するたびにセットされるタイマーが切れるまで行われる。タイマー切れたときに、パケットオーダリング用キュー処理部111は、共有転送装置を迂回してきた最後のパケットがすでに到着したと判断する。その後、再び、共有転送装置から直接送信されるパケットが到着するまで、到着したパケットをすべて送信元の転送装置から直接来たパケットと判断する。
【0045】
次に、共有転送装置2について具体的に説明する。共有転送装置2の主要部は、図3に示した転送装置1の主要部(ネットワーク側インタフェース100、デバイス間スイッチ101、バックプレーン側インタフェース102、プロセッサ103、および記憶部104)と同様な構成となっているが、プロセッサの構成が転送装置1と異なる。
【0046】
共有転送装置2は、迂回したパケットを処理するための専用装置であってもよいし、通常の転送装置の機能に迂回したパケットを処理する機能を加えた兼用型装置であってもよい。後者の転送兼用型の共有転送装置は、通常の転送装置として動作するとともに、共有転送装置としての役割を果たす。
【0047】
図8に、兼用型の共有転送装置のプロセッサの構成を示す。図8を参照すると、プロセッサ203は、受信部210、迂回フラグ判定部211、パケット処理部212、スケジューラ213、および送信部214から構成される。図3に示した構成において、このプロセッサ203をプロセッサ103と置き換えたものが兼用型の共有転送装置となる。受信部210、パケット処理部212、スケジューラ213、および送信部214は既存の転送装置のものと同じである。
【0048】
兼用型の共有転送装置は、共有転送装置として動作する第1の動作モードと、通常の転送装置として動作する第2の動作モードとを有する。第1のモードの場合は、パケットの送信元となる転送装置の情報を用いてパケット処理を行う。一方、第2のモードの場合は、自装置の情報を用いてパケット処理を行う。このように第1のモードと第2のモードとでは、パケット処理に使用する情報が異なるため、迂回フラグが共有転送装置で処理されるデータを明示するために使用される。このため、図8に示す兼用型の共有転送装置では、迂回フラグのon/offと送信元となる転送装置を識別する迂回フラグ判定部211が、パケット処理部212の入力段に設けられている。
【0049】
なお、専用の共有転送装置では、兼用型の共有転送装置とは異なり、到着するパケットがすべて送信元の転送装置から到着するパケットであるため、迂回フラグ判定部を必要としない。
【0050】
以上説明した本実施形態のパケット処理システムによれば、いずれかのパケット転送装置がパケットを処理しきれなくなると、共有転送装置が、パケット転送装置に代わって、その処理しきれなくなったパケットに対するパケット処理を行う。よって、各パケット転送装置は、処理しきれなくなったパケットを保持するために、大容量のバッファを備える必要がないので、その分、パケット転送装置のコストを削減することができる。
【0051】
また、パケット転送装置によるパケット処理と共有転送装置によるパケット処理とは並列に実行可能であるので、従来のような、パケット転送装置が処理しきれなくなったパケットが処理待ちの状態になる、といった問題は生じない。このようにパケット転送装置が処理しきれなくなったパケットは、処理待ちの状態になることなく、共有転送装置にてパケット処理が実行されるので、従来のものと比較して、ネットワークから到着したパケットをあて先のネットワークへ送信するまでに要する時間を短くすることができる。
【0052】
(他の実施形態)
上述の実施形態では、図3および図4に示したように、転送装置1のプロセッサ103は、パケット処理スキップ機能およびパケットオーダリング用キュー機能を有するが、このプロセッサ103に代えて、パケット処理スキップ機能を有する第1のプロセッサと、パケットオーダリング用キュー機能を有する第2のプロセッサとを用いてもよい。ここでは、本発明の他の実施形態であるパケット処理システムとして、そのような機能別のプロセッサを設けた転送装置を有するパケット処理システムを説明する。
【0053】
本他の実施形態であるパケット処理システムの基本的な構成は、図1に示したシステムと同じであるが、転送装置1の構成が異なる。図9に、本発明の他の実施形態であるパケット処理システムに用いられる転送装置の構成を示す。
【0054】
図9を参照すると、転送装置は、ネットワーク側インタフェース100、デバイス間スイッチ101、転送先プロセッサ指定機能付きバックプレーン側インタフェース102a、パケット処理機能付き入力側プロセッサ103a、およびパケットオーダリング用キュー付き出力側プロセッサ103bからなる。ネットワーク側インタフェース100およびデバイス間スイッチ101は、図3に示したものと同じである。
【0055】
この転送装置では、転送装置が共有転送装置の機能を兼ねる場合も考慮し、転送先プロセッサ指定機能付きバックプレーン側インタフェース102aに到着したパケットは、パケット処理スキップ機能付き入力側プロセッサ103aに供給される。具体的には、バックプレーン側インタフェース102aは、パケットが到着すると、到着パケットのヘッダに格納されている送信元送信先識別子と迂回グラフを参照して、到着パケットを処理する必要があるか否かを判断し、処理が必要であると判断した場合は、到着パケットを入力側プロセッサ103aへ送り、処理が必要でないと判断した場合は、到着パケットを出力側プロセッサ103bへ送る。
【0056】
図10に、バックプレーン側インタフェース102aの主要部の構成を示す。図10に示すように、バックプレーン側インタフェース102aは、プロセッサ向け信号送受信部1020、出力プロセッサ指定部1021、およびバックプレーン向け信号送受信部1022からなる。出力プロセッサ指定部1021は、バックプレーン向け信号送受信部1022から渡されたパケットのうち、迂回フラグが「on」になっているパケットを入力側プロセッサ103aへ送り、迂回フラグが「off」になっているパケットを出力側プロセッサ103bへ送る。
【0057】
入力側プロセッサ103aは、受信したパケットに対して前述の実施形態で説明したパケット処理スキップの処理を実行する。図11に、入力側プロセッサ103aの主要部の構成を示す。入力側プロセッサ103aは、図4に示したプロセッサの構成において、パケットオーダリング用キュー処理部111を取り除いた構成となっている。入力側プロセッサ103aは、パケットオーダリング用キュー処理が行われない以外は、図4に示したプロセッサと同様な処理を行う。
【0058】
出力側プロセッサ103bは、受信したパケットに対して前述の実施形態で説明したパケットオーダリング用キュー処理を行う。図12に、出力側プロセッサ103bの主要部の構成を示す。出力側プロセッサ103bは、図4に示したプロセッサの構成において、パケットスキップ部112、キュー監視部113、および監視キュー114を取り除いた構成となっている。出力側プロセッサ103bは、パケット処理スキップの処理が行われない以外は、図4に示したプロセッサと同様な処理を行う。
【0059】
上述した各実施形態のパケット処理システムは、本発明の一例であり、その構成および動作は発明の趣旨を逸脱しない範囲で適宜に変更することができる。例えば、図1に示したシステムにおいて、転送装置1に共有転送装置2の機能を加え、共有転送装置2に転送装置1の機能を加えてものよい。この場合は、転送元である転送装置において、パケット処理に対する負荷の状態が低負荷状態から高負荷状態に遷移した場合に、該転送元である転送装置が処理することのできない受信パケットを、該転送元である転送装置に代わって、他の転送装置がパケット処理することになる。このように構成することで、前述したバッファ量の削減、パケット処理時間の短縮、およびパケットロスの発生確率の低減という効果を、転送装置のパケット処理能力を向上させることなく、転送装置の利用率を向上させる形で実現することが可能となる。
【0060】
また、上記の場合、高負荷状態の転送装置に代わってパケット処理を行う転送装置を予め決めておいてもよい。この場合、高負荷状態の転送装置に代わってパケット処理を行う転送装置として複数の転送装置を設定し、高負荷状態の転送装置が、その設定した複数の転送装置の負荷状態(例えば、監視キューのキュー長)を調べ、負荷状態の最も低い転送装置に、自装置で処理しきれなき受信パケットを送るようにしてもよい。
【0061】
また、各転送装置間で、互いに、自装置の負荷状態の情報(例えば、監視キューのキュー長)を交換し、高負荷状態となった転送装置が、負荷状態の最も低い転送装置に、自装置で処理しきれなき受信パケットを送るようにしてもよい。
【0062】
以上説明した本発明のパケット処理システムは、データ通信網を構成するルータなどのネットワーク装置に適用することができる。図13に、ネットワーク装置の構成を示す。図13を参照すると、ネットワーク装置は、転送装置301a、301b、共有転送装置302a、302b、スイッチ303、およびこれらを収容する筐体304からなる。筐体304の背面には、バックプレーンインタフェース300が設けられている。転送装置301a、301b、共有転送装置302a、302b、およびスイッチ303は、バックプレーンインタフェース300に接続される。このネットワーク装置は、前述の各実施形態で説明したような処理を行うことができる。
【0063】
バックプレーンインタフェースのトポロジは、スター型やメッシュ型などの任意のトポロジが使用可能である。一例として、図14に、バックプレーンインタフェースのトポロジがメッシュ型のパケット処理システムの構成を示す。このパケット処理システムでは、転送装置1、共有転送装置2がそれぞれ個別に接続されたスイッチ3のそれぞれが、バックプレーンを介して相互に接続されている。なお、バックプレーンインタフェースのトポロジがスター型のパケット処理システムとしては、図1に示したパケット処理システムがある。
【図面の簡単な説明】
【0064】
【図1】本発明の一実施形態であるパケット処理システムの概略構成を示すブロック図である。
【図2】バックプレーンを流れるパケットに添付されるヘッダの構成を説明するための図である。
【図3】図1に示す転送装置の主要部の構成を示すブロック図である。
【図4】図3に示すプロセッサの概略構成を示すブロック図である。
【図5】図4に示すキュー監視部によるキュー長の監視を説明するための模式図である。
【図6】図4に示すキュー監視部およびパケットスキップ部の動作を説明するための状態遷移図である。
【図7】図4に示すパケットオーダリング用キュー処理部の動作を説明するための状態遷移図である。
【図8】兼用型の共有転送装置のプロセッサの構成を示すブロック図である。
【図9】本発明の他の実施形態であるパケット処理システムに用いられる転送装置の構成を示すブロック図である。
【図10】図9に示すバックプレーン側インタフェースの主要部の構成を示すブロック図である。
【図11】図9に示す入力側プロセッサの主要部の構成を示すブロック図である。
【図12】図9に示す出力側プロセッサの主要部の構成を示すブロック図である。
【図13】本発明のパケット処理システムを適用するネットワーク装置の構成を説明するための斜視図である。
【図14】本発明の別の実施形態であるバックプレーンインタフェースのトポロジがメッシュ型のパケット処理システムの構成を示すブロック図である。
【符号の説明】
【0065】
1 転送装置
2 共有転送装置
3 スイッチ
100 ネットワーク側インタフェース
101 デバイス間スイッチ
102 バックプレーン側インタフェース
103 プロセッサ
104 記憶部

【特許請求の範囲】
【請求項1】
別々のネットワークに接続される複数のパケット転送装置と、
前記複数のパケット転送装置が接続され、各パケット転送装置間におけるパケットの受け渡しを行うスイッチと、を有し、
前記複数のパケット転送装置のそれぞれは、自装置と接続されたネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続された転送先のパケット転送装置に転送するプロセッサを有し、
前記受信パケットの転送元であるパケット転送装置において、前記プロセッサにおける前記受信パケットを転送するためのパケット処理に対する負荷の状態が低負荷状態から高負荷状態に遷移した場合に、該プロセッサが処理することのできない受信パケットを、該プロセッサに代わって、他のパケット転送装置の前記プロセッサがパケット処理する、パケット処理システム。
【請求項2】
別々のネットワークに接続される複数のパケット転送装置と、
前記複数のパケット転送装置が接続され、各パケット転送装置間におけるパケットの受け渡しを行うスイッチと、
前記複数のパケット転送装置のそれぞれと前記スイッチを介して接続された少なくとも1つの共有転送装置を有し、
前記複数のパケット転送装置のそれぞれは、自装置と接続されたネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続された転送先のパケット転送装置に転送するプロセッサを有し、
前記プロセッサは、前記受信パケットを転送するためのパケット処理に対する負荷が低負荷状態から高負荷状態に遷移した場合に、前記受信パケットを、前記パケット処理を行わずに前記共有転送装置へ送信し、
前記共有転送装置は、高負荷状態となった前記プロセッサから受信したパケットに対して、該プロセッサに代わって前記パケット処理を実行し、該パケット処理を施したパケットを前記転送先のパケット転送装置に送信する、パケット処理システム。
【請求項3】
前記転送先のパケット転送装置のプロセッサは、前記パケット処理を施されて転送されたパケットを受信し、該受信パケットを、前記転送元のパケット転送装置が自装置と接続された前記ネットワークから受信した際の、該受信パケットに関する到着順序に従って、前記宛先となるネットワーク上に送出する、請求項1または2に記載のパケット処理システム。
【請求項4】
前記プロセッサは、
供給されたパケットを順に蓄積する監視キューと、
前記監視キューに格納されたパケットのキュー長が第1の閾値を超えると、前記高負荷状態を示す第1の信号を送出し、前記キュー長が前記第1の閾値より小さな第2の閾値を下回ると、前記低負荷状態を示す第2の信号を送出するキュー監視部と、
供給されたパケットの転送順のスケジューリングを行うスケジューリング部と、
前記監視キューから蓄積したパケットを蓄積順に取り出して前記パケット処理を実行し、該パケット処理を施したパケットを前記スケジューリング部に供給するパケット処理部と、
自装置と接続された前記ネットワークから到着するパケットを入力とし、前記キュー監視部から前記第1の信号を受信すると、該入力パケットを直接、前記スケジューリング部に供給し、前記キュー監視部から前記第2の信号を受信すると、該入力パケットを前記監視キューに供給するパケットスキップ部と、を有する、請求項1乃至3に記載のパケット処理システム。
【請求項5】
転送元のパケット転送装置が、自装置と接続されたネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて前記宛先に関するネットワークが接続された転送先のパケット転送装置に転送するためのパケット処理を行う第1のステップと、
前記転送元のパケット転送装置が、前記受信パケットを転送するためのパケット処理に対する負荷が低負荷状態から高負荷状態に遷移した場合に、前記受信パケットを、前記パケット処理を行わずに他のパケット転送装置へ送信する第2のステップと、
前記他のパケット転送装置が、前記転送元のパケット転送装置から受信したパケットに対して、該転送元のパケット転送装置に代わって前記パケット処理を実行し、該パケット処理を施したパケットを前記転送先のパケット転送装置に送信する第3のステップと、
前記転送先のパケット転送装置が、前記転送元のパケット転送装置および前記他のパケット転送装置のそれぞれから前記パケット処理の施されたパケットを受信し、該受信パケットを、前記転送元のパケット転送装置が自装置と接続された前記ネットワークから受信した際の、該受信パケットに関する到着順序に従って、前記宛先となるネットワーク上に送出する第4のステップと、を含む、パケット処理方法。
【請求項6】
前記第2のステップは、
自装置と接続された前記ネットワークから到着したパケットを到着順に監視キューに格納するステップと、
前記監視キューから蓄積したパケットを蓄積順に取り出して前記パケット処理を実行するステップと、
前記監視キューに格納されたパケットのキュー長が第1の閾値を超えると、前記パケット処理の負荷が前記高負荷状態であると判断し、前記キュー長が前記第1の閾値より小さな第2の閾値を下回ると、前記パケット処理の負荷が前記低負荷状態であると判断するステップと、を含む、請求項5に記載のパケット処理方法。
【請求項7】
ネットワークに接続されるネットワーク側インタフェースと、
他のパケット転送装置および共有転送装置のそれぞれとバックプレーンを介して接続されるバックプレーン側インタフェースと、
前記ネットワーク側インタフェースを通じて前記ネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続された転送先のパケット転送装置に、前記バックプレーン側インタフェースを通じて転送するプロセッサとを有し、
前記プロセッサは、前記受信パケットを転送するためのパケット処理に対する負荷が低負荷状態から高負荷状態に遷移した場合に、前記バックプレーン側インタフェースを通じて、前記受信パケットを前記共有転送装置に送信して前記パケット処理を実行させるパケット処理スキップを行う、パケット転送装置。
【請求項8】
ネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続された転送先のパケット転送装置に転送する複数のパケット転送装置がそれぞれ、バックプレーンを介して接続されるバックプレーン側インタフェースと、
前記複数のパケット転送装置のうちの転送元のパケット転送装置が、前記受信パケットを転送するためのパケット処理に対する負荷が低負荷状態から高負荷状態に遷移した場合に、前記バックプレーン側インタフェースを通じて、前記転送元のパケット転送装置から前記受信パケットを受信し、該受信した受信パケットに対して、前記転送元のパケット転送装置に代わって前記パケット処理を実行し、該パケット処理を施したパケットを、前記バックプレーン側インタフェースを通じて前記転送先のパケット転送装置に送信するプロセッサと、を有する、共有転送装置。
【請求項9】
ネットワークに接続されるとともに、他のパケット転送装置および共有転送装置のそれぞれとバックプレーンを介して接続されるパケット転送装置に用いられるプログラムであって、
前記ネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続された転送先のパケット転送装置に転送する処理と、
前記受信パケットを転送するためのパケット処理に対する負荷が低負荷状態から高負荷状態に遷移した場合に、前記受信パケットを前記共有転送装置に送信して前記パケット処理を実行させるパケット処理スキップを行う処理と、を前記パケット転送装置のコンピュータに実行させるプログラム。
【請求項10】
ネットワークから宛先に関する情報を含むヘッダ情報が付与されたパケットを受信し、該受信パケットを、前記ヘッダ情報に基づいて、前記宛先となるネットワークが接続された転送先のパケット転送装置に転送する複数のパケット転送装置がそれぞれ、バックプレーンを介して接続される共有転送装置に用いられるプログラムであって、
前記複数のパケット転送装置のうちの転送元のパケット転送装置が、前記受信パケットを転送するためのパケット処理に対する負荷が低負荷状態から高負荷状態に遷移した場合に、前記バックプレーンを通じて、前記転送元のパケット転送装置から前記受信パケットを受信し、該受信した受信パケットに対して、前記転送元のパケット転送装置に代わって前記パケット処理を実行し、該パケット処理を施したパケットを、前記バックプレーンを通じて前記転送先のパケット転送装置に送信する処理を、前記共有転送装置のコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2007−325171(P2007−325171A)
【公開日】平成19年12月13日(2007.12.13)
【国際特許分類】
【出願番号】特願2006−155913(P2006−155913)
【出願日】平成18年6月5日(2006.6.5)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】