(57)【特許請求の範囲】
【請求項１】
複数の入力回線と複数の出力回線とを有し、前記入力回線よりパケットが入力されると前記パケットを一つ乃至は複数の前記出力回線に転送するパケット転送装置であって、
前記パケットのヘッダ情報に基づいて第一の処理を実施する複数の第一のパケット処理回路と、
前記パケットのヘッダ情報に基づいて前記第一の処理と異なる処理である第二の処理を実施する複数の第二のパケット処理回路と、
複数の前記第一のパケット処理回路のうち、動作又は停止させる前記第一のパケット処理回路の数を判定し、判定結果に基づいて、前記パケット処理回路を動作又は停止させるための信号を前記第一のパケット処理回路に送信する第一の回路数判定回路と、
複数の前記第二のパケット処理回路のうち、動作又は停止させる前記第二のパケット処理回路の数を判定し、判定結果に基づいて、前記パケット処理回路を動作又は停止させるための信号を前記第二のパケット処理回路に送信する第二の回路数判定回路と、
動作中の前記パケット処理回路に前記処理をパケット毎に振り分ける振分回路と、を備えるパケット転送装置。
【請求項２】
請求項１に記載のパケット転送装置であって、
前記第一の処理は、前記パケットを転送する出力回線の判定処理であり、
前記第二の処理は、前記パケットの転送有無の判定処理、前記パケットの転送優先度の判定処理、前記パケットの属するフローの統計情報の収集処理の内の少なくとも一つの処理を含むフロー処理であること、を特徴とするパケット転送装置。
【請求項３】
請求項１に記載のパケット転送装置であって、
前記第一の処理は、前記ヘッダ情報に含まれるMACアドレスに基づく前記パケットを転送する出力回線の判定処理であり、
前記第二の処理は、前記ヘッダ情報に含まれるIPアドレスに基づく前記パケットを転送する出力回線の判定処理であること、を特徴とするパケット転送装置。
【請求項４】
請求項１に記載のパケット転送装置であって、
前記第二の回路数判定回路は、通信に使用する前記入力回線および前記出力回線の数に基づき、動作又は停止させる前記第二のパケット処理回路を判定すること、を特徴とするパケット転送装置。
【請求項５】
請求項１に記載のパケット転送装置であって、
前記第一の処理は、外部から受信するパケットに関する処理であり、
前記第二の処理は、外部へ送信するパケットに関する処理であること、を特徴とするパケット転送装置。
【請求項６】
請求項５に記載のパケット転送装置であって、
複数の前記第一のパケット処理回路は、
前記パケットのヘッダ情報に基づいて第三の処理を実施する複数の第三のパケット処理回路と、前記パケットのヘッダ情報に基づいて前記第三の処理と異なる処理である第四の処理を実施する複数の第四のパケット処理回路と、を有し、
第一の回路数判定回路は、
複数の前記第三のパケット処理回路のうち、動作又は停止させる前記第三のパケット処理回路の数を判定し、判定結果に基づいて、前記パケット処理回路を動作又は停止させるための信号を前記第三のパケット処理回路に送信する第三の回路数判定回路と、
複数の前記第四のパケット処理回路のうち、動作又は停止させる前記第四のパケット処理回路の数を判定し、判定結果に基づいて、前記パケット処理回路を動作又は停止させるための信号を前記第四のパケット処理回路に送信する第四の回路数判定回路と、を有することを特徴とするパケット転送装置。
【請求項７】
請求項６に記載のパケット転送装置であって、
前記第三の処理は、前記ヘッダ情報に含まれるMACアドレスに基づく前記パケットを転送する出力回線の判定処理であり、
前記第四の処理は、前記ヘッダ情報に含まれるIPアドレスに基づく前記パケットを転送する出力回線の判定処理であること、を特徴とするパケット転送装置。
【請求項８】
請求項１に記載のパケット転送装置であって、
前記パケットのヘッダ情報を格納するキューを更に備え、
前記振分回路は、前記キューより読み出した前記ヘッダ情報に基づき、前記パケット処理回路に前記処理を振り分けし、
前記第二の回路数判定回路は、前記キューに蓄積される前記ヘッダ情報の数に応じて、動作又は停止させる前記第二のパケット処理回路を判定し、
前記キューは、前記ヘッダ情報を備える前記パケットの優先度毎に対応した優先キューから構成され、
前記振分回路が優先度の高い前記優先キューより、優先的に前記ヘッダ情報を読み出し、前記パケット処理回路に転送すること、を特徴とするパケット処理装置。
【請求項９】
パケットを転送するパケット転送装置であって、
複数の入力回線に接続されるパケット受信回路、複数の出力回線に接続されるパケット送信回路、及び前記パケットのヘッダ情報を処理するヘッダ処理部とを備えるインターフェース部と、
前記インターフェース部に接続され、前記入力回線より入力した前記パケットを一つ乃至は複数の前記出力回線に中継する中継処理部と、を有し、
前記ヘッダ処理部は、
前記パケットのヘッダ情報に基づいて第一の処理を実施する複数の第一のパケット処理回路と、前記パケットのヘッダ情報に基づいて第二の処理を実施する複数の第二のパケット処理回路と、
複数の前記第一のパケット処理回路のうち、動作又は停止させる前記第一のパケット処理回路の数を判定し、判定結果に基づいて、前記パケット処理回路を動作又は停止させるための信号を前記第一のパケット処理回路に送信する複数の第一の回路数判定回路と、
複数の前記第二のパケット処理回路のうち、動作又は停止させる前記第二のパケット処理回路の数を判定し、判定結果に基づいて、前記パケット処理回路を動作又は停止させるための信号を前記第二のパケット処理回路に送信する第二の回路数判定回路と、
動作中の前記パケット処理回路に前記処理をパケット毎に振り分ける振分回路と、を備え、
複数の前記第一のパケット処理回路は、前記パケットのヘッダ情報に基づいて第三の処理を実施する複数の第三のパケット処理回路、及び前記パケットのヘッダ情報に基づいて前記第三の処理と異なる処理である第四の処理を実施する複数の第四のパケット処理回路により構成され、
さらに、前記第一の回路数判定部は、
複数の前記第三のパケット処理回路のうち、動作又は停止させる前記第三のパケット処理回路の数を判定し、判定結果に基づいて、前記パケット処理回路を動作又は停止させるための信号を前記第三のパケット処理回路に送信する第三の回路数判定回路と、
複数の前記第四のパケット処理回路のうち、動作又は停止させる前記第四のパケット処理回路の数を判定し、判定結果に基づいて、前記パケット処理回路を動作又は停止させるための信号を前記第四のパケット処理回路に送信する第四の回路数判定回路と、を有する、パケット転送装置。
【請求項１０】
請求項９に記載のパケット転送装置であって、
前記第三の処理は、前記ヘッダ情報に含まれるMACアドレスに基づく前記パケットを転送する出力回線の判定処理であり、
前記第四の処理は、前記ヘッダ情報に含まれるIPアドレスに基づく前記パケットを転送する出力回線の判定処理であり、
前記第二の処理は、外部へ送信するパケットに関する処理であって、
前記第三の回路数判定回路及び前記第四の回路数判定部は、通信に使用する前記入力回線の数に基づき、動作又は停止させる前記パケット処理回路を判定し、
前記第二の回路数判定部は、通信に使用する前記出力回線の数に基づき、動作又は停止させる前記パケット処理回路を判定すること、を特徴とするパケット転送装置。
【請求項１１】
請求項９に記載のパケット転送装置であって、
前記パケットのヘッダ情報を格納するキューを更に備え、
前記振分回路は、前記キューより読み出した前記ヘッダ情報に基づき、前記パケット処理回路に前記処理を振り分けし、
前記第二の回路数判定回路は、前記キューに蓄積される前記ヘッダ情報の数に応じて、動作又は停止させる前記パケット処理回路を判定すること、を特徴とするパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、省電力にパケットを転送するパケット転送装置に関する。
【背景技術】
【０００２】
インターネットの普及を背景に、構成するルータやスイッチなどのパケット転送装置の
高速化が求められている。ルータやスイッチは複数の入力回線と出力回線を備え、パケッ
トが該入力回線より入力すると、ヘッダ内の宛先アドレスから出力回線を判定し(本処理
を本願では出力先判定処理と呼ぶ)、該出力回線にパケットを転送する。さらに、ルータ
やスイッチは該パケットが属する一連のパケット流れであるフローをヘッダより識別し、
フロー毎にパケットの通過/廃棄を判定するフィルタリング処理やネットワークにおける
優先度の判定処理等(本処理を本願ではフロー処理と呼ぶ)を実施する。
【０００３】
パケット転送装置の高速化には、ASIC(Application Specific Integrated Circuit)などのデバイスの数を多くしたり、その周波数を高くしたりすることが必要となるため、ルータ、スイッチの高速化に伴い、その消費電力が増加する。このため、消費電力を低減し、高速化に伴う電力増加を最小限とすることが求められている。
【０００４】
パケット転送装置の消費電力を低減する実現方式は、例えば、特許文献1に記載されて
いる。本文献のパケット転送装置は、具備する複数の回線のリンク接続の有無を監視し、
パケット処理を実施するポート制御回路の電源を、リンク接続が有りの時にOnにすると記載されている。処理を実施する必要の無いポート制御回路の電源をOffすることで、パケット転送装置の消費電力低減が実現される。
【０００５】
パケット転送装置の他の消費電力を低減する実現方式は、例えば、特許文献2に記載さ
れている。本文献のパケット転送は、回線を収容する複数のインタフェースポートと前記
インタフェースポートのアクセス状態を監視するアクセス状態監視部と、前記アクセス状
態監視部の監視状況に応じて前記各インタフェースポートに通電するか否か定める電源制
御部とを備える。アクセスが無いインタフェースポートの電源をOffすることで、消費電
力低減が実現される。
【０００６】
また、ネットワーク中継装置の性能を犠牲とすることなく消費電力を抑制する技術とし
て、特許文献3がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平11-88458号公報
【特許文献２】特開平11-234344号公報
【特許文献３】特開2007-228491号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献1および2記載のパケット転送装置は、パケットを処理するポート回路制御部や
インタフェースポートが一つの回線に対応している。ここで、ポート回路制御部やインタ
フェースポートが前記回線に比べて低速な回線を収容することを考える。この際、ポート
回路制御部やインタフェースポートは低速な回線であれば、複数の回線を収容することが
通常である。特許文献1においては、ポート回路制御部のリンク接続の有無に応じてOn/Offを切り替えると記載されているが、複数回線を収容し、一部回線のリンク接続が有りの
場合、リンク接続が有りの回線に対応するためポート回線制御部を常にOnにせざるを得ない。このため、必要以上の性能を維持する電力をポート回路制御部に供給することとなり無駄な電力を消費するといった課題がある。
【０００９】
特許文献2においては、インタフェースポートのアクセス状態に応じてインタフェース
ポートのOn/Offを切り替えることが記載されている。しかし、複数回線を収容し、一部回線のアクセス状態が有りの場合、これらの回線に対応するためインタフェースポートを常にOnにせざるを得ない。必要以上の性能を維持する電力をインタフェースポートに供給ることとなり無駄な電力を消費するといった課題がある。
【００１０】
特許文献1、2記載のパケット転送装置において、ポート回路制御部やインタフェースポ
ートが収容する回線の帯域の一部を使用して通信が行われている場合を考える。この際、
入力するパケットの処理を実施するため、ポート回路制御部やインタフェースポートの電
源を常にOnにせざるを得ない。結果的に必要以上の性能を維持する電力をポート回路制御部やインタフェースポートに供給することとなり無駄な電力を消費するといった課題がある。一方、特許文献３には、中継処理ボードに２つの中継セットを搭載する構成が開示されているが、これらのセットに対するクロック信号の停止・供給の切替を、パケット流量の監視に基づき動的に実行することについて示唆されているにとどまる。
【００１１】
本発明はこれらの課題を解決するために考案されたものである。本発明の第一の目的は
、パケット処理を行う機能部の電力が通信を実施する回線数に応じた電力となるパケット
転送装置を提供することである。換言すれば、通信を実施する回線数が少なくなれば消費
電力を低減可能なパケット転送装置を提供することである。また、本発明の第二の目的は
、パケット処理を行う機能部の電力が処理するパケットの帯域に応じた電力となるパケッ
ト転送装置を提供することである。即ち、パケット転送装置に到着あるいはパケット転送
装置から送信するパケットが少なくなれば、消費電力を低減可能なパケット転送装置を提
供することである。
【課題を解決するための手段】
【００１２】
前述した課題を解決するため、本発明のパケット転送装置は、パケットのヘッダ情報よ
り該パケットを転送する出力回線の判定処理、該パケットの転送有無の判定処理、該パケ
ットの転送優先度の判定処理、該パケットの属するフローの統計情報の収集処理の内の一
つ乃至複数の処理を実施する複数のパケット処理回路と、それぞれの前記パケット処理回
路の動作の有無を判定し、前記パケット処理回路に判定結果を通知する回路数判定回路と
、動作中のパケット処理回路に前記処理をパケット毎に振り分ける振分回路を備えること
を特徴とする。上記以外の本願が解決しようとする課題、その解決手段は、後で詳述され
る実施例の説明および図面で明らかにされる。
【発明の効果】
【００１３】
本発明のパケット転送装置は、パケット処理を行う機能部の電力を通信を実施する回線
数に応じた電力とすることができる。即ち、通信を実施する回線数が少なくなれば消費電
力を低減することができる。さらに、本発明のパケット転送装置は、パケット処理を行う
機能部の電力を処理するパケットの帯域に応じた電力とすることができる。即ち、パケッ
ト転送装置に到着あるいはパケット転送装置から送信するパケットが少なくなれば、消費
電力を低減することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例1におけるヘッダ処理部の構成を示す図である。
【図２】実施例1におけるパケット転送装置の全体構成を示す図である。
【図３】実施例1のパケット転送装置が送受信するパケットのフォーマットを示す図    である。
【図４】実施例1のパケット転送装置におけるパケットのフォーマットを示す図であ    る。
【図５】実施例1のヘッダ情報蓄積用バッファの構成を示す図である。
【図６】実施例1のルーティングテーブル用CAMのフォーマットを表す図である。
【図７】実施例1のルーティングテーブル用メモリのフォーマットを表す図である。
【図８】実施例1のフローテーブル用CAMのフォーマットを表す図である。
【図９】実施例１のフローテーブル用メモリのフォーマットを表す図である。
【図１０】実施例1の整列回路の構成図である。
【図１１】実施例1の整列メモリのフォーマットを表す図である。
【図１２】実施例１の制御端末から入力される予測入力帯域の時間変化を表す図であ    る。
【図１３】実施例１の回路数判定回路170のフローチャートを示す図である。
【図１４】実施例５のヘッダ情報蓄積用バッファ1320の構成を示す図である。
【図１５】実施例５の整列回路1440の構成を示す図である。
【図１６】実施例２の入力側ヘッダ処理部1601の構成図である。
【図１７】実施例３の出力先判定処理用機能部2100の構成を示す図である。
【図１８】実施例１のパケット受信回路の一部である格納回線数判定回路の一構成例    を示す図である。
【図１９】実施例１の回線数判定回路の一構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための実施例を図面を用いて詳述する。
【実施例１】
【００１６】
本発明の第一の実施例であるパケット転送装置の概要動作を図2、図3および図4を用いて説明する。図2は実施例１のパケット転送装置200のブロック図を示す。パケット転送装置200はNのインターフェース部210-i(i=1-N)と、インターフェース部210-iが収容するMの入力回線201-ij(i=1-N)(j=1-M)、出力回線202-ij(i=1-N)(j=1-M)、ヘッダ処理部100と、インターフェース部210-iを結合する一つのパケット中継処理部250と、一つのプロセッサ290から構成される。プロセッサ290は外部の制御端末10と接続され制御端末10の指示をインターフェース部210に通知したり、インターフェース部210の情報を制御端末10に通知したりする。
【００１７】
図2のパケット転送装置200のインターフェース部210-1は入力回線201-11と201-12と201
-13と201-14と出力回線202-11と202-12と202-13と202-14を、インターフェース部210-2は
入力回線201-21と201-22と出力回線202-21と202-22を、インターフェース部210-Nは入力
回線201-Ｎ1と出力回線202-Ｎ1を収容している。インターフェース部210-iはパケットの受信処理を行うパケット受信回路230と入力側パケットバッファ(PB)240、パケットの送信処理を行うパケット送信回路270と出力側パケットバッファ(PB)280から構成される。
【００１８】
図3は図２の入力回線201-ij、出力回線202-ijから入出力されるパケットのフォーマットの一例を示す。本フォーマットはヘッダ部310とデータ部320から構成される。ヘッダ部310はネットワーク層の送信元アドレス（送信端末のアドレス）である送信元IPアドレス（Source IP Address：以下「SIP」という。）311と、宛先アドレス（受信端末のアドレス）である宛先IPアドレス（Destination IP Address：以下「DIP」という。）312と、プロトコル（＝上位アプリケーション）を表す送信元ポート（Source Port：以下「SPORT」という。）313と宛先ポート（Destination Port：以下「DPORT」という。）314とネットワーク層の転送優先度を表すDSCP(Differentiated Services Code Point)315と、データリンク層の送信元アドレスである送信元MACアドレス（Source MAC Address：以下「SMAC」という。）316と、宛先アドレスである宛先MACアドレス（Destination MAC Address：以下「DMAC」という。）317と、データリンク層の転送優先度を表すイーサ優先度(User Priority：以下「UPRI」という。)318から構成される。また、データ部320はユーザデータ321から構成される。
【００１９】
図4は図２のパケット転送装置（ノード）200内部のパケットフォーマット例を示す。本
フォーマットは前述のフォーマットに内部ヘッダ部330が備わる。この内部ヘッダ部330は
パケットが入力した回線の識別番号である入力回線番号331と出力する回線の識別番号である出力回線番号332とパケットの送信優先度を表すQoS情報333から構成される。
【００２０】
図２のインターフェース部210-1において、パケットが入力回線201より入力するとパケ
ット受信回路230は内部ヘッダ部330を付加して本パケットを入力側パケットバッファ（PB）240に蓄積すると同時に、パケットが入力した回線の番号：入力回線番号を入力回線番号331に書込み、ヘッダ部310の全情報と入力回線番号331をヘッダ情報21としてヘッダ処理部100に送信する。
【００２１】
ヘッダ処理部100は前記ヘッダ情報21内のSIP311、DIP312、SPORT313、DPORT314、DSCP315、SMAC316、DMAC317、UPRI318より入力したパケットの出力回線番号を判定する出力先判定処理やパケットが属するフローを判定し、該フローのフィルタ情報、QoS情報を決定したり、フロー毎に入力パケットをカウントしたりするフロー処理を実施する。その後、ヘッダ処理部100は判定された出力回線番号から成る出力回線情報22とフィルタ情報、QoS情報から構成されるフロー情報23をパケット受信回路230に送信する。
【００２２】
フロー情報23内のフィルタ情報が“転送”の場合、パケット受信回路230は出力回線情報22内の出力回線番号とフロー情報23内のQoS情報を、入力側パケットバッファ240内に蓄積されているパケットのそれぞれ出力回線番号332とQoS情報333のフィールドに書き込み、パケット中継処理部250へ送信する。一方、フロー情報23内のフィルタ情報が“廃棄”の場合には、パケット中継処理部250へ蓄積パケットを転送しない。このパケットは最終的に他のパケット到着時に上書きされ廃棄される。パケット中継処理部250は出力回線番号332に対応するインターフェース部210-iのパケット送信回路270に受信したパケットを送信する。
【００２３】
パケット送信回路270は該パケットを出力側パケットバッファ280に蓄積すると同時に、
ヘッダ部310の全情報と出力回線番号332をヘッダ情報25としてヘッダ処理部100に送信す
る。ヘッダ処理部100は前記ヘッダ情報25内のSIP311、DIP312、SPORT313、DPORT314、DSCP315、SMAC316、DMAC317、UPRI318より入力したパケットが属するフローを検出しフィルタ情報、QoS情報を決定し、フロー毎に入力パケットをカウントするフロー処理を実施する。その後、ヘッダ処理部100は判定されたフィルタ情報、QoS情報から構成されるフロー情報26をパケット送信回路270に送信する。
【００２４】
フロー情報26内のフィルタ情報が“転送”の場合、パケット送信回路270はフロー情報26内のQoS情報を、出力側パケットバッファ280内に蓄積されているパケットのQoS情報333
のフィールドに書き込み、出力回線番号332のフィールドに記載される値の基づき出力回
線202-ijへ送信する。一方、フロー情報26内のフィルタ情報が“廃棄”の場合には、出力回線202-ijへ蓄積パケットを転送しない。このパケットは最終的に他のパケット到着時に上書きされ廃棄される。
【００２５】
次に図1に示す実施例１のヘッダ処理部100の詳細動作を説明する。ヘッダ処理部100はパケット受信回路230の通知するヘッダ情報21に基づいてパケット処理を実施する入力側
ヘッダ処理部101と、パケット送信回路270の通知するヘッダ情報25に基づいてパケット処
理を実施する出力側ヘッダ処理部102から構成される。
【００２６】
入力側ヘッダ処理部101は前述の出力先判定処理に必要なルーティングテーブル用CAM500、ルーティングテーブル用メモリ600と、前述のフロー処理に必要なフローテーブル用CAM700、フローテーブル用メモリ800と、ルーティングテーブル用CAM500およびフローテーブル部600にアクセスして出力先判定処理やフロー処理を実施する4つのパケット処理回路110-k(k=1-4)と、パケット処理回路110-k(k=1-4)からのルーティングテーブル用CAM500、ルーティングテーブル用メモリ600へのアクセス要求に応じて、CAM500やメモリ600へのアクセスを実施するルーティングテーブル制御部150と、パケット処理回路110-k(k=1-4)からのフローテーブル用CAM700およびフローテーブル用メモリ800へのアクセス要求に応じて、CAM700やメモリ800へのアクセスを実施するフローテーブル制御部160を備える。
【００２７】
また、ヘッダ情報21を複数蓄積して何れかのパケット処理回路110-kにヘッダ情報21を
振分/送信するヘッダ情報蓄積用バッファ120と、パケット処理回路110-kが判定した送信
先情報、フィルタ情報、QoS情報を、これらの情報に対応するヘッダ情報21が入力した順
番に入力回線毎に並び替えて、フロー情報23として出力する整列回路140を備える。更に
、後で詳述する回路数判定回路170を備える。
【００２８】
出力側ヘッダ処理部102は、入力側ヘッダ処理部101の出力先判定処理に使用する機能ブ
ロックであるルーティングテーブル制御部150、ルーティングテーブル用メモリ600、ルー
ティングテーブル用CAM500を備えていないこと以外は同一の構成となる。出力側ヘッダ処理部102は、ヘッダ情報25を受信するとフロー処理を実施し、フロー情報26をパケット送信回路270に送信する。
【００２９】
ヘッダ情報21が入力側ヘッダ処理部101に入力するとヘッダ情報蓄積用バッファ120は該
情報を入力回線毎に入力した順番で蓄積する。ヘッダ情報蓄積用バッファ120はパケット処理回路110-kより該回路110-ｋがパケット処理中か否かを示すBUSY信号（図1では図示が省略されている点、留意されたい。）を受信しており、パケット処理中では無いパケット処理回路110-kに、最も早く到着したヘッダ情報21を読み出して転送する。
【００３０】
ヘッダ情報蓄積用バッファ120の一実現例を図5に示す。図5記載のバッファ120はシーケ
ンス番号付与回路122とキュー121と振分回路123より構成される。シーケンス番号付与回
路122は入力回線毎にカウンタを備え、ヘッダ情報21が入力されると、ヘッダ情報21内の
入力回線番号331に対応するカウンタ値をヘッダ情報21に付与し、キュー121に送信する。
この際、入力回線番号331に対応するカウンタ値を１だけカウントアップする。キュー121
は受信したヘッダ情報21を蓄積する。振分回路123は、BUSY信号をパケット処理回路110-kより、動作させるパケット処理回路110-kの数を回路数判定回路170より受信している。動作させる回路数が1の場合、パケット処理回路110-1のみが、2の場合、処理回路110-1と110-2が、3の場合、処理回路110-1と110-2と110-3が、４の場合、すべての処理回路110-1〜4が動作していることを表している。振分回路123は動作中のパケット処理回路110-kであってBUSY信号を送信していない一つ乃至は複数のパケット処理回路110-kが存在する場合には、キュー121に一番早く蓄積されたヘッダ情報21を、該パケット処理回路110-kの一つに送信する。
【００３１】
＜出力先判定処理＞
パケット処理回路110-kは、DIP312とルーティングテーブル検索リクエストをルーティ
ングテーブル制御部150に送信することで出力先判定処理を開始する。ルーティングテー
ブル制御部150はDIP312と該リクエストを受信するとルーティングテーブル用CAM500にDIP312を検索キーとして送信する。
【００３２】
ルーティングテーブル制御部150は、該リクエストを複数のパケット処理回路110-ｋか
ら受信した際に一つのリクエストを選択するため、1から4までカウント可能なカウンタを
備える。カウンタ値はパケット転送装置200の起動と同時に1にリセットされる。複数のパ
ケット処理回路110-ｋより該リクエストを受信している場合、カウンタ値がAであるとル
ーティングテーブル制御部150はパケット処理回路110-Aのリクエストを選択する。該リクエストが存在しない場合にはパケット処理回路110-(A+1)、パケット処理回路110-(A+2)と順にリクエストの有無を確認し、存在する場合にはそのリクエストを選択する。また、パケット処理回路110-4の有無を確認した際に対応するリクエストが無いと判断した場合には、パケット処理回路110-1に戻り、以後、パケット処理回路110-(A+1)、パケット処理回路110-(A+2)と順に選択すべきリクエストを探索することとなる。ルーティングテーブル制御部150はリクエストを選択すると、該リクエストに対応するDIＰ312をルーティングテーブル用CAM500に検索キーとして送信する。さらに、リクエストを送信したパケット処理回路110-kに対応するカウンタ値に1加えた値'k+1'にカウンタ値を再設定する。
【００３３】
図6および図7に、図１のルーティングテーブル用CAM500とルーティングテーブル用メモリ600のフォーマットの一例を示す。ルーティングテーブル用CAM500はDIP312の条件を表すエントリ510を複数備え、ルーティングテーブル用メモリ600は該エントリ510記載の条件に一致するDIP312を備えたパケットの送信先情報をエントリ610に格納する。CAM500はDIP312の条件をマスク(如何なる値でも良い事を表す)付きで記憶することができる。
【００３４】
ルーティングテーブル用CAM500はDIP312を受信するとDIP312とエントリ510の値を一致比較し、一致したエントリ510のアドレスの内、最も小さなアドレス値をルーティングテーブル制御部150に送信する。ルーティングテーブル制御部150は、本アドレスを、リクエストを送信したパケット処理回路110-kに送信する。該アドレス値を受信したパケット処理回路110-kはルーティングテーブル制御部150に該アドレス値とルーティングテーブル用メモリ600の読み出しリクエストを送信する。
【００３５】
複数のパケット処理回路110-kより読み出しリクエストを受信した際の該リクエストの
選択動作は複数のルーティングテーブル検索リクエストを受信した場合と同様である。ル
ーティンテーブル制御部150は選択された読み出しリクエストに対応するアドレス値を用
いてルーティングテーブルメモリ600のエントリ610内の送信先情報を読み出し、該情報を
読み出しリクエストを送信したパケット処理回路110-kに送信する。パケット処理回路110
-kは、該送信先情報を出力回線番号として、シーケンス番号と共に整列回路140に送信す
る。
【００３６】
＜フロー処理＞
フロー処理ではパケット処理回路110-kは、前記ヘッダ情報21内のSIP311、DIP312、SPORT313、DPORT314、DSCP315、SMAC316、DMAC317、UPRI318およびフローテーブル検索リクエストをフローテーブル制御部160に送信することでフロー処理を開始する。フローテーブル制御部160は該リクエストを受信するとフローテーブル用CAM700にSIP311、DIP312、SPORT313、DPORT314、DSCP315、SMAC316、DMAC317、UPRI318を検索キーとして送信する。
なお、複数のパケット処理回路110-kからリクエストを受信した際の該リクエストの選択
動作はルーティングテーブル制御部150の動作と同一である。
【００３７】
図８および図９にフローテーブル用CAM700とフローテーブル用メモリ800のフォーマットを示す。フローテーブル用CAM700はSIP311、DIP312、SPORT313、DPORT314、DSCP315、SMAC316、DMAC317、UPRI318の条件を表すエントリ710を複数備え、フローテーブル用メモリ800は該エントリ710記載の条件に一致するSIP311、DIP312、SPORT313、DPORT314、DSCP315、SMAC316、DMAC317、UPRI318を備えたパケットのフィルタ情報、QoS情報、カウンタ値をエントリ810に格納する。CAM700は条件をマスク(如何なる値でも良い事を表す)付きで記憶することができる。
【００３８】
フローテーブル用CAM700は検索キーを受信するとエントリ710との一致比較を実施し、一致したエントリ810のアドレスの内、最も小さなアドレス値をフローテーブル制御部160に送信する。フローテーブル制御部160はフローテーブル検索リクエストを送信したパケット処理回路110-kに該アドレスを送信する。パケット処理回路110-kはフローテーブル制御部160に該アドレスとフローテーブル用メモリ800の読み出しリクエストを送信する。フローテーブル制御部160は該アドレス値に対応するフローテーブル用メモリ800のエントリ810記載のフィルタ情報、QoS情報、カウンタ値を読み出し、読み出しリクエストを送信したパケット処理回路110-kに送信する。パケット処理回路110-kは、カウンタ値を１カウントアップしてフローテーブル制御部160に前記アドレス値とカウンタ値と書き込みリクエストを送信する。フローテーブル制御部160は該アドレスに対応するフローテーブル用メモリ800のエントリ810に受信したカウンタ値を書き込む。さらに、パケット処理回路110-kは、受信したフィルタ情報、QoS情報を、シーケンス番号と共に整列回路140に送信する。
【００３９】
整列回路140は受信した送信先情報、フィルタ情報、QoS情報の組の情報を入力回線毎にシーケンス番号の順に並べ替えて送信する。本回路が必要であるのは、ヘッダ情報蓄用バッファ120から出力されたパケットは4つのパケット処理回路110-kにて並列に処理されるが、各テーブルの検索時間等の違いによりパケットの順序が入れ替わることがあるためである。
【００４０】
整列回路140の一実現例を図10に示す。図10の整列回路はヘッダ処理結果送信回路141と
入力回線毎の読み出し回路142-k(k=1〜4)と整列メモリ143-kと整列メモリ振分回路144と入力回線毎の読み出しポインタ蓄積部145-kから構成される。図10には読み出し回路142-1
に接続される読み出しポインタ蓄積部145-１のみ図示しているが、読み出し回路142-2〜4
に対応する読み出しポインタ蓄積部144-2〜4も存在する。
【００４１】
整列メモリ143-kの一実現例を図11に示す。整列メモリ143-kは送信先情報、フィルタ情
報、QoS情報を格納するエントリ145を16エントリ備える。このエントリ145の数は、ある
ヘッダ情報21の出力先情報が同一回線のヘッダ情報21の出力先情報を追い越して整列回路
140に到着するヘッダ情報の数より大きく、かつ、あるヘッダ情報21のフロー情報が同一
回線のヘッダ情報21のフロー情報を追い越して整列回路140に到着するヘッダ情報の数よ
り大きな値とする必要がある。本実施例では本エントリ143の数を16として説明するが、
他の値であっても同様に動作が可能である。
【００４２】
整列メモリ振分回路144は、パケット処理回路110-kより送信先情報を受信すると入力回
線番号に対応する整列メモリ143-kのエントリ145の内で、シーケンス番号の下位4ビット
のアドレスに対応するエントリ145に、送信先情報23を書き込む。同様に入力回線番号に
対応する整列メモリ143-kのエントリ145の内で、シーケンス番号の下位4ビットのアドレ
スに対応するエントリ145に、パケット処理回路110-kより送信されるフィルタ情報とQoS
情報を書き込む。
【００４３】
読み出しポインタ蓄積部145-kには、入力回線毎の次に読み出す整列メモリ143-kのエン
トリ145のアドレスが記載される。読み出し回路142-kは、該アドレスに対応するエントリ
145に送信先情報とフィルタ情報とQoS情報が全て書き込まれると、該エントリ145を読み
出して、ヘッダ処理結果送信回路141に送信する。ヘッダ処理結果送信回路141は送信先情
報を出力回線情報22として、フィルタ情報とQoS情報をフロー情報23としてパケット受信
回路230に送信する。
【００４４】
これまで、入力側ヘッダ処理部101がヘッダ情報21を受信した際の動作について説明し
た。出力側ヘッダ処理部102がヘッダ情報25を受信した際には、ヘッダ情報蓄積用バッフ
ァ120がヘッダ情報25に出力回線毎にシーケンス番号を付与し、整列回路140が、ヘッダ情
報25の入力した順序を出力回線毎に保証するように整列する。さらに、パケット処理回路
110-kは出力先判定処理を実施しない。それ以外の動作は入力側ヘッダ処理部101がヘッダ
情報21を受信した際の動作と同一である。
【００４５】
整列回路140は読み出し回路142-k、整列メモリ143-k、読み出しポインタ蓄積部145-kを
出力回線毎に備え、整列メモリ振分回路144が出力回線に応じて整列メモリ143-kを振り分
けることとなる。さらに、整列メモリ143-kの送信先情報は存在せず、ヘッダ処理結果送
信回路141はエントリ145にフィルタ情報とQoS情報が書き込まれると該情報をフロー情報26としてパケット送信回路270へ送信することとなる。
【００４６】
以上説明した、実施例１のヘッダ処理部100を備えるパケット転送装置200において、パ
ケット受信回路230およびパケット送信回路270に接続される入力回線201および出力回線2
02の接続数に応じて、動作させるパケット処理回路110-kの数を切り替える。なお、入力
回線201-ijと出力回線202-ijは組をなし、この組単位での接続/非接続となる。以下、こ
の入力回線201-ijと出力回線202-ijの組を回線ijと記載する。
【００４７】
ここでは、4つの回線１j(j=1-4)を収容可能なインターフェース部210-1について考える。インターフェース部210-1の4つのパケット処理回路110-kの処理性能が4つの回線1jより
入力するトラフィックの最大値と一致している。ここでは格納される回線数がA(≦4)で有
る場合にはA個のパケット処理回路110が動作する。
【００４８】
この回線数はパケット受信回路230が送信する回線数情報24により通知される。パケッ
ト受信回路230は通常の受信回路の構成に加え、そのインターフェース部に格納回線数を
判定する回路が付加される。図18にパケット受信回路230のインターフェース部210-1が備
える格納回線数判定回路1800を示す。本判定回路1800は入力回線201-1j(j=1-〜4)と、入
力回線201-1jを接続する4つのコネクタ1810-jと、OSI参照モデルの第一層である物理層を
終端する該コネクタに対応したPHY1820-jと、回路数通知回路1830より構成される。図18
では、本判定回路1800には、4つの入力回線201-1jが接続される場合が記載されているが
、該入力回線201-1jの一部あるいは全てが接続されていなくても良い。
【００４９】
入力回線201-1jが接続されると、PHY1820-jは入力回線201-1jにて接続される他のパケ
ット転送装置や端末が送信するデータを受信し、該データの内容を解析して入力回線201-
1jの接続有無を判定する。さらに、判定結果を回線数通知回路1830に送信する。回線数通
知回路1830は、判定結果が「有り」の情報を送信するPHY1820-jの数を判定し、回線数情
報24としてヘッダ処理部100に送信する。
【００５０】
ヘッダ情報21により実施される入力側ヘッダ処理部101の受信側の処理には回線数情報2
4が使用される。該回線数情報を受信した回路数判定回路170は動作させるパケット処理回
路110-ｋの回路数を判定し、ヘッダ情報蓄積用バッファ120に通知する。ヘッダ情報蓄積
用バッファ120の振分回路123は通知の回路数：Aから予測される動作中のパケット処理回
路110-１〜Aに対してヘッダ情報21あるいは25を転送する。即ち、回路数：Aが1の場合、
パケット処理回路110-1に、パケット処理回路110-1、2の場合、処理回路110-1と110-2に
、3の場合、処理回路110-1と110-2と110-3に、４の場合、すべての処理回路110-1〜4に転
送する。
【００５１】
さらに、回路数判定回路170は動作させるパケット処理回路110-ｋにパケット処理信号
を、パケット処理動作を停止するパケット処理回路110-kにパケット処理停止信号を送付
する。（なお、これらの信号は、図１において、回路数判定回路170からパケット処理回
路110各々への点線矢印で纏めて示している。）パケット処理信号を受信しているパケッ
ト処理回路110-kはパケット処理を実施し、パケット処理停止信号を受信しているパケッ
ト処理回路110-kはパケット処理を停止する。パケット処理の停止の手段としては、例え
ばパケット処理回路110-kの電源を切断したり、クロックを停止したりすることが考えら
れるが、他の手段であっても良い。
以上に述べた振分動作と停止動作により、パケット処理を行うパケット処理回路110-k
の電力の総和が、収容する回線数に応じた電力となるパケット転送装置を提供することが
可能となる。
【００５２】
以上では、回線ijの数が4であるインターフェース部210-1が、4つのパケット処理回路1
10-kを備えるについて記載したが、収容する回線ijの数やパケット処理回路110-kの数が
異なっても、以下の式に従い、動作させる回路数を判定すれば良い。
動作させる回路数＝接続中の回線ijの数÷収容可能な回線ijの数×パケット処理回路
の数  続いて、回路数判定回路170の一構成例の詳細ブロック図を図19に示す。判定回路170は判定部1〜3、通知部179、モード蓄積部177より構成される。なお、本図では判定部2の判定回路171-2のみがプロセッサ290に接続される様に記載されているが、172〜177の各機能ブロックもプロセッサ290に接続されている。
【００５３】
前述の式に基づく回路数の判定は判定部1によって実施される。回線数情報24を受信す
ると判定回路171-1は収容可能回路数蓄積部172およびパケット処理回路数蓄積部173にそ
れぞれ蓄積される収容可能な回線ijの数とパケット処理回路の数を読み出して前述の式に
基づき動作させる回路数を判定して通知部179に送信する。なお、蓄積部172および173の
設定は制御端末10よりプロセッサ290経由で実施される。通知部179は回路数をヘッダ情報
蓄積用バッファ120に通知すると共に、前述の通り動作させるパケット処理回路110-ｋに
パケット処理信号を、パケット処理動作を停止するパケット処理回路110-ｋにパケット処
理停止信号を送付する。なお、判定部2および3については後述する。
【００５４】
パケット処理回路110-kの数を変更する他の方法としては、パケットの予測入力帯域や
出力帯域を外部の制御端末10よりプロセッサ290経由で回路数判定回路170に通知する方法
が考えられる。この際、回路数判定回路170は前記予測入力帯域に基づいて動作させるパ
ケット処理回路110-kの数を判定する。ここでは、4つの回線１j(j=1-4)を収容可能なイン
ターフェース部210-1について考える。このインターフェース部210-1の4つのパケット処
理回路110-kの処理性能が4つの回線1jより入力するトラフィックの最大値と一致している
。この際、入力側ヘッダ処理部101の回路数判定回路170は、予測入力帯域が4つの回線ij
の回線帯域の総和の0%から25％以下であればパケット処理回路110-kの数を1個、25%を超
過し50%以下であれば2個、50%を超過し75%以下であれば3個、75％を超過する場合には4個
と判定する。出力側ヘッダ処理部102の回路数判定回路170も予測出力帯域に対して同様の
判定を実施する。予測入力帯域や出力帯域は時間に対して変化していても良い。例えば、
図12に記載の様に、各時間に実線で示す予測入力帯域をパケット転送装置200に通知する
ことが考えられる。
【００５５】
この際の回路数判定は図19の回路数判定回路170の判定部2において実施される。判定部
2が備える判定回路171-2はプロセッサ290経由で通知された予測帯域と回線帯域情報蓄積
部174に蓄積される回線帯域の総和から処理回路110-ｋの数を判定し、通知部179に送信す
る。なお、蓄積部174の設定は制御端末10よりプロセッサ290経由で実施される。通知部17
9は回路数をヘッダ情報蓄積用バッファ120に通知すると共に、動作させるパケット処理回
路110-ｋにパケット処理信号を、パケット処理動作を停止するパケット処理回路110-ｋに
パケット処理停止信号を送付する。通知部179には判定部1、2および、後述する判定部3か
ら処理回路の数が入力されることになる。通知部179はモード蓄積部177を備え、この蓄積
部177内の値に基づき複数の処理回路数情報の内の一つの情報を選択し送付することとな
る。蓄積部177の設定は制御端末10よりプロセッサ290経由で実施されることとなる。
【００５６】
パケット処理回路110-kの数を変更する他の方法としては、回路数判定回路170がパケッ
ト転送装置200の送受信するトラフィック量の情報やトラフィック量に関わる他の情報を
参照して動作させるパケット処理回路110-kの数を判定する方法が考えられる。例えば、
ヘッダ情報蓄積用バッファ120が備えるキュー121のキューカウンタ124の値：QLEN(ヘッダ情報の蓄積数情報)に基づき、回路数を判定する。回路数判定回路170はタイマー(タイマー値：T)と、Tの閾値Tmaxと、キューの二つの閾値：THRminとTHRmax(THRmin＜THRmax)を備える。キュー121に蓄積されているヘッダ情報21あるいは25がTHRmin個未満となっている時間がTmax以上となるとＮを1減少させ、ヘッダ情報21あるいは25がTHRmax以上となるとNを1増加させる。
【００５７】
以下、図13のフローチャートと図19の回線数判定回路170(主に判定部3)を用いて詳細を
説明する。ここでは、4つの回線１j(j=1-4)を収容可能なインターフェース部210-1につい
て考える。なお、図19の閾値蓄積部176には、制御端末10よりプロセッサ290経由でTHRmin、THRmax、Tmaxの値が設定されている。
【００５８】
まず、判定部3の判定回路171-3は、自身が備える回路数：Nを、パケット処理回路数蓄
積部173に蓄積される4に初期設定し(ステップ1501)、タイマー175の値：Tを0にリセット
する(ステップ1502)。次にキューカウンタ124の値：QLENと閾値蓄積部176内のTHRminを比較し(ステップ1503)、QLEN≦THRminの場合にはTと閾値蓄積部176内のTmaxを比較する(ステップ1504)。比較結果がT≧TmaxであってTmax以上の間QLENがTHRminを下回っている場合には、回路数：Ｎを１減少させ(ステップ1505)、ステップ1502に戻りTを0にリセットする。なお、ステップ1505において、Nが負の値になった場合は0に修正する。比較結果がT＜Tmaxである場合には、再度ステップ1503を実施する。ステップ1503にてQLEN＞THRminの場合には、QLENと閾値蓄積部176内のTHRmaxを比較する(ステップ1506)。QLEN＞THRmaxであって過剰なヘッダ情報21が蓄積されている場合にはＮを１増加させ(ステップ1507)、ステップ1502に戻りTを0にリセットする。QLEN≦THRmaxであって過剰なヘッダ情報21が蓄積されていない場合にはステップ1502に戻りTを0にリセットする。なお、ステップ1507において、Nがパケット処理回路数蓄積部173の値である4よりも大きく5以上となった場合は4に修正する。判定回路171-3は以上に述べた動作を実施すると同時に回路数：Ｎをヘッダ情報蓄積用バッファ120に送付する。通知部179は回路数をヘッダ情報蓄積用バッファ120に通知すると共に、動作させるパケット処理回路110-kにパケット処理信号を、パケット処理動作を停止するパケット処理回路110-kにパケット処理停止信号を送付する（図１の点線矢印）。
【００５９】
以上に述べた外部の制御端末10が通知する予測入力帯域あるいは予測出力帯域に従いパ
ケット処理回路数を判定したり、パケット転送装置200のキュー121の蓄積状況を参照して
パケット処理回路数を判定したりすることで、本実施例の目的であるパケット処理を行う
パケット処理回路110-kの電力の総和が、パケットの入力帯域あるいは出力帯域に応じた
電力となるパケット転送装置を提供することが可能となる。
【００６０】
さらに、本実施例では収容する回線の数と、帯域の両方に応じた電力となるパケット転
送装置を提供することも可能である。制御端末10により予測入力帯域あるいは予測出力帯
域を通知する場合には、制御端末10がパケット受信回路230あるいはパケット送信回路270
に収容される回線ijに入出力されるパケットの帯域を予測入力帯域あるいは予測出力帯域
として回路数判定回路170に通知すれば良い。また、キュー121の蓄積状況を参照して回路
数を判定する場合には、回路数判定回路170が動作させるパケット処理回路110-kの数：N
の最大値を回線数情報24にて通知される値とすれば良い。
【００６１】
また、収容する回線の数と、キュー121の蓄積状況に基づいて回路数を判定する場合に
は、判定部3の判定回路171-3が前述のステップ1501および1507で用いる蓄積部173の処理
回路110-kの数（図13では4）の代わりに判定回路171-1が出力する処理回路110-kの数を用
いれば良い。この際、モード蓄積部177には、判定回路171-3の回路数を示す値が記載され
ることとなる。
【００６２】
ヘッダ処理部100の省電力施策について説明する。ヘッダ処理部100は入力側ヘッダ処理
部101と出力側ヘッダ処理部102より構成されているが、これは、ヘッダ情報21受信時(パ
ケット受信時)に使用するパケット処理回路110-kとヘッダ情報25受信時(パケット送信時)
に使用するパケット処理回路110-ｋを分離するためである。それぞれのパケット処理回路
110-ｋを分離することで、ヘッダ情報21あるいは25が入力した際に、それぞれのヘッダ情
報に対応したパケット処理回路110-kだけを動作させることが可能となる。パケット受信
時と送信時のパケット処理回路110-kが一つのパケット処理回路で実現された場合、パケ
ット受信時に送信時の回路を、パケット送信時には受信時の回路も動作させる必要がある
。
【実施例２】
【００６３】
第２の実施例として、出力先判定処理とフロー処理のパケット処理回路を分割する場合
を説明する。
【００６４】
本実施例においては、ヘッダ処理部100の省電力施策として、入力側ヘッダ処理部101の
出力先判定処理とフロー処理を別々のパケット処理回路が実施する構成とする。この構成
により、フロー処理の必要の無いパケットが存在する場合、動作させるフロー処理用の回
路を低減できるため、更なる電力の削減が可能となる。
【００６５】
第２の実施例の入力側ヘッダ処理部1601の構成を図16に示す。入力側ヘッダ処理部1601
は、図１のパケット処理回路110-kが、出力先判定処理を実施するパケット処理回路1610-
1kとフロー処理を実施するパケット処理回路1610-2kに分割された構成となる。また、ヘ
ッダ情報蓄積用バッファ120と回路数判定回路170も、出力先判定処理用のヘッダ情報蓄積
用バッファ1620-1とフロー処理用のヘッダ情報蓄積用バッファ1620-2および出力先判定処
理用の回路数判定回路1670-1とフロー処理用の回路数判定回路1670-2に分割される。ルー
ティングテーブル制御部150はパケット処理回路1610-1kに、フローテーブル制御部160は
パケット処理回路1610-2kに接続される。整列回路140は一つのままであるが、該回路は全
てのパケット処理回路1610と接続されることとなる。なお、図が煩雑となるため整列回路
140とパケット処理回路1610-22〜24の接続は省略してある。
【００６６】
ヘッダ情報蓄積用バッファ1620-1と2は、ヘッダ情報21を実施例１と同様にシーケンス
番号を付与して蓄積し、それぞれパケット処理回路1610-1kとパケット処理回路1610-2kに
ヘッダ情報21とシーケンス番号を送信する。この際、送信されるパケット処理回路1610は
動作中でかつBUSY信号（図１６では図示を省略してある。）を受信していないパケット処理回路1610である。
【００６７】
パケット処理回路1610-1kは前述の実施例と同様に出力先判定処理をルーティングテー
ブル制御部150、ルーティングテーブル用CAM500、ルーティングテーブルメモリ600を用いて実施し、送信先情報とシーケンス番号を整列回路140に送信する。パケット処理回路1610-2kは前述の実施例と同様にフロー処理をフローテーブル制御部160、フローテーブル用CAM700、フローテーブル用メモリ800を用いて実施し、フィルタ情報とQoS情報とシーケンス番号を整列回路140に送信する。整列回路140は受信した送信先情報とフィルタ情報とQoS情報の組の情報を前述の実施例と同様にシーケンス番号の順に並べ替えて送信する。
【００６８】
入力側ヘッダ処理部1601では、全てのパケットに対してフロー処理を実施する必要が無
ければ、予め制御端末10がプロセッサ290経由で回路数判定回路1670-2および整列回路140
に通知しておき、回路数判定回路1670-2は全てのパケット処理回路1610-2kの動作を停止
させる。整列回路140においては、送信先情報のみが揃った時点で出力回線情報22とフロ
ー情報23が送信可能となる。フロー情報23のQoS情報は固定の任意の値、フィルタ情報は
”転送”となる。
【００６９】
このように、全パケットに対してフロー処理を実施する必要が無い場合には、本実施例
の入力側ヘッダ処理部1601は必要の無いパケット処理回路1610-2kの動作を停止させるこ
とが可能であり、更なる消費電力の低下を実現することができる。
【００７０】
パケット毎にフロー処理の有無が決まる際には、制御端末10がプロセッサ290経由で出
力先判定処理とフロー処理の予測入力帯域を別々に回路数判定回路1670-1と2に通知して
も良い。前述のパケット処理回路110では、全パケットに対してフロー処理用の回路が動
作するため、フロー処理の必要の無いパケットが存在する場合、無駄な回路を動作させて
無駄な電力を消費することとなる。一方、本実施例の入力側ヘッダ処理部1610は、制御端
末10より各処理に最適な予測入力帯域が回路数判定回路1670-1と2に通知され、本帯域に
基づいてパケット処理回路数1610を判定することで必要の無いフロー処理用の回路の動作
を低減できる。このため、更なる電力削減を実現することが可能となる。
【００７１】
この際のパケット受信回路230は、パケット毎にフロー処理の動作/停止をヘッダ部310
乃至入力回線番号331に基づき判定し、ヘッダ情報21にフロー処理の有無を加えてヘッダ
処理部100に送信する。例えば、入力回線番号331を参照することで、入力回線番号331が
奇数の入力回線201からのフロー処理を実施し、偶数の入力回線201からのフロー処理を不
実施といった処理を実施することができる。さらに、送信元IPアドレス311および宛先IP
アドレス312を参照することで、送信元あるいは宛先の端末毎にフロー処理の有無を判定
することができる。
【００７２】
ヘッダ情報蓄積用バッファ1620-2はフロー処理の有無が”有”の場合には従来通りヘッ
ダ情報21をパケット処理回路1610-2kに送信するが、フロー処理の有無が”無”の場合に
は、ヘッダ情報21を廃棄しフロー処理を実施しないこととなる。また、ヘッダ情報蓄積用
バッファ1620-2はこの廃棄と同時に、シーケンス番号と、任意の固定値としたQoS情報と
、”転送”を表すフィルタ情報を整列回路140に送信する。整列回路140はパケット処理回
路1610-2kより送信される情報の代わりにこれらの情報を用いて整列およびフロー情報23
の送信を実施する。
【００７３】
回路数判定回路1620-2は、制御端末10通知の予測入力帯域からパケット処理回路1610-2
kの数を判定する代わりに、ヘッダ情報蓄積用バッファ1620-2が備えるキュー121のキュー
カウンタ124の値：QLEN(ヘッダ情報の蓄積数情報)に基づき、動作させる回路数を判定し
ても良い。この場合、フロー処理の必要の無いヘッダ情報21が多く入力されると、フロー
処理用のパケット処理回路1610-2kの処理負荷が低くなり、回路数判定回路1670-2は動作
させるパケット処理回路1610-2kの数を低減する。従来の入力側ヘッダ処理部101は出力先
判定用の回路とフロー処理用の回路の性能を同一とする必要があったが、本実施例の入力
側ヘッダ処理部1601はフロー処理を実施しないパケットが存在する場合には動作させるパ
ケット処理回路1610-2kの数を低減できるため、更なる電力の削減を実現できる。
【実施例３】
【００７４】
次に、第３の実施例として、DMACによる出力先判定を実施する際の実施例を説明する。
【００７５】
これまで、出力先判定処理においてDIP312に基づき送信先情報を判定することを考えてきた。しかし、L3スイッチは、パケットに応じてDIP312やDMAC317によって送信先情報を判定するため、L3スイッチを実現するためにはDMAC317により送信先情報を判定する機能部を新たに備えることが必要となる。
【００７６】
図16の点線で記載されている出力先判定処理用機能部2000に、DMAC317による出力先判定処理機能を追加した出力先判定処理用機能部2100を図17に示す。図17の出力先判定処理用機能部2100はDMAC317による出力先判定処理を実施するため、パケット処理回路1610-3kとFDBテーブル制御部151とFDBテーブル用メモリ601とFDBテーブル用CAM501と回路数判定回路1670-3とヘッダ蓄積用バッファ1620-3が新たに追加される。
FDBテーブル用CAM501はDIP312の条件に代わってDMAC317の条件が設定される以外はルーティングテーブル用CAM500と同一であり、FDBテーブル用メモリ601とルーティングテーブル用メモリ600のフォーマットは同一である。また、パケット処理回路1610-3kの動作はDIP312の代わりにDMAC317によって出力先判定が行われること以外同一で、回路数判定回路1670-3の動作は回路数判定回路1670-1と同様である。また、整列回路140は、パケット処理回路1610-1kに加えて1610-3kより受信した送信先情報を整列して送信することとなる。なお、図17の整列回路140はパケット処理回路1610-3kとも図16と同様に接続されるが、図が煩雑となるため接続を省略してある。
全てのパケットがDIP312を用いて出力先判定処理を実施する場合には、そのことを予め制御端末10がプロセッサ290経由で回路数判定回路1670-3に通知しておき、回路数判定回路1670-3は全てのパケット処理回路1610-3kの動作を停止させる。一方、全てのパケットがDMAC317を用いて出力先判定処理を実施する場合には、そのことを予め制御端末10がプロセッサ290経由で回路数判定回路1670-1に通知しておき、回路数判定回路1670-1は全てのパケット処理回路1610-1kの動作を停止させる。
一方、パケット毎に出力先判定に使用する情報(DIP312乃至DMAC317)が変わる際には、パ
ケットの予測入力帯域を外部の制御端末10よりプロセッサ290経由で通知しても良い。こ
の際、制御端末10はDIP312による出力先判定処理とDMAC317による出力先判定処理の予測入力帯域を別々に回路数判定回路1670-1と3に通知することとなる。回路数判定回路1670-1と3が実施する通知情報に基づくパケット処理回路1610の数の判定処理や回路1610の動作/停止に関する処理は前述の通りである。
この際、以下の動作が新たに加わる。パケット受信回路230は、パケット毎に出力先判定
に使用する情報をヘッダ部310乃至入力回線番号331に基づき判定し、ヘッダ情報21に本情
報を加えてヘッダ処理部100に送信する。ヘッダ処理部100のヘッダ情報蓄積用バッファ16
20-1および3は、それぞれのバッファに対応する情報を出力先判定に用いる場合には従来
通りヘッダ情報21をパケット処理回路1610に送信する。一方、用いない場合には、ヘッダ
情報21を廃棄する。
この様な制御端末10による予測入力帯域の通知の代わりにヘッダ情報蓄積用バッファ1670
-1および3が備えるキュー121のキューカウンタ124の値：QLEN(ヘッダ情報の蓄積数情報)
に基づき、回路数判定回路1670-1または3が回路数を判定しても良い。この際の回路数判
定回路1670-1および3の動作は前述の回路数判定回路170の動作と同一である。
以下、本出力先判定処理用機能部2100の優れている点について説明する。従来のパケット
処理回路1610-1kにDMAC317による出力先判定処理用の回路を加えた場合を考える。この際、全ての出力先判定用の回路が常に動作するため、必要の無い一方の回路が無駄に動作してしまう問題がある。一方、本実施例の出力先判定処理用機能部2000はDMAC317による出力先判定処理を行うパケット処理回路1610-3kを新たに備えることにより、使用しないパケット処理回路1610を停止することができるため、電力の無駄が発生しない。
以上では、DMAC317による出力先判定処理を追加実施する際の実施例を記載したが、DIP312とSIP311を用いるマルチキャスト用の出力先判定処理を追加実施する場合も同様である。本実施例のDMAC317で出力先判定処理を実施するパケット処理回路を追加する代わりにDIP312とSIP311で出力先判定処理を実施するパケット処理回路を追加すれば良い。
【実施例４】
【００７７】
次に、性能の粒度を細かくするための第４の実施例を説明する。
【００７８】
これまで、パケット処理回路110-kが4つの場合を説明してきた。この際には、パケット
処理性能の粒度は25％となり、最悪の場合、25％の無駄な電力を消費してしまう（例えば
、必要な処理性能が25.1％の場合、50％の処理性能(パケット処理回路110-k 2個分)となってしまう。）。この問題を解決するためには、より多くのパケット処理回路110-ｋを備える方法以外には、処理回路110-kの周波数を低下させる方法がある。処理回路110-kの周波数を1/nとし性能を1/nとすれば、電力を最大で1−1/n削減することが可能となる。この際、nを2とし、50%の周波数に切替可能とすれば、パケット処理回路110-kが8個の場合と同様の性能粒度を実現することが可能となる。
【実施例５】
【００７９】
続いて、第５の実施例として通信品質向上を実現するための実施例を説明する。本実施
例では、通信品質を向上するため、別のヘッダ情報蓄積用バッファの構成を提示する。
【００８０】
図１、図5に示したヘッダ情報蓄積用バッファ120はバースト的なヘッダ情報21あるいは
25の入力があると初めはキューにパケットを蓄積するが、このバースト的な入力が長期間
持続するとキューにヘッダ情報を格納できず、該ヘッダ情報を廃棄してしまうこととなる
。廃棄が発生しない場合にもキューに多くのヘッダ情報が蓄積されるとパケットの遅延が
発生してしまう。ヘッダ情報の廃棄や遅延が発生すると該ヘッダを備えるパケットの廃棄
や遅延が発生してしまうこととなる。
【００８１】
そこで、パケットの転送の優先度が高いパケットの廃棄や遅延を防止する機能が必要と
なる。高優先度のパケットの廃棄や遅延を防止するヘッダ情報蓄積バッファの一実現例を
図14に示す。図14のヘッダ情報蓄積用バッファ1320はバッファ120に簡易優先度判定部125
を新たに備え、二つのシーケンス番号付与回路122-1および122-2、優先キュー121-1およ
び非優先キュー121-2を備える。
【００８２】
パケット入力時にヘッダ情報21あるいは25が入力すると、簡易優先度判定部125がヘッ
ダ情報内の比較的情報量が小さなフィールドを用いて、該ヘッダ情報を備えるパケットの
優先度を判定する。フィールドとしては、例えば、図3で説明したUPRI318やDSCP315が考えられる。優先度が「優先」のヘッダ情報をシーケンス番号付与回路122-1に、「非優先」のヘッダ情報をシーケンス番号付与回路122-2に送信する。シーケンス番号付与回路122-1および122-2はヘッダ情報に入力回線あるいは出力回線毎にシーケンス番号と判定された優先度を付与し、それぞれ優先キュー121-1および非優先キュー121-2に送信する。振分回路123は優先キュー121-1にヘッダ情報とシーケンス番号と優先度が蓄積される際には該キューより該情報を読み出し、優先キュー121-1にヘッダ情報とシーケンス番号と優先度が蓄積されていない場合には非優先キュー121-2より該情報を読み出して、パケット処理回路110-kに送信することとなる
また、キューカウンタ124には、回路数判定回路170がキュー121のカウンタ値の代わり
に使用する優先キュー121-1と非優先キュー121-2の総和がカウントされるよう構成する。
【００８３】
以上の動作を実行することで高優先度のヘッダ情報が低優先度のヘッダ情報を追い越し
てパケット処理回路110-ｋで処理される。このため、優先キュー121-1へのヘッダ情報の
蓄積を防止し、高優先のヘッダ情報の廃棄、遅延を防止することが可能となる。優先度が
異なるヘッダ情報間で追い越しを発生させることにより高優先度のパケットの廃棄や遅延
を防止するため、簡易優先度判定部125は同一の順序を保証して転送すべきパケットのヘ
ッダ情報を同一の優先度と判定する必要がある。
【００８４】
パケット処理回路110-kの基本動作は同一であるが、送信先情報、フィルタ情報、QoS情報に加えて簡易優先度判定部125で判定された優先度も整列回路1440に送信することとなる。
【００８５】
図14のヘッダ情報蓄積用バッファ1320を用いた際の整列回路は図10の整列回路140とは
異なり、図15の整列回路1440となる。整列回路1440は、入力回線あるいは出力回線毎の優
先度毎にパケットの順序を保証し、前述の通り、同一の入出力回線の優先度が異なるパケ
ットの順序は保証しない。図15の整列回路1440は入力回線毎あるいは出力回線毎かつ優先
度毎に整列メモリ143-ab(a(回線番号)=1〜4,b(優先度)=1or2)および読み出し回路142-a
bを備えている。入力回線番号aあるいは出力回線番号a用の高優先パケット用のメモリが
整列メモリ143-a1、非優先パケット用のメモリが整列メモリ143-a2であり、整列メモリ14
3-a1の読み出しを読み出し回路142-a1が、メモリ143-a2の読み出しを読み出し回路142-a2
が実施する。整列メモリ振分回路1444は簡易優先度判定部125で判定した優先度と入力回
線番号331に基づいて、蓄積すべき整列メモリ143-abを判定する。整列メモリ143-abのフ
ォーマットは図11と同一であり、シーケンス番号の下位4ビットをアドレスとして送信先
情報、フィルタ情報、QoS情報が書き込まれる。なお、出力側ヘッダ処理部102のヘッダ情報蓄積用バッファ1320の場合、送信先情報は存在せず、書込みも行われない。読み出しポインタ蓄積部145-abには、入力回線あるいは出力回線毎の次に読み出す整列メモリ143-abのエントリ145のアドレスが記載される。図15には読み出し回路142-11に接続される読み出しポインタ蓄積部145-11のみ記載されているが、読み出し回路142-21〜42に対応する読み出しポインタ蓄積部145-21〜42も存在する。読み出し回路142-abは、読み出しポインタ蓄積部145-abに蓄積されるアドレスに対応するエントリ145に送信先情報とフィルタ情報とQoS情報が全て書き込まれると、該エントリ145を読み出して、ヘッダ処理結果送信回路1441に送信する。なお、出力側ヘッダ処理部102のヘッダ情報蓄積用バッファ1320の場合、フィルタ情報とQoS情報が全て書き込まれると、該エントリ145を読み出して、ヘッダ処理結果送信回路1441に送信する。ヘッダ処理結果送信回路1441は送信先情報を出力回線情報22として、フィルタ情報とQoS情報をフロー情報23あるいは26としてそれぞれパケット受信回路230あるいはパケット送信回路270に送信する。なお、出力側ヘッダ処理部102のヘッダ情報蓄積用バッファ1320の場合、出力回線情報22は送信されない。
【符号の説明】
【００８６】
21、25…ヘッダ情報、
22…出力回線情報、
23、26…フロー情報、
24…回線数情報、
100…ヘッダ処理部、
110…パケット処理部、
120…ヘッダ情報蓄積用バッファ、
140…整列回路、
150…ルーティングテーブル制御部、
160…フローテーブル制御部、
170…回路数判定回路、
200…パケット転送装置、
230…パケット受信回路、
240…入力側ＰＢ、
250…中継処理部、
270…パケット送信回路、
280…出力側ＰＢ、
290…プロセッサ。
【図１】
0005462920.tif 000002
【図２】
0005462920.tif 000003
【図３】
0005462920.tif 000004
【図４】
0005462920.tif 000005
【図５】
0005462920.tif 000006
【図６】
0005462920.tif 000007
【図７】
0005462920.tif 000008
【図８】
0005462920.tif 000009
【図９】
0005462920.tif 000010
【図１０】
0005462920.tif 000011
【図１１】
0005462920.tif 000012
【図１２】
0005462920.tif 000013
【図１３】
0005462920.tif 000014
【図１４】
0005462920.tif 000015
【図１５】
0005462920.tif 000016
【図１６】
0005462920.tif 000017
【図１７】
0005462920.tif 000018
【図１８】
0005462920.tif 000019
【図１９】
0005462920.tif 000020