JP5204294B2 - パケット転送装置 - Google Patents

パケット転送装置 Download PDF

Info

Publication number
JP5204294B2
JP5204294B2 JP2011280214A JP2011280214A JP5204294B2 JP 5204294 B2 JP5204294 B2 JP 5204294B2 JP 2011280214 A JP2011280214 A JP 2011280214A JP 2011280214 A JP2011280214 A JP 2011280214A JP 5204294 B2 JP5204294 B2 JP 5204294B2
Authority
JP
Japan
Prior art keywords
search
packet
flow
header information
cam
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
JP2011280214A
Other languages
English (en)
Other versions
JP2012095335A (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 JP2011280214A priority Critical patent/JP5204294B2/ja
Publication of JP2012095335A publication Critical patent/JP2012095335A/ja
Application granted granted Critical
Publication of JP5204294B2 publication Critical patent/JP5204294B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • Y02B60/33

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、パケット転送装置に関し、特に、ネットワークを構成するパケット転送装置であって、省電力のためのパケットの検索方式を有するパケット転送装置に関する。
ADSL(Asymmetric Digital Subscriber)、FTTH(Fiber To The Home)等のブロードバンドサービスの普及、およびこれらのブロードバンドサービスを背景に促進された動画・音声等のストリーミング利用、P2P(Peer to Peer)アプリケーションの台頭等により、インターネットトラフィックは指数関数的に増大しており、この傾向は今後も継続するとみられている(例えば、非特許文献1参照)。
このインターネットトラフィックの増大に対応できるネットワークを構築するためには、高速大容量なルータまたはスイッチ等のパケット転送装置が必要となる。そこで、パケット転送装置の高速化に対するボトルネックとなる処理と、その解決方法の一例を以下で説明する。
パケット転送装置では、受信パケットのヘッダ情報に含まれる宛先IPアドレスや宛先MACアドレスに基づいて受信パケットの出力回線を判定する経路検索や、より詳細なヘッダ情報に基づいてパケットの転送可否を判定するフィルタリング、あるいはパケットの転送優先度であるQoS(Quality of Service)を判定するフロー検索を行うものがある。
経路検索の場合、宛先IPアドレスや宛先MACアドレス毎にパケットの出力回線が登録された、例えば数十万の経路エントリから構成される経路テーブルを受信パケット毎に参照して、受信パケットの宛先IPアドレスまたは宛先MACアドレスに対応する出力回線を判定する。
フロー検索の場合は、宛先IPアドレス、宛先MACアドレスに加え、送信元IPアドレス、送信元MACアドレス、優先度が定義されたTOS(Type of Service)、通信用途を識別する送信元ポート、宛先ポート等、各種のヘッダ情報の組合せとして、パケットの種類であるフローが定義される。このフロー定義が登録されたフローエントリから構成されるフロー検索テーブルを受信パケット毎に参照して、受信パケットがあてはまるフローを識別し、フロー毎に予め設定されたフィルタリングによる転送可否や、QoSを判定する。
これらの検索処理は、大容量のテーブル検索、あるいは多数の検索条件に基づくテーブル検索を必要とするため、パケット転送装置内の処理のうちでも特に負担の重い処理であり、パケット転送装置の高速化に対するボトルネックの一つとなっている。そこで、近年の高速大容量なパケット転送装置では、経路検索やフロー検索に高速な検索専用のデバイスであるCAM(Content Addressable Memory)を使用している。
図19に、CAMによる検索処理の流れを示す。CAM400は、同一のビット長をもつ複数の検索エントリ1900〜1909を有する。CAM400の検索エントリのビット長やエントリ数は、CAM400の用途に応じた構成で設定される。例えば、経路テーブルにCAM400を適用する場合には経路エントリのビット長とエントリ数を満たす構成で設定され、フロー検索テーブルにCAM400を適用される場合にはフローエントリのビット長とエントリ数を満たす構成で設定される。
検索エントリの「x」で表されたビットはマスクビットと呼ばれ、検索キー1910のビットが0、1いずれであっても一致と判定されるビットである。CAM400に、検索エントリと同一のビット長の検索キー1910が入力されると、検索キー1910に基づきCAM400の全ての検索エントリ1900〜1909を同時に一致比較し、一致する検索エントリが存在した場合は、一致したことを示すヒット情報とヒットアドレス1911を出力する。検索エントリ1900〜1909を逐次的に一致比較するのではなく、全ての検索エントリ1900〜1909を同時に一致比較するので、高速に検索できる点が特徴である。なお、一致する検索エントリが複数存在した場合は、一致した検索エントリのうち最若番アドレスのヒットアドレスを出力する。また、一致する検索エントリが存在しない場合は、ヒット情報を出力しないことで、ノーヒットであることを示す。
図19のCAM400の具体的な設定例の場合について、さらに詳細に説明する。検索エントリ1900はb2の値が検索キー1910と異なるので、不一致と判定される。検索エントリ1901はb2、b8の値が検索キー1910と異なるので、不一致と判定される。検索エントリ1902はb2の値が検索キー1910と異なるので、不一致と判定される。検索エントリ1903は検索キー1910と同一なので、一致と判定される。検索エントリ1904のb9はマスクビットなので検索キーのb9が0、1いずれであっても一致と判定され、その他のビットも全て検索キー1910と同一なので、一致と判定される。検索エントリ1905はb2の値が検索キー1810と異なるので、不一致と判定される。検索エントリ1906のb8、b9はマスクビットなので検索キーのb8、b9が0、1いずれであっても一致と判定され、その他のビットも全て検索キー1910と同一なので、一致と判定される。検索エントリ1907はb7の値が検索キー1910と異なるので、不一致と判定される。検索エントリ1908はb0の値が検索キー1910と異なるので、不一致と判定される。検索エントリ1909は全てのビットb0〜b9がマスクビットなので、検索キーの全てのビットb0〜b9が0、1いずれであっても一致と判定される。以上から、一致と判定される検索エントリはCAM400のアドレス3のエントリ1903、CAM400のアドレス4のエントリ1904、CAM400のアドレス6のエントリ1906、CAM400のアドレスnのエントリ1909となり、一致する検索エントリが複数存在する。そのうち最若番アドレスの検索エントリはアドレス3の検索エントリ1903なので、ヒット情報とヒットアドレス3が出力される(1911)。
「情報通信のエネルギー問題―求められる通信インフラの省電力化―」、小笠原、2006年6月、文部科学省 科学技術政策研究所 科学技術動向研究センター レポート、http://www.nistep.go.jp/achiev/ftx/jpn/stfc/stt063j/0606_03_featurearticles/0606fa 01/200606_fa01.html 「ネットワークノードにおける転送用データベース検索の省電力化方式」、奥他、2005年電子情報通信学会総合大会B−6−153 RFC2475、「An Architecture for Differentiated Services」、1998年12月 RFC2597、「Assured Forwarding PHB Group」、1999年6月 RFC2598、「An Expedited Forwarding PHB」、1999年6月 RFC3697、「IPv6 Flow Label Specification」、2004年3月
インターネットトラフィックの指数関数的な増加を背景にパケット転送装置の消費電力は急増している上、今後見込まれるインターネットトラフィックの増大も含めて考えると、通信機器のエネルギー消費が将来的には社会的なエネルギー破綻を招く危険性が指摘されている。よって、パケット転送装置の消費電力の低減が強く求められることになる(例えば、非特許文献1参照)。
しかし、パケット転送装置の高速化に不可欠であるCAMの消費電力は、一般的なメモリと比較して格段に高いという課題がある(例えば、非特許文献2参照)。従って、パケット転送装置の経路検索やフロー検索にCAMを用いると、パケット転送装置としての消費電力が増大してしまうという課題がある。CAMの低消費電力化についても、上述のCAM内部の検索方式から考えて、CAM内の全ての検索エントリに給電して、全ての検索エントリを検索キーと同時に一致比較する必要があるため、CAMの消費電力の劇的な低減は将来的にも難しいと考えられる。
また、非特許文献2では、検索対象とするCAMの物理Bankを限定する省電力化方式が提案されているが、物理Bankを備えないCAMには適用することができない。また物理Bankを備えるCAMであっても、この方式を用いた場合に低減できる消費電力量は、CAMの物理Bank数に制限されてしまい、物理Bank数が少ないCAMに対しては低減できる消費電力量も小さくなってしまう。
本発明は、以上の点に鑑み、パケット転送装置の消費電力を低減することを目的とする。また、本発明は、複数の検索手段を備え、必要に応じて省電力と検索キーの観点から検索手段を選択することを目的のひとつとする。本発明は、CAMを用いるパケット転送装置において、フロー検索及び経路検索の消費電力を低減することを目的のひとつとする。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
[適用例1]
適用例1のパケット転送装置は、複数の入力回線と出力回線に接続され、各入力回線から受信したパケットをヘッダ情報によって特定される何れかの出力回線に転送するパケット転送装置であって、パケットのヘッダ情報を検索キーとして該パケットが属するフローを検索するフロー検索部と、パケットに対して予めフロー毎に指定された転送制御を実施するための手段とを有し、さらに、上記フロー検索部は複数の検索手段を有し、検索キーに含めるヘッダ情報項目を選択することにより検索に伴う消費電力を制御する消費電力制御手段を備える。さらに、検索キーに含めるヘッダ情報項目を選択すると選択されたヘッダ情報項目に応じていずれかの検索手段を選択してフロー検索を実施することを上記消費電力制御手段とする。
適用例1のパケット転送装置によれば、フロー検索を実施する際に、消費電力は高いが検索キーとなるヘッダ情報のビット長、項目数等が多い検索手段と、消費電力は低いが検索キーとなるヘッダ情報のビット長、項目数等が少ない検索手段とを用意しておき、必要に応じて省電力と検索キーの観点から最適な検索手段を選択することができる。
検索キーとなるヘッダ情報のビット長、項目数等が少ない検索手段を選択した場合には、フローの設定に必要となるビット数が減少する。従って、同一ビット容量の検索手段で比較すると、検索対象として設定できるフロー数を増加することもできる。
[適用例2]
適用例1のパケット転送装置において、さらに、パケット転送装置の管理者が検索キーに含めるヘッダ情報項目を選択する設定インタフェースを備える。
適用例2のパケット転送装置によれば、パケット転送装置の管理者の判断に基づいて、検索キーに含める最適なヘッダ情報項目と最適なフロー検索手段を選択することができる。
[適用例3]
適用例3のパケット転送装置は、適用例1乃至適用例2のいずれかのパケット転送装置において、さらに、パケットの入力回線または出力回線または論理的な入力インタフェースまたは論理的な出力インタフェース毎に検索キーに含めるヘッダ情報項目を選択する。
適用例3のパケット転送装置によれば、パケットの入力回線または出力回線または論理的な入力インタフェースまたは論理的な出力インタフェースというフロー定義のリストを設定する単位毎に最適なヘッダ情報項目と最適な検索手段を選択することができる。
[適用例4]
適用例4のパケット転送装置は、適用例1乃至2のいずれかのパケット転送装置において、さらに、パケットのヘッダ情報のうち少なくとも一つのヘッダ情報項目の値に応じて検索キーに含めるヘッダ情報項目を選択する。
適用例4のパケット転送装置によれば、ヘッダ情報の一部で決まる条件に基づいて最適なヘッダ情報項目と最適な検索手段を選択することができる。
[適用例5]
適用例5のパケット転送装置は、適用例4のパケット転送装置において、特に、優先度を示すヘッダ情報項目の値に応じて検索キーに含めるヘッダ情報項目を選択する。
適用例5のパケット転送装置によれば、優先度がヘッダ情報として設定済のパケットに対しては、消費電力の低い小規模のテーブルでフロー検索を実施できる。
[適用例6]
適用例6のパケット転送装置は、適用例5のパケット転送装置において、特に、優先度を示すヘッダ情報項目として少なくともIPv4(Internet Protocol version 4)のTOS(Type of Service)またはIPv6(Internet Protocol version 6)のTC(Traffic Class)の全部または一部、またはMPLS(Multiprotocol Label Switching)のEXP(experimental bits)またはIEEE802.1pのCOS(Class of Service)のうちいずれか一つの値に応じて検索キーに含めるヘッダ情報項目を選択する。
適用例6のパケット転送装置によれば、IPv4のTOS(Type of Service)またはIPv6のTC(Traffic Class)の全部または一部、またはMPLSのEXP(experimental bits)またはIEEE802.1pのCOS(Class of Service)のうちいずれか一つのヘッダ情報として優先度が設定済のパケットに対しては、消費電力の低い小規模のテーブルでフロー検索を実施できる。
[適用例7]
適用例7のパケット転送装置は、適用例4のパケット転送装置において、特に、フローを示すヘッダ情報項目の値に応じて検索キーに含めるヘッダ情報項目を選択する。
適用例7のパケット転送装置によれば、フローがヘッダ情報として設定済のパケットに対しては、フロー検索を省略することができる。
[適用例8]
適用例8のパケット転送装置は、適用例7のパケット転送装置において、特に、フローを示すヘッダ情報項目として少なくともIPv6のFL(Flow Label)の値に応じて検索キーに含めるヘッダ情報項目を選択する。
適用例8のパケット転送装置によれば、IPv6のFL(Flow Label)としてフローが設定済のパケットに対しては、フロー検索を省略することができる。
[適用例9]
適用例9のパケット転送装置は、複数の入、出力回線に接続され、各入力回線から受信したパケットをヘッダ情報によって特定される何れかの出力回線に転送するパケット転送装置であって、各受信パケットのヘッダ情報のうち少なくともパケットの宛先情報を含むヘッダ情報項目を検索キーとして該パケットを転送する出力回線を判定する経路検索部を有し、上記経路検索部は複数の検索手段を有し、そのうちいずれかの検索手段を選択して経路検索を実施することにより検索に伴う消費電力を制御する。
適用例9のパケット転送装置によれば、経路検索を実施する際にも、消費電力は高いが検索性能が高速な検索手段と、消費電力は低いが検索性能が低速な検索手段とを用意しておき、必要に応じて省電力と検索性能の観点から最適な検索手段を選択することができる。
[適用例10]
適用例10のパケット転送装置は、適用例9のパケット転送装置において、さらに、経路検索部が有する複数の検索手段のうちいずれの検索手段を選択するかをパケット転送装置の管理者が設定する設定インタフェースを備える。
適用例10のパケット転送装置によれば、パケット転送装置の管理者の判断に基づいて、最適な経路検索手段を選択することができる。
[適用例11]
適用例11のパケット転送装置は、適用例9乃至10のいずれかのパケット転送装置において、さらに、通信プロトコルを示すヘッダ情報項目の値に応じていずれかの検索手段を選択して経路検索を実施する。
適用例11のパケット転送装置によれば、通信プロトコルに応じて最適な経路検索手段を選択することができる。
[適用例12]
適用例12のパケット転送装置は、適用例11のパケット転送装置において、特に、通信プロトコルを示すヘッダ情報項目として少なくともPPPのProtocolまたはEthernet(登録商標)のEther TypeまたはIPのVER(Version)のうちいずれか一つの値に応じていずれかの検索手段を選択して経路検索を実施する。
適用例12のパケット転送装置によれば、PPPのProtocolまたはEthernet(登録商標)のEther TypeまたはIPのVER(Version)で定まる通信プロトコルに応じて最適な経路検索手段を選択することができる。
[適用例13]
適用例13のパケット転送装置は、適用例1乃至適用例12のいずれかのパケット転送装置において、検索手段の一つにCAM(Content Addressable Memory)を含む。
一般にCAMの消費電力は高いという課題があるが、適用例13のパケット転送装置によれば、CAM以外の消費電力の低い検索手段で検索可能な検索キーに対しては、CAM以外の消費電力の低い検索手段を選択することにより消費電力を低減する効果が得られる。
本発明において、上述した種々の態様は、適宜、組み合わせたり、一部を省略したりして適用することができる。
本発明の第1の解決手段によると、
複数の入力回線と出力回線に接続され、各入力回線から受信したパケットをヘッダ情報によって特定される何れかの前記出力回線に転送するパケット転送装置であって、
前記入力回線を介してパケットを受信する受信回路と、
受信されたパケットのヘッダ情報に基づいて優先度を求めるフロー検索部と、
パケットを転送する中継部と、
前記中継部から転送されたパケットを、前記出力回線を介して出力する出力回路と
を備え、
前記フロー検索部は、
受信したパケットのヘッダ情報から抽出された、フローを識別するための複数のヘッダ情報項目を出力する第1処理、及び、受信したパケットのヘッダ情報から抽出された優先度を示すヘッダ情報項目を出力する第2処理のいずれかを、予め設定された設定情報に従い又はパケットのヘッダ情報の予め定められたヘッダ情報項目に従い実行する判定部と、
前記判定部から複数のヘッダ情報項目を入力し、該複数のヘッダ情報項目を検索キーにしてパケットのフローを識別し、予めフロー毎に指定された優先度を求める第1の検索手段と、
優先度を示すヘッダ情報項目に対応して、優先度が予め記憶された変換テーブルを有し、前記判定部から優先度を示すヘッダ情報項目を入力し、該優先度を示すヘッダ情報項目を検索キーにして前記変換テーブルを参照して優先度を求める、前記第1の検索手段よりも消費電力の少ない第2の検索手段と
を有し、
求められた優先度に従いパケットを転送制御する前記パケット転送装置が提供される。
本発明の第2の解決手段によると、
複数の入力回線と出力回線に接続され、各入力回線から受信したパケットをヘッダ情報によって特定される何れかの前記出力回線に転送するパケット転送装置であって、
前記入力回線を介してパケットを受信する受信回路と、
受信されたパケットのヘッダ情報に基づいて優先度を求めるフロー検索部と、
パケットを転送する中継部と、
前記中継部から転送されたパケットを、前記出力回線を介して出力する出力回路と
を備え、
前記フロー検索部は、
受信したパケットのヘッダ情報から抽出された、フローを識別するための複数のヘッダ情報項目を出力する第1処理、及び、受信したパケットのヘッダ情報から抽出されたフローを示すヘッダ情報項目を出力する第2処理のいずれかを、該フローを示すヘッダ情報項目がパケットのヘッダ情報に設定されているか否かに従い実行する判定部と、
前記判定部から複数のヘッダ情報項目を入力し、該複数のヘッダ情報項目を検索キーにしてパケットのフローを識別し、予めフロー毎に指定された優先度を求める第1の検索手段と、
前記判定部からフローを示すヘッダ情報項目を入力し、フローを示すヘッダ情報項目に対応して、優先度が予め記憶された変換テーブルを参照して優先度を求める、前記第1の検索手段よりも消費電力の少ない第2の検索手段と
を有し、
求められた優先度に従いパケットを転送制御する前記パケット転送装置が提供される。
本発明の第3の解決手段によると、
複数の入力回線と出力回線に接続され、各入力回線から受信したパケットをヘッダ情報によって特定される何れかの前記出力回線に転送するパケット転送装置であって、
前記入力回線を介してパケットを受信する受信回路と、
受信されたパケットの宛先アドレスに基づいて出力回線情報を求める経路検索部と、
出力回線情報に従いパケットを転送する中継部と、
前記中継部から転送されたパケットを、前記出力回線を介して出力する出力回路と
を備え、
前記経路検索部は、
パケットの宛先アドレスに基づき、対応する出力回線情報を求める第1の検索手段と、
パケットの宛先アドレスに基づき、対応する出力回線情報を求める前記第1の検索手段よりも消費電力の少ない第2の検索手段と、
受信したパケットの通信プロトコルに従い又は予め設定された設定情報に従い、前記第1の検索手段及び前記第2の検索手段のいずれで出力回線情報を求めるか判定する判定部と
を有する前記パケット転送装置が提供される。
本発明によると、パケット転送装置の消費電力を低減することができる。また、本発明によると、複数の検索手段を備え、必要に応じて省電力と検索キーの観点から検索手段を選択することができる。本発明によると、CAMを用いるパケット転送装置において、フロー検索及び経路検索の消費電力を低減することができる。本発明は、CAMの代わりにFFまたはRGFを検索手段とする場合、検索対象として設定できるフロー数を増加することができる。
DSドメインとしてのネットワーク構成例。 パケットヘッダの構成図。 パケット転送装置のブロック図。 パケット検索部とCAMの接続形態。 従来のCAMを使用したフロー検索部のブロック図。 CAMのフォーマット例。 RAMのフォーマット例。 QoS検索に対する本発明の設定例。 第1の実施の形態のフロー検索部のブロック図。 dscp−QOS変換テーブルのフォーマット構成図。 本発明のフローリストの設定例。 第2の実施の形態のフロー検索部のブロック図。 第3の実施の形態のフロー検索部のブロック図。 第4の実施の形態のネットワーク構成図。 本発明の第4の実施の形態のフロー検索部のブロック図。 従来のCAMを使用した経路検索部のブロック図。 ツリー検索の検索処理の流れ図。 本発明の第5の実施の形態の経路検索部のブロック図。 CAMの検索処理の流れ図。
1.第1の実施の形態
まず、第1の実施の形態について説明する。
図1は、第1の実施の形態が適用されるネットワーク構成の一例である。
RFC2475(非特許文献3)に規定されるDSドメイン110を経由して、ユーザネットワーク100に配置されたゲートウェイルータ101からユーザネットワーク120に配置されたゲートウェイルータ121へのTCP/IP通信がなされているものとする。なお、L4プロトコルはTCPではなくUDP(User Datagram Protocol)などその他のプロトコルであっても構わない。また、DSドメイン110は、Diff−serv(Differentiated Services)機能が適用されるネットワークである。DSドメイン110は、例えば、バウンダリノード111、113と、インテリアノード112とを備える。また、ゲートウェイルータ101、121は、例えば、送信端末102、122が接続される。
図2に、このIP通信のパケットヘッダを示す。IPv4通信の場合のパケットヘッダの構成はヘッダ260、IPv6通信の場合のパケットヘッダの構成はヘッダ270に示す通りである。
ユーザネットワーク100の送信端末102がゲートウェイルータ101を経由してDSドメイン110に出力したパケットを、DSドメイン110の入り口境界に配置されたバウンダリノード111が入力する。RFC2475によると、バウンダリノード111ではTCPヘッダ(L4ヘッダ部)240/IPヘッダ(L3ヘッダ部)220または230に基づいてフローを識別し、フロー毎に定義された優先度をIPヘッダ中のTOS222またはTC232の上位6ビットのdscp(DiffServ Code Point)として書き込む、マーキングと呼ばれる処理を行う。バウンダリノード111でdscpをマーキングされたパケットは、次にインテリアノード112に入力される。インテリアノード112では、バウンダリノード111でマーキングされたdscpのみに基づいてフローを識別して、dscpの優先度に従った優先制御を行う。インテリアノード112から出力されたパケットは、次にバウンダリノード113に入力される。バウンダリノード112では、TCP/IPヘッダに基づいてフローを識別して、フロー毎に定義された優先制御を実施し、ユーザネットワーク120に配置されたゲートウェイルータ121を経由して受信端末122に入力する。
本実施の形態では、DSドメイン110内のインテリアノード112に対する実施の形態を説明する。
図3に、インテリアノード112として適用されるパケット転送装置300のブロック図を示す。なお、パケット転送装置300には、例えば、パケットをルーティング転送するルータまたはパケットをスイッチング転送するスイッチ等を適用できる。
パケット転送装置300は、パケット入力用の入力回線301と、パケットの受信処理を行うパケット受信回路310と、パケット出力用の出力回線302と、入力パケットに対するパケット検索部320と、パケットを出力回線番号に基づきスイッチングするパケット中継処理手段330と、出力パケットに対するパケット検索部340と、送信バッファ350からパケットを読み出してパケットの送信処理を行うパケット送信回路360と、管理端末380からの設定情報を一時的に蓄積するレジスタ370とを備える。また、パケット転送装置300は、CAM、RAM等のメモリを備える。メモリには、例えば、フロー検索テーブル、出力回線テーブル等が記憶される。なお、メモリの詳細については後述する。パケット検索部320は、出力回線302を識別するための出力回線番号を判定する経路検索部322と、フローを検索するフロー検索部321を備える。
送信バッファ350は、優先度が定められた複数のキューを有し、フロー検索部321でのQoS判定結果に従ってパケットをキューに蓄積する。また、パケット転送装置300には管理端末380が接続されており、レジスタ370を経由してパケット転送装置300の管理と各種設定を行う。なお、図3において、入力回線301と出力回線302とがそれぞれ1回線ずつ図示されているが、ひとつのパケット受信回路に複数の回線が接続されていてもよい。また、パケット転送装置300は、入力回線、パケット受信回路、ヘッダ処理部(パケット検索部)、送信バッファ、パケット送信回路、出力回線をそれぞれ複数備えていても良い。出力側のパケット検索部340は、入力側のパケット検索部320と同様に、フロー検索部と経路検索部を有することができる。なお、出力側のパケット検索部340では、経路検索部は省略してもよい。
送信端末102、122から送信されたパケットは入力回線のひとつを介してパケット受信回路310に入力される。パケット受信回路310は、入力されたパケットをバッファで一時的に蓄積する。また、内部ヘッダに、パケットを入力した入力回線301の番号を格納する。パケット受信回路310は、入力回線番号を含む内部ヘッダとパケットヘッダ260または270をパケット検索部320に送信する。
パケット検索部320のフロー検索部321は、内部ヘッダとパケットヘッダ260または270で、フロー検索テーブルを検索する。検索されたフロー毎に予め設定されたフィルタリングによる転送可否やQoSを判定して、判定結果をパケット受信回路310に返す。
またパケット検索部320の経路検索部322は、内部ヘッダとパケットヘッダ260または270で、経路テーブルを検索する。検索された経路毎に予め設定されたパケットの出力回線番号を判定して、判定結果をパケット受信回路310に返す。
パケット受信回路310では、パケット検索部320でのフロー検索結果と経路検索結果を内部ヘッダに追加し、パケットヘッダ260または270と共にパケットをパケット中継処理手段330に転送する。フロー検索結果が、フィルタリングで転送しないと判定された場合は、パケット中継処理手段330にパケットを転送することなく、パケットを廃棄する。パケット中継処理手段330では、内部ヘッダの経路検索結果に含まれるパケットの出力回線番号に基づいて、パケットの出力回線を収容するパケット送信回路360に転送する。送信バッファ350では、内部ヘッダのフロー検索結果に含まれるQoSに従って送信バッファ350の所望のキューにパケットを蓄積する。パケット検索部340は、パケット送信回路360からの内部ヘッダ及びパケットヘッダに基づいて、フロー検索、経路検索を実行する。なお、経路検索は省略してもよい。パケット送信回路360は、送信バッファ350からパケットを読み出して出力回線320からパケットの送信処理を行う。
パケット検索部320のフロー検索部321におけるフロー検索と、経路検索部322における経路検索では、検索を高速化するため検索専用のデバイスCAM400を使用する。図4に、CAM400とフロー検索部321および経路検索部322の接続形態として、(i)と(ii)の二種類を示す。本実施の形態は、(i)、(ii)の接続形態のいずれにも適用可能である。
図4の(i)では、二つのCAM400を用いる。フロー検索部321とCAM400−1、経路検索部322ともうひとつのCAM400−2は互いに独立に接続されており、フロー検索部321と経路検索部322がそれぞれCAMを占有して使用することができる。
図4の(ii)では、パケット検索部320は、CAM制御調停部323をさらに備え、一つのCAM400を用いる。フロー検索部321からの検索要求と経路検索部322からの検索要求は、CAM制御調停部323で調停されて、互いの検索要求が衝突することなくCAM400に検索要求がかかる。検索結果についてもCAM制御調停部323で判定が行われ、フロー検索部321からの検索要求に対する検索結果はフロー検索部321へ、経路検索部322からの検索要求に対する検索結果は経路検索部322へ返される。このように、(ii)ではフロー検索部321と経路検索部322が一つのCAM400を共有して使用することができる。
(i)の場合は、CAM400を複数処理してしまうことによるコスト増を伴うが、検索速度は(ii)の場合の2倍となり、さらに、CAM制御調停部323を必要としないメリットもある。(ii)場合は、CAM400が一つで済むためにコストを低減できるが、検索速度は(i)の場合の半分となり、さらに、CAM制御調停部323も必要とする。
図5に、CAMを使用する従来のフロー検索部1321の構成の一例を示す。図6は、フロー検索テーブルの構成例である。なお、図5に示す構成及び以下の説明は、本実施の形態の理解を補助するためのものであって、必ずしも従来技術を構成するものではない。
フロー検索部1321は、例えば、フロー検索条件抽出部500と、CAM制御部501と、RAM制御部502と、フロー処理判定部504を有する。CAM400には、フロー検索テーブルが記憶され、RAM401には、優先度テーブルが記憶されている。
フロー検索部1321のフロー検索条件抽出部500は、パケット受信回路310から入力回線番号を含む内部ヘッダとパケットヘッダ260または270を受信し、このうちフロー検索に必要となる情報を抽出してCAM制御部501に送信する。例えば、CAM400で構成されたフロー検索テーブルが図6のように入力回線番号と、送信元MACアドレスと、宛先MACアドレスと、送信元IPアドレスと、宛先IPアドレスと、TOSと、送信元ポート番号と、宛先ポート番号をフロー検索条件とするフローエントリ601〜608を含む場合、フロー検索条件抽出部500は内部ヘッダの入力回線番号と、パケットヘッダ260の送信元MACアドレスと、宛先MACアドレスと、送信元IPアドレスと、宛先IPアドレスと、TOSと、送信元ポート番号と、宛先ポート番号をCAM制御部501に送信する。
図6において「d.c.」と記載されたフィールド項目はマスクビットで構成されており、フロー検索の一致判定に当該フィールドの値は用いられない。フィルタリング、QoSなど複数のフロー検索の用途がある場合、フロー検索テーブルは用途毎に独立に所持する。例えば、フィルタリング用のフロー検索テーブルとQoS用のフロー検索テーブルは独立に所持する。以下、QoS用のフロー検索テーブルの検索処理について説明する。
CAM制御部501は、フロー検索条件抽出部500から送信された入力回線番号を含む内部ヘッダとパケットヘッダ260または270をフロー検索テーブルのフォーマットに合わせて並べ替えた情報を検索キーとして、フロー検索テーブルを構成するCAM400に対する検索要求信号と共にCAM400へ送信する。CAM400は、CAM制御部501から送信された検索キーでフロー検索テーブルを検索し、検索キーに一致するフローエントリのアドレスをヒットアドレスとしてCAM制御部501に返す。CAM制御部501は、CAM400から送信されたヒットアドレスをRAM制御部502へ送信する。
RAM制御部502は、CAM制御部501から送信されたヒットアドレスから、これに対応してRAM401を参照する際のアドレスを計算して、計算されたアドレスをリードアドレスとしてRAM401に対しリード要求を行う。
図7に、RAM401の優先度テーブル401の構成例を示す。
優先度テーブル401は、フローエントリ601〜608に対応して、各フローエントリに一致したフローに対する優先度が設定された優先度エントリ701〜703を有する。RAM401は、入力されたリードアドレスのエントリに設定されたデータ(優先度)をリードデータとして、RAM制御部502へ送信する。RAM制御部502は、RAM401から送信されたリードデータをフロー処理判定部504へ送信する。フロー処理判定部504は、リードデータからQoSの判定処理に必要な情報を抽出して、QoSの判定結果を得る。フロー処理判定部504は、QoSの判定結果をパケット受信回路310へ送信する。
なお、CAM400やRAM401に対するテーブル設定を可能とするため、フロー検索部321には管理端末380が接続されており、管理端末380からの設定情報は一時的にレジスタ370に蓄積される。レジスタ370から読み出された情報に従って、CAM400を制御するCAM制御部501がCAM400の管理と各種設定を行う。またRAMを制御するRAM制御部502がRAM401の管理と各種設定を行う。
図9に、本実施の形態のフロー検索部321の構成図を示す。
本実施の形態のフロー検索部321は、図5に示されたCAMを使用するフロー検索部1321の構成に加えて、CAM検索起動判定部901と、dscp−QOS変換テーブル制御部902と、dscp−QOS変換テーブル903とをさらに備える。
図10に、dscp−QOS変換テーブル903の構成例を示す。
dscp−QOS変換テーブル903は、例えば、dscpから一意にQoSを判定するためのテーブルである。dscp−QOS変換テーブル903は、例えば、図10に示す通り、dscpの値0〜63に対応して、各dscpをもつフローに対する優先度が設定された優先度エントリ1001〜1003を有する。
dscpのとる値の範囲は、現在のヘッダ情報の仕様では0〜63に限られるので、dscp−QOS変換テーブル903は最大64エントリを所持すれば良い。従って、大容量のCAMを使用する必要はなく、FF(Flip Flop)またはRGF(Register File)等、ビット容量の小さな物理デバイスで構成することができる。ビット容量が小さいので、参照される際の消費電力を抑えられる。なお、パケットのヘッダの拡張等によりdscpのビット数が変わる場合、又は、dscpに変わる値を用いる場合、dscp−Qos変換テーブルは、ビット数に応じたエントリ数を有することができる。
また、dscp−QOS変換テーブル903に対し、dscpから一意に計算されるリードアドレスで1回リードアクセスすればQoSを判定できるので、検索性能の観点からもCAMに対し遜色のない性能が得られる。
dscpから一意にQoSを判定する場合のフロー検索にCAMを適用すると、図6を参照すれば分かるように、フロー検索の一致判定に含める必要のない入力回線、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号のフィールドについてもマスクビットをxとして「d.c.」の設定をする必要があり、CAMのビット容量を無駄に浪費してしまう。
これに対しdscp−QOS変換テーブル903を適用すれば、図10を参照すると分かるように、フロー検索の一致判定に含める必要のないフィールドに対応する設定は必要ないので、dscp−QOS変換テーブル903のビット容量を無駄に浪費してしまうことはない。CAMのビット容量を無駄に消費せず、dscp−QOS変換テーブル903自体もビット容量の小さな物理デバイスで構成することができるので、フローエントリのビット使用効率が向上することとなり、検索対象として設定できるフロー数を増加することができる。
図8に、CAM検索起動の可否に関する、ユーザインタフェース(管理端末)からの設定例を示す。CAM検索起動判定部901には管理端末380からレジスタ370を経由した設定が可能となっており、この設定に応じてCAM検索を起動するか、起動しないか選択可能となっている。図8は、装置設定としてQoSの検索時にCAM検索を起動せず、より消費電力の低い検索手段を選択する設定のための指示入力(またはコマンド)の例である。
CAM検索を起動する設定では、CAM検索起動判定部901は、受信したパケットのヘッダ情報から抽出された、フローを識別するための複数のヘッダ情報項目をCAM制御部501に出力する(第1処理)。
CAM検索を起動しない設定では、CAM検索起動判定部901は、フロー検索条件抽出部500から送信されたパケットヘッダ260または270のうち、さらにdscpを抽出してdscp−QOS変換テーブル制御部902へ送信する(第2処理)。なお、フロー検索条件抽出部500の機能をCAM検索起動判定部901に含め、CAM検索を起動しない場合はCAM検索起動判定部901がヘッダ情報からdscpを抽出し、CAM検索を起動する場合はCAM検索起動判定部901が上述のフロー検索条件抽出部500と同様に検索キーを抽出するようにしてもよい。dscp−QOS変換テーブル制御部902では、CAM検索起動判定部901から送信されたdscpから、これに対応してdscp−QOS変換テーブル903を参照する際のアドレスを計算して、計算されたアドレスをリードアドレスとしてdscp−QOS変換テーブル903に対しリード要求を行う。
dscp−QOS変換テーブル903は、リードアドレスのエントリに設定されたデータ(優先度)をリードデータとして、dscp−QOS変換テーブル制御部902へ送信する。dscp−QOS変換テーブル制御部902は、dscp−QOS変換テーブル903から送信されたリードデータをフロー処理判定部504へ送信する。フロー処理判定部504は、リードデータからQoSの判定処理に必要な情報を抽出して、QoSの判定結果を得る。
送信側のパケット検索部340でも、上述の受信側と同様に本実施の形態を適用することができる。受信側のパケット検索部320で出力回線番号、QoSを決定されたパケットは、出力回線番号に基づきパケット中継処理手段330によってスイッチングされ、パケット送信回路360に入力する。パケット送信回路360では、入力されたパケットをバッファで一時的に蓄積するとともに、出力回線番号を含む内部ヘッダとパケットヘッダ260または270をパケット検索部340に送信する。パケット検索部340では、前述の実施の形態と同様に本実施の形態を適用し、以下に示す効果を得ることができる。
以上に示した第1の実施の形態によれば、Diffservのインテリアノード112においてdscpの優先度に従った優先制御を行う際に、消費電力は高いが検索キーとなるヘッダ情報のビット長、項目数等が多い第1の検索手段としてCAM400で構成されたフロー検索テーブルと、消費電力は低いが検索キーとなるヘッダ情報のビット長、項目数等が少ない第2の検索手段としてFFまたはRGFで構成されたdscp−QOS変換テーブル903を用意しておき、必要に応じて省電力と検索キーの観点から最適な検索手段を選択することができる。検索対象として設定できるフロー数を増加することができる。検索手段の選択は、パケット転送装置の管理者の判断に基づいて管理端末から装置設定として予め行うことができる。
2.第2の実施の形態
次に、第2の実施の形態について説明する。第2の実施の形態において、第1の実施の形態と同一の符号を有するブロックは基本的に同一の構成・作用を有するため、主に本実施の形態に特徴的な構成について説明し、第1の実施の形態と同様の点は、特に必要な場合を除き説明を省略する。第2の実施の形態のパケット転送装置300のブロック図は図3に示す通りであり、第1の実施の形態と同様である。
図12に、第2の実施の形態におけるフロー検索部321のブロック図を示す。
第2の実施の形態のフロー検索部321は、図9に示された第1の実施の形態のフロー検索部321に加えて、フローリスト毎省電力設定テーブル制御部1201と、フローリスト毎省電力設定テーブル1202とをさらに備える。
フローリストとは、入力回線または出力回線、または論理的な入力インタフェースとして例えば入力VLAN(Virtual Local Area Network)、または論理的な出力インタフェースとして例えば出力VLANが共通するフローエントリの集合として構成されるリストである。例えば図6のフロー検出テーブルの場合、フローエントリ604〜606は入力回線番号が10で共通しているので、一つのフローリストとみなせる。フロー定義はネットワークを使用するユーザ毎に設定するものであり、かつネットワークを使用するユーザは共通の入力回線または出力回線または入力VLANまたは出力VLANを使用する。従って、省電力設定を含むフロー定義の管理はフローリスト毎に行うのが望ましく、これを実現するためにフローリスト毎省電力設定テーブル1202を所持する。
フローリスト毎省電力設定テーブル1202に対するテーブル設定は、例えば、管理端末380から行う。管理端末380からの設定情報は一時的にレジスタ370に蓄積される。レジスタ370から読み出された情報に従って、フローリスト毎省電力設定テーブル1202を制御するフローリスト毎省電力設定テーブル制御部1201が、フローリスト毎省電力設定テーブル1202の管理と各種設定を行う。
図11に、フローリスト毎省電力設定テーブル1202の構成及びユーザインタフェースからの設定例を示す。
図11は,入力回線(input_port)1、2、4、1000等からの入力パケットに対しては、QoSの検索時にCAM検索を起動せず、より消費電力の低い検索手段を選択し(省電力設定on)、一方、入力回線3、5等からの入力パケットに対しては、QoSの検索時にCAM検索を起動する(省電力設定off)設定例である。図11(a)は、ユーザインタフェースからの指示入力の例である。図11(b)は、フローリスト毎省電力設定テーブル1202の構成例であり、図11(a)の指示に従い設定された例である。
CAM検索起動判定部901では、フロー検索条件抽出部500から送信された内部ヘッダの入力回線番号をフローリスト毎省電力設定テーブル制御部1201へ送信する。なおフローリストを出力回線毎に構成する場合は、以下の説明で入力回線番号を出力回線番号と読み替えた処理を行う。同様に、フローリストを入力VLAN、または出力VLAN毎などに構成する場合は、以下の説明で入力回線番号を入力VLANまたは出力VLANなどと読み替えた処理を行う。
フローリスト毎省電力設定テーブル制御部1201では、CAM検索起動判定部901から送信された入力回線番号から、これに対応してフローリスト毎省電力設定テーブル1202を参照する際のアドレスを計算して、計算されたアドレスをリードアドレスとしてフローリスト毎省電力設定テーブル1202に対しリード要求を行う。フローリスト毎省電力設定テーブル1202は、リードアドレスのエントリに設定されたデータ(省電力設定情報)をリードデータとして、フローリスト毎省電力設定テーブル制御部1201へ送信する。
フローリスト毎省電力設定テーブル制御部1201は、フローリスト毎省電力設定テーブル1202から送信されたリードデータをCAM検索起動判定部901へ送信する。CAM検索起動判定部901は、リードデータからCAM検索起動の要否を判定する。CAM検索起動判定部901は、例えば、省電力設定情報がoffである場合CAM検索起動をすると判定し、一方、省電力設定情報がonである場合には、CAM検索起動しないと判定する。
CAM検索を起動する場合には、フロー検索条件抽出部500から送信された内部ヘッダの入力回線と、パケットヘッダ260または270の送信元MACアドレスと、宛先MACアドレスと、送信元IPアドレスと、宛先IPアドレスと、TOSまたはTCと、送信元ポート番号と、宛先ポート番号をCAM制御部501に送信して、上述の第1の実施の形態と同様にCAM検索を起動してQoSを判定する。
CAM検索を起動しない場合には、CAM検索起動判定部901は、フロー検索条件抽出部500から送信されたパケットヘッダ260または270のうち、さらにdscpを抽出してdscp−QOS変換テーブル制御部902へ送信し、上述の第1の実施の形態と同様にdscpからQoSを判定する。
以上に示した第2の実施の形態によれば、パケット転送装置の管理者の判断に基づいて、パケットの入力回線または出力回線または論理的な入力インタフェースとして例えば入力VLANまたは論理的な出力インタフェースとして例えば出力VLAN毎に、フロー検索部が有する複数の検索手段のうちCAM検索またはdscp−QOS変換テーブル903を選択してQoSを判定できる。
詳細なフロー定義に基づいて木目細かくQoS判定する必要のあるユーザに対してはCAM検索を実施し、dscpのみに基づいて簡易にQoS判定すれば良いユーザに対してはdscp−QOS変換テーブル903に基づいてQoS判定する。これにより、dscpのみに基づいて簡易にQoS判定すれば良い場合には、CAM検索起動に伴う消費電力を抑えることができる。
3.第3の実施の形態
第3の実施の形態について説明する。第3の実施の形態において、第1の実施の形態と同一の符号を有するブロックは基本的に同一の構成・作用を有するため、主に、本実施の形態に特徴的な構成について説明し、第1の実施の形態と同様の点は特に必要な場合を除き説明を省略する。第3の実施の形態のパケット転送装置300のブロック図は図3に示す通りであり、第1の実施の形態と同様である。
図13に、第3の実施の形態のフロー検索部321のブロック図を示す。
第3の実施の形態のフロー検索部321は、図9に示された第1の実施の形態のフロー検索部321において、CAM検索起動判定部901にdscp判定部1301を備える。
Diffservでは、マーキングされたdscpの値とQoSの関係は、PHB(Per Hop Behavior)としてRFC2597(Assured Forwarding PHB Group)およびRFC2598(An Expedited Forwarding PHB)で定義されている。これらのRFCでは、マーキングされた0以外の値をもつdscpに対するQoSが定義されている。一方、マーキングがなされていない状態ではdscpは0であり、最低優先のベストエフォートとして扱われる。
そこで、dscp判定部1301では、フロー検索条件抽出部500から送信されたパケットヘッダ260または270のdscpの値を判定する。dscpが0でない値の場合にはマーキング済と判断して、CAM検索を起動せず、CAM検索起動判定部901は、dscpをdscp−QOS変換テーブル制御部902へ送信し、上述と同様にdscpからQoSを判定する。一方、dscpが0である場合は、マーキングが未実施の可能性があるため、CAM制御部501に内部ヘッダとパケットヘッダを出力したCAM検索を起動してQoSを判定する。
以上に示した第3の実施の形態によれば、dscpがマーキング未実施のパケットに対してはCAM検索を起動して詳細なフロー定義に基づいて木目細かくQoS判定すると共に、dscpがマーキング済のパケットに対してはCAM検索を起動せず、dscpのみに基づいて簡易にQoS判定することで、CAM検索起動に伴う消費電力を抑えることができる。
4.第4の実施の形態
第4の実施の形態について説明する。第4の実施の形態において、第1の実施の形態と同一の符号を有するブロックは基本的に同一の構成・作用を有するため、特に必要な場合を除き説明を省略する。
図14に、第4の実施の形態のパケット転送装置が適用されるネットワーク構成図を示す。
ユーザネットワーク100とユーザネットワーク120は図1と同様の構成であるが、IPv6で通信しているものとする。IPv6ヘッダ230のフローラベル233はまだ具体的に定義されておらず、将来的に定義される計画も未定の状況である。従って、フローラベル233は一般的に未使用となっている。RFC3697(IPv6 Flow Label Specification)によると、IPv6通信している送信端末102は、送信パケットを特定のフローとして扱う場合に限りフローラベル233を0でない値に設定し、フローラベル233を使用せずに通信する場合はフローラベル233として0を設定することとなっている。従って、送信端末102がフローラベル233を使用せずに通信している場合、そのフローラベル233は0となっている。
ユーザネットワーク100の送信端末102がゲートウェイルータ101を経由してキャリアネットワーク1400に出力したパケットは、キャリアネットワーク1400の入り口境界に配置されたエッジノード1401に入力される。
キャリアネットワーク1401内では、エッジノード1401からコアノード1402を経由してエッジノード1403に至るまで統一的にフローを扱うものとする。エッジノード1401にパケットが入力すると、エッジノード1401でフロー検索して、入力パケットがあてはまるフローを識別する。
エッジノード1401への入力パケットのフローラベル233が0である場合、フロー検索の結果として識別されたフローを示すコードでフローラベル233を書き換える。フローラベルは20ビットあるので、およそ100万フローまでをフローラベルで識別することができる。また、フローラベルを書き換えたことを示すフローラベル書き換えフラグを、TCの未使用フィールドである最下位ビットに設定しておく。なお、フローラベル書き換えフラグの設定フィールドは、未使用のフィールドでさえあれば、TCの未使用フィールドでなくとも適宜のフィールドでも構わない。
エッジノード1401への入力パケットのフローラベル233が0でない場合、フローラベルは使用されているので、フローラベルの書き換えは行わず、フローラベル書き換えフラグを設定しない。
エッジノード1401でフローラベル233の書き換えが行われた後、パケットはコアノード1402に入力され、フローラベル233に基づいたフロー検索が実行される。その後、パケットはエッジノード1403に入力し、フローラベル書き換えフラグが設定されている場合にはフローラベル値を0に書き戻した上でユーザネットワーク120のゲートウェイルータ121に入力する。フローラベル書き換えフラグが設定されていない場合には、フローラベル233を0に書き換えずそのままユーザネットワーク120のゲートウェイルータ121に入力する。
第4の実施の形態のパケット転送装置は、例えば、コアノード1402として適用される。第4の実施の形態のパケット転送装置300のブロック図は図3に示す通りであり、第1の実施の形態と同様である。
図15に、第4の実施の形態で本発明を適用するフロー検索部321のブロック図を示す。
第4の実施の形態のフロー検索部321は、図9に示された第1の実施の形態のフロー検索部321に加えて、CAM検索起動判定部901にTC判定部(フラグ判定部)1501を備え、RAM制御部502にフローラベル判定部1502を備える。
TC判定部1501では、フロー検索条件抽出部500から送信されたパケットヘッダ260または270のフローラベル書き換えフラグであるTCの最下位ビットを参照する。
フローラベル書き換えフラグが設定されている場合には、CAM検索を起動せずフローラベル233をRAM制御部502に送信する。RAM制御部502は、CAM検索起動判定部901から送信されたフローラベル233から、これに対応してRAM401を参照する際のアドレスを計算して、計算されたアドレスをリードアドレスとしてRAM401に対しリード要求を行う。以下、第1の実施の形態に説明した場合と同様にしてQoSが判定される。
一方、フローラベル書き換えフラグが設定されていない場合には、CAM検索を起動してQoSを判定する。
以上に示した第4の実施の形態によれば、送信端末102がフローラベル233を使用せずに通信している場合、エッジノード1401でフローラベル233にフローを示すコードを付与することで、CAM検索を起動せずにフローラベル233から直接RAMを参照するリードアドレスを得てQoSを判定できる。従って、CAM検索起動に伴う消費電力を抑えることができる。
また、IPv6のように長大な検索キーによるCAM検索では、CAMの検索性能が低下してしまうという課題がある(「IPv6対応高速フロー識別方式の検討」(石川、2002年9月、電子情報通信学会ソサイエティ大会)参照)。第4の実施の形態によれば、フローが集約されて特に高速な検索性能が求められるコアノード1402においてCAM検索を起動せずQoSを判定できるので、コアノード1402におけるIPv6のフロー検索性能の低下を防止する効果もある。
5.第5の実施の形態
第5の実施の形態について説明する。第5の実施の形態において、第1の実施の形態と同一の符号を有するブロックは基本的に同一の構成・作用を備えるため、特に必要な場合を除き説明を省略する。
第5の実施の形態のパケット転送装置300のブロック図は図3に示す通りであり、第1の実施の形態と同様である。
図16に、CAMを使用する従来の経路検索部1322の構成の一例を示す。なお、図16に示す構成及び以下の説明は、本実施の形態の理解を補助するためのものであって、必ずしも従来技術を構成するものではない。
経路検索部1322の宛先IPアドレス抽出部1601は、パケット受信回路310からパケットヘッダ260または270を受信し、このうち経路検索に必要となる宛先IPアドレス225または236とIDバージョン値221または231とを抽出してCAM制御部501に送信する。
CAM制御部501は、宛先IPアドレス抽出部1601から送信されたIPv4/IPv6を識別するIPバージョン値と宛先IPアドレス225または236を検索キーとして、経路テーブルを構成するCAM400に対する検索要求信号と検索キーをCAM400へ送信する。CAM400は、CAM制御部501から送信された検索キーで経路テーブルを検索し、検索キーに一致する経路エントリのアドレスをヒットアドレスとしてCAM制御部501に返す。CAM制御部501は、CAM400から送信されたヒットアドレスを出力回線テーブル制御部1602へ送信する。出力回線テーブル制御部1602は、CAM制御部501から送信されたヒットアドレスから、これに対応して出力回線テーブル1610を参照する際のアドレスを計算して、計算されたアドレスをリードアドレスとして出力回線テーブル1610に対しリード要求を行う。
図17に、出力回線テーブル1610の構成図を示す。
出力回線テーブル1610は、経路エントリに対応して、各経路エントリに一致したパケットに対する出力回線情報(例えば出力回線番号)が設定された出力回線エントリ1611〜1615を有する。出力回線テーブル1610は、リードアドレスのエントリに設定されたデータをリードデータとして、出力回線テーブル制御部1602へ送信する。
出力回線テーブル制御部1602は、出力回線テーブル1610から送信されたリードデータを出力回線判定部1603へ送信する。出力回線判定部1603は、リードデータから出力回線の判定処理に必要な情報を抽出して、出力回線の判定結果を得る。出力回線判定部1603は、出力回線の判定結果をパケット受信回路310へ送信する。
なお、CAM400や出力回線テーブル1610に対するテーブル設定を可能とするため、経路検索部1322には管理端末380が接続されており、管理端末380からの設定情報は一時的にレジスタ370に蓄積される。レジスタ370から読み出された情報に従って、CAM400を制御するCAM制御部501がCAM400の管理と各種設定を行う。また、出力回線テーブル1610を制御する出力回線テーブル制御部1602が出力回線テーブル1610の管理と各種設定を行う。
次に、CAMを使用しない場合の経路検索として代表的なツリー検索の概念について、図17を参照して説明する。ツリー検索の場合、宛先IPアドレス1710の上位ビットから順に、ビットの値「0」と「1」に従ってツリーテーブル1720の分岐を辿っていく。なおツリーテーブルには一般に、SDRAM(Synchronous Dynamic Random Access Memory)のように容量の大きいメモリデバイスが適用される。図17の例では、宛先IPアドレス1710の値010・・・0の値に従って、ツリーテーブル1720の分岐を太線に沿って順に辿っていく。
図17の例では、宛先IPアドレス1710の最初のビットb0は0であり、この値に対応するツリーテーブル1720のエントリを読み出すと、そこには次のビットb1の値に応じて、次にツリーテーブル1720を読み出す際のリードアドレスとして、b1=0に対するADR00とb1=1に対するADR01が記載されている。宛先IPアドレス1710のb1=1なので、次にツリーテーブル1720をリードアドレスADR01で読み出す。すると、そこには次のビットb2の値に応じて、各分岐を分岐の最終段まで辿ると、次にツリーテーブル1720を読み出す際のリードアドレスとして、b2=0に対するADR010とb1=1に対するADR011が記載されている。宛先IPアドレス1710のb2=0なので、次にツリーテーブル1720をリードアドレスADR010で読み出す。すると、以降、分岐が存在する限り同様の処理を繰り返す。図17の例では宛先IPアドレス1710の最後のビットbnに対する分岐まで存在するので、最後にbn=0に対応してツリーテーブル1720をリードアドレスADR0100で読み出す。ここで分岐は終了して、出力回線を判定することができる。
ツリーテーブル1720をリードアドレスADR0100のエントリを読み出すと、そこには出力回線テーブル1610の出力回線エントリ1612のアドレスADR1が記載されている。次に、出力回線テーブル1610をリードアドレスADR1で読み出すと、そこには宛先IPアドレス1710に対する出力回線1が記載されていて、宛先IPアドレス1710をもつパケットに対する出力回線を判定することができる。
このように、ツリー検索ではツリーの分岐の数だけツリーテーブルを読み出すこと必要なので、宛先IPアドレスでチェックすべきビット数が長くなるほど検索性能が低下してしまう。従って、128ビットのIPアドレスをもつIPv6よりも、32ビットのより短いIPアドレスをもつIPv4に向いた検索方式である。
図18に、本実施の形態の経路検索部322の構成図を示す。主に、本実施の形態に特徴的な構成について説明し、上述の経路検索部1322と同様の構成は同じ符号を付し説明を省略する。
第5の実施の形態の経路検索部322は、図16に示されたCAMを使用する経路検索部1322に加えて、IPVER判定部1801を有するCAM検索起動判定部901と、ツリーテーブル制御部1802と、ツリーテーブル1720をさらに備える。上述の通り、IPv6はIPアドレスが長大でツリー検索には向いていないのでCAM400で検索することで検索性能を高速化し、IPv4にはCAM400よりも消費電力の低いSDRAMを用いたツリー検索を用いることで消費電力を低減する。
なお、CAM400や出力回線テーブル1610、ツリーテーブル1720に対するテーブル設定を可能とするため、経路検索部322には管理端末380が接続されており、管理端末380からの設定情報は一時的にレジスタ370に蓄積される。レジスタ370から読み出された情報に従って、CAM400を制御するCAM制御部501がCAM400の管理と各種設定を行う。また出力回線テーブル1610を制御する出力回線テーブル制御部1602が出力回線テーブル1610の管理と各種設定を行う。またツリーテーブル1720を制御するツリーテーブル制御部1802がツリーテーブル1720の管理と各種設定を行う。
CAM検索起動判定部901では、宛先IPアドレス抽出部500から送信されたIPバージョン値221、231をIPVER判定部1801で判定する。
IPVER判定部1801で判定されたIPバージョンがIPv4の場合にはCAM検索を起動しないと判定し、宛先IPアドレス抽出部500から送信された宛先IPアドレス225を検索キーとして、ツリーテーブル制御部1802へ送信する。ツリーテーブル制御部1802は、CAM検索起動判定部901から送信された宛先IPアドレス225に従ってツリーテーブル1720を検索し、この宛先IPアドレス225に対応する出力回線テーブル1610を参照する際のリードアドレスを出力回線テーブル制御部1602へ送信する。
一方、IPVER判定部1801で判定されたIPバージョンがIPv6の場合にはCAM検索を起動すると判定し、宛先IPアドレス抽出部500から送信された宛先IPアドレス236を検索キーとして、CAM制御部501へ送信する。CAM制御部501は、CAM検索起動判定部901から送信された宛先IPアドレス236を検索キーとして、経路テーブルを構成するCAM400に対する検索要求信号と検索キーをCAM400へ送信する。CAM400は、CAM制御部501から送信された検索キーで経路テーブルを検索し、検索キーに一致する経路エントリのアドレスをヒットアドレスとしてCAM制御部501に返す。CAM制御部501は、CAM400から送信されたヒットアドレスを出力回線テーブル制御部1602へ送信する。出力回線テーブル制御部1602は、CAM制御部501から送信されたヒットアドレスから、これに対応して出力回線テーブル1610を参照する際のリードアドレスを計算する。
以上の処理により、IPv4、IPv6いずれの場合でも出力回線テーブル制御部1602は出力回線テーブル1610を参照する際のリードアドレスを得られる。出力回線テーブル制御部1602は、このリードアドレスで出力回線テーブル1610に対しリード要求を行う。出力回線テーブル1610は、リードアドレスのエントリに設定されたデータ(出力回線番号)をリードデータとして、出力回線テーブル制御部1602へ送信する。出力回線テーブル制御部1602は、出力回線テーブル1610から送信されたリードデータを出力回線判定部1603へ送信する。出力回線判定部1603は、リードデータから出力回線の判定処理に必要な情報を抽出して、出力回線の判定結果を得る。出力回線判定部1603は、出力回線の判定結果をパケット受信回路310へ送信する。
以上に示した第5の実施の形態によれば、IPv6はIPアドレスが長大でツリー検索には向いていないので、CAMで検索することで検索性能を高速化できる。同時にIPv4にはCAMよりも消費電力の低いSDRAMを用いたツリー検索を用いることで、消費電力を低減することができる。
なお、IPバージョンによりCAM検索起動を判定する以外にも、第1の実施の形態のように管理端末380により予め設定された設定情報に従い、CAM検索起動と判定してもよい。また、第2の実施の形態のように、入力回線等のフローリスト毎にCAM起動をするか否かが設定されていてもよい。
以上、種々の実施例について説明したが、これらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成をとることができる。
本発明は、例えば、ネットワークを構成するパケット転送装置に利用可能である。
100 ユーザネットワーク
101 ユーザネットワーク100に配置されるゲートウェイルータ
102 ユーザネットワーク101内の送信端末
110 ユーザネットワーク100とユーザネットワーク120に接続されるDSドメイン
111 DSドメイン110の入り口境界に配置されるバウンダリノード
112 DSドメイン110に配置されるインテリアノード
113 DSドメイン110の出口境界に配置されるバウンダリノード
120 ユーザネットワーク
121 ユーザネットワーク120に配置されるゲートウェイルータ
122 ユーザネットワーク121内の送信端末
210 L2ヘッダ部
211 L2ヘッダ部210に含まれる宛先MACアドレス
212 L2ヘッダ部210に含まれる送信元MACアドレス
213 L2ヘッダ部210に含まれるイーサタイプ
220 IPv4パケットのL3ヘッダ部
221 L3ヘッダ部220に含まれるIPバージョン
222 L3ヘッダ部220に含まれるTOS(DSCP)
223 L3ヘッダ部220に含まれるL4プロトコル
224 L3ヘッダ部220に含まれる送信元IPアドレス
225 L3ヘッダ部220に含まれる宛先IPアドレス
240 L4ヘッダ部
241 L4ヘッダ部240に含まれる送信元ポート
242 L4ヘッダ部240に含まれる宛先ポート
250 データ部
251 データ部250に含まれるデータ
230 IPv6パケットのL3ヘッダ部
231 L3ヘッダ部230に含まれるIPバージョン
232 L3ヘッダ部230に含まれるTC(DSCP)
233 L3ヘッダ部230に含まれるフローラベル
234 L3ヘッダ部230に含まれるNHD
235 L3ヘッダ部230に含まれる送信元IPアドレス
236 L3ヘッダ部230に含まれる宛先IPアドレス
300 パケット転送装置
301 入力回線
302 出力回線
310 パケット受信回路
320 入力側のパケット検索部
321 フロー検索部
322 経路検索部
323 CAM制御調停部
330 パケット中継処理手段
340 出力側のパケット検索部
350 送信バッファ
360 パケット送信回路
370 レジスタ
380 管理端末
400 CAM
500 フロー検索条件抽出部
501 CAM制御部
502 RAM制御部
504 フロー処理判定部
601〜608 フローエントリ
701〜703 優先度エントリ
901 CAM検索起動判定部
902 dscp−QOS変換テーブル制御部
903 dscp−QOS変換テーブル
1001〜1003 優先度エントリ
1201 フローリスト毎省電力設定テーブル制御部
1202 フローリスト毎省電力設定テーブル
1301 dscp判定部
1400 キャリアネットワーク
1401 キャリアネットワーク1400の入り口境界に配置されるエッジノード
1402 キャリアネットワークに配置されるコアノード
1403 キャリアネットワーク1400の出口境界に配置されるエッジノード
1410 キャリアネットワーク1400内を転送されるIPv6パケット
1501 TC判定部
1502 フローラベル判定部
1601 宛先IPアドレス抽出部
1602 出力回線テーブル制御部
1603 出力回線判定部
1610 出力回線テーブル
1611〜1615 出力回線エントリ
1710 宛先IPアドレス
1720 ツリーテーブル
1801 IPVER判定部
1802 ツリーテーブル制御部
1900〜1909 検索エントリ
1910 検索キー
1911 ヒットアドレス

Claims (4)

  1. 複数の入力回線と出力回線に接続され、各入力回線から受信したパケットをヘッダ情報によって特定される何れかの前記出力回線に転送するパケット転送装置であって、
    前記入力回線を介してパケットを受信する受信回路と、
    受信されたパケットのヘッダ情報に基づいて優先度を求めるフロー検索部と、
    パケットを転送する中継部と、
    前記中継部から転送されたパケットを、前記出力回線を介して出力する出力回路と
    を備え、
    前記フロー検索部は、
    受信したパケットのヘッダ情報から抽出された、フローを識別するための複数のヘッダ情報項目を出力する第1処理、及び、受信したパケットのヘッダ情報から抽出された優先度を示すヘッダ情報項目を出力する第2処理のいずれかを、パケットのヘッダ情報の予め定められたヘッダ情報項目に従い実行する判定部と、
    前記判定部から複数のヘッダ情報項目を入力し、該複数のヘッダ情報項目を検索キーにしてパケットのフローを識別し、予めフロー毎に指定された優先度を求める第1の検索手段と、
    優先度を示すヘッダ情報項目に対応して、優先度が予め記憶された変換テーブルを有し、前記判定部から優先度を示すヘッダ情報項目を入力し、該優先度を示すヘッダ情報項目を検索キーにして前記変換テーブルを参照して優先度を求める、前記第1の検索手段よりも消費電力の少ない第2の検索手段と
    を有し、
    前記判定部が参照する前記予め定められたヘッダ情報項目は、優先度を示すヘッダ情報項目の値を含み、
    求められた優先度に従いパケットを転送制御する前記パケット転送装置。
  2. 前記予め定められたヘッダ情報項目は、dscp値であり、
    dscp値が0のとき前記第1の検索手段により優先度を求め、dscp値が0以外のとき前記第2の検索手段により優先度を求める請求項1に記載のパケット転送装置。
  3. 前記予め定められたヘッダ情報項目は、IPv4のTOS(Type of Service)若しくはIPv6のTC(Traffic Class)の全部若しくは一部、又は、MPLSのEXP(experimental bits)、又は、IEEE802.1pのCOS(Class of Service)のうちいずれか一つの値であることを特徴とする請求項1に記載のパケット転送装置。
  4. 前記第1の検索手段は、複数のヘッダ情報項目に基づきフローを識別するためのフロー検索テーブルを有し、
    該フロー検索テーブルはCAMで構成される請求項1に記載のパケット転送装置。
JP2011280214A 2011-12-21 2011-12-21 パケット転送装置 Active JP5204294B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011280214A JP5204294B2 (ja) 2011-12-21 2011-12-21 パケット転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011280214A JP5204294B2 (ja) 2011-12-21 2011-12-21 パケット転送装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008079798A Division JP2009239401A (ja) 2008-03-26 2008-03-26 パケット転送装置

Publications (2)

Publication Number Publication Date
JP2012095335A JP2012095335A (ja) 2012-05-17
JP5204294B2 true JP5204294B2 (ja) 2013-06-05

Family

ID=46388108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011280214A Active JP5204294B2 (ja) 2011-12-21 2011-12-21 パケット転送装置

Country Status (1)

Country Link
JP (1) JP5204294B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6018872B2 (ja) * 2012-10-15 2016-11-02 株式会社日立製作所 通信装置、及び、通信装置における転送情報管理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3743194B2 (ja) * 1999-02-25 2006-02-08 株式会社日立製作所 パケット中継装置
JP2003078549A (ja) * 2001-08-31 2003-03-14 Hitachi Ltd パケット転送方法およびその装置
JP2005012271A (ja) * 2003-06-16 2005-01-13 Fujitsu Ltd ルーティングエンジン装置,ルータ装置およびルーティングエンジン装置におけるメモリ検索方法
JP4341413B2 (ja) * 2003-07-11 2009-10-07 株式会社日立製作所 統計収集装置を備えたパケット転送装置および統計収集方法

Also Published As

Publication number Publication date
JP2012095335A (ja) 2012-05-17

Similar Documents

Publication Publication Date Title
US9954779B2 (en) Method, apparatus, and system for supporting flexible lookup keys in software-defined networks
US9722878B2 (en) Seamless segment routing
US8238324B2 (en) Method and system for network aware virtual machines
US9379975B2 (en) Communication control system, control server, forwarding node, communication control method, and communication control program
JP5640982B2 (ja) 通信システム、転送ノード、経路管理サーバ、通信方法およびプログラム
EP1800435B1 (en) Reporting out-of-resources (OOR) conditions in a data network
US7782864B2 (en) Apparatus and method for providing QoS for MPLS traffic
JP2009239401A (ja) パケット転送装置
US10530692B2 (en) Software FIB ARP FEC encoding
WO2015109821A1 (zh) 一种管理业务链的方法、系统及装置
US7277386B1 (en) Distribution of label switched packets
JP4823209B2 (ja) パケット転送装置
WO2011103781A2 (zh) 身份标识与位置分离的实现方法、设备及数据封装方法
US20090135833A1 (en) Ingress node and egress node with improved packet transfer rate on multi-protocol label switching (MPLS) network, and method of improving packet transfer rate in MPLS network system
WO2009013582A1 (en) System and method for ethernet label distribution
JP6954295B2 (ja) 通信システム、エッジノード、通信方法及びプログラム
US12021734B2 (en) Network-topology discovery using packet headers
RU2675212C1 (ru) Адаптивная балансировка нагрузки при обработке пакетов
JP6011762B2 (ja) ラベルスイッチングネットワーク
WO2015039616A1 (zh) 一种报文处理方法及设备
JP5204294B2 (ja) パケット転送装置
US10924395B2 (en) Seamless multipoint label distribution protocol (mLDP) transport over a bit index explicit replication (BIER) core
Chakravorty Challenges of IPv6 flow label implementation

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130214

R150 Certificate of patent or registration of utility model

Ref document number: 5204294

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

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