JP2015139047A - 経路検索装置、インタフェースカード、及び経路検索方法 - Google Patents

経路検索装置、インタフェースカード、及び経路検索方法 Download PDF

Info

Publication number
JP2015139047A
JP2015139047A JP2014008713A JP2014008713A JP2015139047A JP 2015139047 A JP2015139047 A JP 2015139047A JP 2014008713 A JP2014008713 A JP 2014008713A JP 2014008713 A JP2014008713 A JP 2014008713A JP 2015139047 A JP2015139047 A JP 2015139047A
Authority
JP
Japan
Prior art keywords
packet
route search
information
route
memory
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.)
Granted
Application number
JP2014008713A
Other languages
English (en)
Other versions
JP6314495B2 (ja
Inventor
通雄 倉本
Michio Kuramoto
通雄 倉本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014008713A priority Critical patent/JP6314495B2/ja
Priority to US14/587,169 priority patent/US9832120B2/en
Publication of JP2015139047A publication Critical patent/JP2015139047A/ja
Application granted granted Critical
Publication of JP6314495B2 publication Critical patent/JP6314495B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]

Landscapes

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

Abstract

【課題】消費電力を抑制することである。
【解決手段】経路検索装置10は、複数のIFカード11、14とスイッチファブリックカード12とを有する。複数のIFカード11、14は、外部からのパケットP1を送受信する複数のポートを有する。スイッチファブリックカード12は、一の上記ポートから受信されたパケットP1を、行き先アドレスに応じた他の上記ポートへ転送する。IFカード11は、TCAM11bとキャッシュメモリ11cとNPU11aとを有する。TCAM11bは、パケットP1の経路検索に用いる複数の経路検索情報を記憶する。キャッシュメモリ11cは、TCAM11bよりも少ない数の上記経路検索情報を記憶する。NPU11aは、外部から受信したパケットP1のパケット長を抽出し、抽出した上記パケット長が所定値よりも小さい場合には、キャッシュメモリ11cを使用して経路検索を行う。
【選択図】図1

Description

本発明は、経路検索装置、インタフェースカード、及び経路検索方法に関する。
従来、受信されたパケットの転送経路を検索する装置として、レイヤ2スイッチ等の経路検索装置が利用されている。経路検索装置は、近年のパケット通信の高速化に対応するため、多数の候補の中から最適な経路を短時間で検索可能なメモリを搭載することが有効である。この様なメモリの1つとして、例えば、0、1、マスク値の3値を有するTCAM(Ternary Content Addressable Memory)がある。TCAMは、例えば、大容量のMAC(Media Access Control)アドレステーブルに格納された多数の経路情報の中から、受信されたパケットのヘッダ情報を基に、該パケットに適した経路情報を特定する。経路検索装置は、TCAMを使用することで、他の装置から受信されたパケットを、検索された経路を経由して、所望の転送先装置へ瞬時に転送することができる。
特開2009−17439号公報
しかしながら、TCAMは、通常のメモリと異なり、1検索(アクセス)毎に全領域に通放電する構造であることから、経路検索装置を構成するデバイスの中でも、特に消費電力が高い。また、経路検索装置は、パケットの種別等に応じた様々なトラフィックを同時に扱うため、平均的なトラフィックとワーストケースとでは、消費電力が大きく異なる。特に、TCAMは、他のデバイスと比較して、トラフィック変動の影響を受け易いデバイスである。このため、トラフィックパターンによっては、装置内デバイスの内、TCAMの負荷だけが上昇し、消費電力が突出して増大することがある。消費電力の増大は、温度上昇を伴うことから、ワーストケースにおいては、装置全体の温度性能にとって重要な問題となる。従って、TCAMを始めとする検索用メモリ単体での消費電力の抑制が望まれる。
開示の技術は、上記に鑑みてなされたものであって、消費電力を抑制することができる経路検索装置、インタフェースカード、及び経路検索方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本願の開示する経路検索装置は、一つの態様において、複数のインタフェース部とスイッチ部とを有する。前記複数のインタフェース部は、外部からのパケットを送受信する複数のポートを有する。前記スイッチ部は、一の前記ポートから受信されたパケットを、行き先アドレスに応じた他の前記ポートへ転送する。前記インタフェース部は、第1のメモリと第2のメモリと検索部とを有する。前記第1のメモリは、前記パケットの経路検索に用いる複数の経路検索情報を記憶する。前記第2のメモリは、前記第1のメモリよりも少ない数の前記経路検索情報を記憶する。前記検索部は、外部から受信した前記パケットのパケット長を抽出し、抽出した前記パケット長が所定値よりも小さい場合には、前記第2のメモリを使用して経路検索を行う。
本願の開示する経路検索装置の一つの態様によれば、消費電力を抑制することができる。
図1は、経路検索装置の構成を示すブロック図である。 図2は、経路検索の対象となるパケットの構成例を示す図である。 図3は、TCAMのMACアドレステーブルから、パケットの経路情報が特定される様子を示す図である。 図4は、TCAMのVLANテーブルから、パケットの経路情報が特定される様子を示す図である。 図5は、キャッシュメモリから、パケットの経路情報が特定される様子を示す図である。 図6は、NPUにより実行される、キャッシュメモリの利用判定及び格納判定の各処理を説明するための図である。 図7は、本実施例において経路情報を取得する際、キャッシュメモリを利用するか否かを判定する処理を説明するためのフローチャートである。 図8は、キャッシュ化要否情報が付与されたパケットの構成例を示す図である。 図9は、キャッシュメモリへ経路情報を格納するか否かを判定する処理を説明するためのフローチャートである。 図10は、変形例1におけるパケットの構成例を示す図である。 図11は、変形例1において経路情報を取得する際、キャッシュメモリを利用するか否かを判定する処理を説明するためのフローチャートである。 図12は、変形例2におけるパケットの構成例を示す図である。 図13は、変形例2において経路情報を取得する際、キャッシュメモリを利用するか否かを判定する処理を説明するためのフローチャートである。 図14は、変形例3におけるパケットの構成例を示す図である。 図15は、変形例3において経路情報を取得する際、キャッシュメモリを利用するか否かを判定する処理を説明するためのフローチャートである。
以下に、本願の開示する経路検索装置、インタフェースカード、及び経路検索方法の実施例を、図面を参照しながら詳細に説明する。なお、以下の実施例により本願の開示する経路検索装置、インタフェースカード、及び経路検索方法が限定されるものではない。
まず、本願の開示する一実施例に係る経路検索装置の構成を説明する。図1は、経路検索装置10の構成を示すブロック図である。経路検索装置10は、例えば、レイヤ2スイッチである。図1に示す様に、経路検索装置10は、入力方向のIF(InterFace)カード11とスイッチファブリックカード12と制御カード13と出力方向のIFカード14とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能な様に接続されている。なお、図1において、実線の矢印は主信号を示し、破線の矢印はバックボードを流れる信号を示す。
IFカード11は、例えば、複数のポートを有するイーサネット(登録商標)インタフェースカードである。IFカード11は、NPU(Network Processing Unit)11aと、TCAM11bと、キャッシュメモリ11cと、TM(Traffic Manager)11dと、CPU−IF(Central Processing Unit−InterFace)11eとを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能な様に接続されている。
NPU11aは、主信号処理回路である。例えば、NPU11aは、入力されたパケットP1のパケット長が所定値以上であるか否かを判定する。NPU11aは、該判定の結果、パケット長が所定値以上である場合、TCAM11bを用いて、パケットP1の経路を検索すると共に、パケット長が所定値未満である場合、キャッシュメモリ11cを用いて、パケットP1の経路を検索する。NPU11aは、パケットP1のパケット長が所定値未満であり、かつ、パケットP1の経路情報がキャッシュメモリ11cに格納されていない場合、キャッシュメモリ11cに上記経路情報を格納させる。
NPU11aは、受信部11a−1と抽出部11a−2と判定部11a−3とを有する。受信部11a−1は、パケットP1を受信する。抽出部11a−2は、受信部11a−1により受信されたパケットP1のパケット長を抽出する。判定部11a−3は、抽出部11a−2により抽出されたパケット長が所定値以上であるか否かを判定する。該判定の結果、上記パケット長が所定値以上である場合、判定部11a−3は、TCAM11bを用いて、パケットP1の経路を検索すると共に、上記パケット長が所定値未満である場合、判定部11a−3は、キャッシュメモリ11cを用いて、パケットP1の経路を検索する。
TCAM11bは、キャッシュメモリ11cと比較して、パケットの経路を高速に検索可能な半導体チップである。また、TCAM11bは、経路数の多い大規模なネットワーク(例えば、インターネット)に対応するため、キャッシュメモリ11cと比較して、大容量のメモリであり、例えば、1〜10万のエントリが可能である。一方、パケット通信の高速化に伴い、IFカード11の消費電力は増加傾向にある。IFカード11を構成するデバイスの中でも、TCAM11bは、1アクセス(検索)毎に、メモリの全領域に通放電する構造であるため、他のデバイス(例えば、キャッシュメモリ)と比較して、消費電力が高い。
TCAM11bは、MACアドレステーブルを有する。MACアドレステーブルは、例えば、MACDA(Media Access Control Destination Address)、MACSA(Media Access Control Source Address)の各情報を、格納する。MACアドレステーブルは、これらの情報に併せて、経路情報を特定するためのアドレス(項)を、経路検索元情報として格納する。上記各情報と上記アドレスとは、対応付けて格納されるため、TCAM11bは、パケットのヘッダ情報(例えば、MACDA、MACSA)を基に、上記アドレスを介して、上記パケットの経路情報(例えば、宛先カード、宛先ポート)を特定することができる。
また、TCAM11bは、VLAN(Virtual Local Area Network)テーブルを有する。VLANテーブルは、例えば、VLANID(VLAN IDentification)と、経路情報を特定するためのアドレス(項)とを対応付けて、経路検索元情報として格納する。TCAM11bは、パケットのヘッダ情報(例えば、VLANID)を基に、上記アドレスを介して、上記パケットの経路情報(例えば、宛先ポート、テーブル情報優先度)を特定することができる。
キャッシュメモリ11cは、経路情報として、宛先カードと宛先ポートとテーブル情報優先度とを、アドレスと対応付けて格納する。キャッシュメモリ11cは、TCAM11bと比較して、データ格納容量が小さく、例えば、1000程度のエントリが可能である。
TM11dは、アプリケーションプログラムのQoS(Quality of Service)要件を満たすため、高速キューの提供、キュー項目数の最適化、スケジューリング等を行う。
CPU−IF11eは、NPU11aやTM11d等のデバイスと制御カード13(例えば、CPUボード)とを接続するインタフェースである。
スイッチファブリックカード12は、IFカード11上のポートから、IFカード14上の別のポートへ、パケットP1をリダイレクトするインタコネクトカードである。
制御カード13は、例えばCPUボードであり、OS(Operating System)により、経路検索装置10内の各カードを統括的に制御する。
IFカード14は、パケットの入出力方向が異なる点を除き、IFカード11と同様の構成を有する。従って、IFカード11と共通する構成要素には、末尾が同一の参照符号を用いると共に、その説明は省略する。具体的には、NPU14aとTCAM14bとキャッシュメモリ14cとTM14dとCPU−IF14eとは、NPU11aとTCAM11bとキャッシュメモリ11cとTM11dとCPU−IF11eとにそれぞれ対応する。
続いて、図2を参照し、経路検索装置10による経路検索の対象となるパケットの構成について説明する。図2は、経路検索の対象となるパケットPの構成例を示す図である。図2に示す様に、パケットPは、装置内ヘッダP11とイーサネット(登録商標)ヘッダP12とVLANタグ情報P13とペイロードP14とFCS(Frame Check Sequence)P15とを有する。
装置内ヘッダP11は、更に、宛先カード情報P11aと宛先ポート情報P11bと装置内ID情報P11cとカラー情報P11dとマルチキャスト情報またはユニキャスト情報P11eと経路検索関連情報P11fとを有する。宛先カード情報P11aは、パケットPの宛先となるカードの識別情報(例えば、“20”)であり、宛先ポート情報P11bと共に、パケットPの経路情報として経路検索に使用される。宛先ポート情報P11bは、パケットPの宛先となるポートの識別情報(例えば、“10”、“m”)であり、宛先カード情報P11aと共に、パケットPの経路情報として経路検索に使用される。装置内ID情報P11cは、例えば、装置内ヘッダP11を付与するベンダの識別情報である。
カラー情報P11dは、サービス種別に応じてパケットPに適用されるアクション(例えば、廃棄、転送)を示す情報である。例えば、あるサービスにおいて、パケットPのカラー情報P11dにレッドがマーキングされている場合には、パケットPは、廃棄の対象となる。また、イエローがマーキングされている場合には、パケットPは、ベストエフォート方式により転送され、グリーンがマーキングされている場合には、パケットPは、低いドロップ確率で転送される。
マルチキャスト情報またはユニキャスト情報P11eは、パケットPの宛先が複数(マルチキャストまたはブロードキャスト)であるか、単数(ユニキャスト)であるかを識別する情報である。
経路検索関連情報P11fは、例えば、TM11dの使用するキューのIDや、フォワーディング情報、パディング情報、あるいは、ミラーリング情報である。
イーサネット(登録商標)ヘッダP12は、例えば、経路検索元情報として、パケットPの経路情報の特定に使用されるMACDA、MACSAである。NPU11aは、イーサネット(登録商標)ヘッダP12を参照し、TCAM11bから、パケットPの経路情報(例えば、宛先カード、宛先ポート)を取得する。また、NPU11aは、イーサネット(登録商標)ヘッダP12を参照し、キャッシュメモリ11cから、パケットPの経路情報(例えば、宛先カード、宛先ポート、テーブル情報優先度)を取得する。
VLANタグ情報P13は、例えば、経路検索元情報として、パケットPの経路情報の特定に使用されるVLANIDである。NPU11aは、VLANタグ情報P13を参照し、TCAM11bから、パケットPの経路情報(例えば、宛先ポート、テーブル情報優先度)を取得する。また、NPU11aは、VLANタグ情報P13を参照し、キャッシュメモリ11cから、パケットPの経路情報(例えば、宛先カード、宛先ポート、テーブル情報優先度)を取得する。
ペイロードP14は、パケットPを構成するデータの内、装置内ヘッダP11とイーサネット(登録商標)ヘッダP12とVLANタグ情報P13とFCSP15とを除いたデータ本体である。
FCSP15は、パケットPに誤りが無いかを検査するために付加されるエラー検出用データである。
次に、動作を説明する。
まず、IFカード11のTCAM11bによる経路検索について説明する。図3は、TCAM11bのMACアドレステーブル11b−1から、パケットの経路情報が特定される様子を示す図である。図3に示す様に、TCAM11bのMACアドレステーブル11b−1には、MACDAとMACSAとが対応付けられ、経路検索元情報として格納されている。特に、TCAM11bは、マスク機能を有するため、1つのMACアドレステーブルから、MACDAのみの検索、MACSAのみの検索に加え、双方一致検索等の組合せ検索が可能である。図3は、MACSAをマスクし、MACDAのみを検索した例を示す。
図3に示す様に、経路検索対象のパケットPは、ヘッダ部分P121に“CC−EE−FF”のMACDAを有する。このため、TCAM11bのMACアドレステーブル11b−1において“CC−EE−FF”に対応するアドレス“3”が、TCAM11bから出力される。IFカード11のNPU11aは、上記アドレス“3”を基に、連想メモリ11fから、パケットPの経路情報を特定する。例えば、図3では、連想メモリ11fにおいてアドレス“3”に対応する宛先カード“20”及び宛先ポート“10”が、経路情報として特定される。なお、連想メモリ11fは、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等のRAMである。
同様に、図4は、TCAM11bのVLANテーブル11b−2から、パケットの経路情報が特定される様子を示す図である。図4に示す様に、TCAM11bのVLANテーブル11b−2には、VLANIDが、経路検索元情報として格納されている。経路検索対象のパケットPは、VLANタグ情報P13に“675”のVLANIDを有する。このため、TCAM11bのVLANテーブル11b−2において“675”に対応するアドレス“3”が、TCAM11bから出力される。IFカード11のNPU11aは、上記アドレス“3”を基に、連想メモリ11fから、パケットPの経路情報を特定する。例えば、図4では、連想メモリ11fにおいてアドレス“3”に対応する宛先ポート“m”及びテーブル情報優先度“VLAN”が、経路情報として特定される。
上述した様に、パケットPの宛先カードは、宛先カード20に決定される。また、宛先ポートについては、テーブル情報優先度が“VLAN”であるので、VLANテーブル11b−2により特定された宛先ポートmが、MACアドレステーブル11b−1により特定された宛先ポート10に優先する。その結果、パケットPの宛先ポートは、宛先ポートmに決定される。すなわち、IFカード11のNPU11aは、上記各経路情報に基づき、パケットPの経路を、宛先カード20の宛先ポートmに決定する。
なお、MACアドレスとVLANIDとの組合せは、これら各情報の種類の乗算(マトリクス)によって定まることから、組合せの数は膨大となる。そこで、IFカード11のTCAM11bは、MACアドレステーブル11b−1とVLANテーブル11b−2とを独立に保有し、各テーブル内の情報を個別に検索する。これにより、MACアドレスとVLANIDとの組合せは、これら各情報の種類の加算によって定まる。従って、経路検索装置10は、フォワーディング処理の過程で多数のアクセスが想定されるTCAM11bの所要リソースを、大幅に抑制することができる。
次に、所定値よりも短いパケット長のパケットが受信された場合に実行される経路検索、すなわち、IFカード11のキャッシュメモリ11cによる経路検索について説明する。図5は、キャッシュメモリ11cから、パケットPの経路情報が特定される様子を示す図である。図5に示す様に、キャッシュメモリ11cは、経路検索元情報11c−1として、VLANIDとMACDAとMACSAとアドレスとを対応付けて格納する。また、キャッシュメモリ11cは、経路情報11c−2として、アドレスと宛先カードとMACアドレステーブル11b−1(図3参照)内の宛先ポートとVLANテーブル11b−2(図4参照)内の宛先ポートとテーブル情報優先度とを対応付けて格納する。
上述した様に、MACアドレスとVLANIDとを組み合わせた経路情報は、膨大な量になるため、TCAM11bでは、使用リソースを抑えた形態で格納されている。これに対し、キャッシュメモリ11cは、TCAM11b(図3、図4参照)と異なり、連想メモリ11fに格納される全ての経路情報の内、キャッシュメモリ11cを利用する一部の経路情報を格納すればよい。このため、キャッシュメモリ11cは、図5に示す様に、経路情報に含まれる全ての情報(宛先カード、宛先ポート、テーブル情報優先度)を、1エントリ分の情報として格納することができる。換言すれば、キャッシュメモリ11cは、テーブルを分けることなく、最初からセットでの経路情報の格納が可能である。従って、IFカード11のNPU11aは、パケットPと経路検索元情報とから特定された1つのアドレス(例えば、“3”)を基に、パケットPに対応する経路情報の全て(例えば、“20”、“10”、“m”、“VLAN”)を取得することができる。
続いて、図6を参照し、キャッシュメモリ11cの利用判定及び格納判定について説明する。図6は、NPU11aにより実行される、キャッシュメモリ11cの利用判定及び格納判定の各処理を説明するための図である。なお、図6において、実線の矢印は主信号処理を示し、破線の矢印はメモリアクセス処理を示す。
図6に示す様に、S1では、IFカード11のNPU11aは、入力されたパケットP2の経路検索に先立ち、キャッシュメモリ11cを利用するか否かの判定を行う。該判定は、例えば、パケットP2のパケット長が所定値以上であるか否かに基づいて行われる。パケット長が所定値以上である場合には、TCAM11bの利用が決定され(S1;No)、S2の処理に移行する一方、所定値未満である場合には、キャッシュメモリ11cの利用が決定される(S1;Yes)。キャッシュメモリ11cの利用が決定された場合には、TCAM11bによる経路検索は行われない。
なお、上記所定値は、例えば50〜300バイト程度(例えば100バイト)であるが、パケットのトラフィック量やキャッシュメモリ11cの容量に応じて、適宜変更可能である。また、上記所定値は、ユーザ等が設定した値であってもよいし、経路検索装置10が予め記憶する値であってもよい。
S2では、NPU11aは、パケットP2から経路検索の条件(例えば、MACDA、MACSA)を抽出する。次に、TCAM11bは、MACアドレステーブル11b−1から、S2で抽出された経路検索条件に該当するエントリを検索する(S3)。該検索の結果、図3に示した様に、例えば、MACDA“CC−EE−FF”に対応するアドレス“3”が取得される。S4では、NPU11aは、S3で取得されたアドレスに対応するエントリのデータ(例えば、宛先カード“20”、宛先ポート“10”)を、連想メモリ11fから読み出す。読み出されたデータは、NPU11aにおいて、経路検索結果の解析に用いられる(S5)。
上記S2〜S5の一連の処理は、VLANIDについても同様に実行される。すなわち、S6では、NPU11aは、パケットP2から経路検索の条件(例えば、VLANID)を抽出する。次に、TCAM11bは、VLANテーブル11b−2から、S6で抽出された経路検索条件に該当するエントリを検索する(S7)。該検索の結果、図4に示した様に、例えば、VLANID“675”に対応するアドレス“3”が取得される。S8では、NPU11aは、S7で取得されたアドレスに対応するエントリのデータ(例えば、宛先ポート“m”、テーブル情報優先度“VLAN”)を、連想メモリ11fから読み出す。読み出されたデータは、NPU11aにおいて、経路検索結果の解析に用いられる(S9)。
S10では、NPU11aは、パケットP2と同一宛先のパケットが再び受信された場合の準備処理として、パケットP2の経路情報をキャッシュメモリ11cに格納(キャッシュ化)するか否かの判定を行う。該判定は、上記経路情報が既にキャッシュメモリ11cにエントリされているか否かに基づいて行われる。上記S1においてキャッシュメモリ11cを利用すると判定されたにも拘らず、上記経路情報がエントリされていない場合(S10;Yes)には、NPU11aは、パケットP2の経路情報を連想メモリ11fから取得し、キャッシュメモリ11cに格納させる。一方、キャッシュメモリ11cに上記経路情報が既にエントリされている場合(S10;No)には、NPU11aは、キャッシュメモリ11cへの格納を行うことなく、パケットP2を外部へ出力する。
次に、本実施例におけるキャッシュメモリ11cの利用判定処理について説明する。
図7は、本実施例において経路情報を取得する際、キャッシュメモリ11cを利用するか否かを判定する処理を説明するためのフローチャートである。S11では、NPU11aは、パケットを入力すると、該パケットのパケット長と所定値とを比較する。該比較の結果、所定値未満のパケット長を有するパケットは、キャッシュメモリ11cによる経路検索の対象となるため、要キャッシュ化と判定される(S11;Yes)。これに対し、所定値以上のパケット長を有するパケットは、TCAM11bによる経路検索の対象となるため、キャッシュ化不要と判定される(S11;No)。
なお、入力パケットのパケット長は、NPU11aが測定するものとしてもよいし、ヘッダ等に格納されている情報を用いてもよい。
上記S11においてパケットのパケット長が所定値未満である場合(S11;Yes)、NPU11aは、所定値未満のパケット長を有するパケットの経路情報が、キャッシュメモリ11c内に格納(エントリ)されているか否かの判定を行う(S12)。該判定の結果、経路情報が格納されている場合(S12;Yes)には、NPU11aは、後述するパケットのキャッシュ化要否情報に「不要」を設定する(S13)。設定後は、NPU11aは、キャッシュメモリ11cを用いて、上記パケットの経路を検索し、キャッシュメモリ11cに格納されている経路情報を取得する。
上記S12における判定の結果、キャッシュメモリ11c内に経路情報が格納されていない場合(S12;No)には、NPU11aは、パケットのキャッシュ化要否情報に「要」を設定する(S14)。設定後は、NPU11aは、TCAM11bを用いて、上記パケットの経路を検索し、連想メモリ11fに格納されている経路情報を取得する。
なお、上記S11においてパケットのパケット長が所定値以上である場合(S11;No)には、TCAM11bの利用が可能であることから、NPU11aは、S12〜S14の各処理を省略し、連想メモリ11fに格納されている経路情報を取得する。
図8は、キャッシュ化要否情報P16aが付与されたパケットPの構成例を示す図である。図8においては、パケットPには、装置内ヘッダP11とイーサネット(登録商標)ヘッダP12との間に、キャッシュ化判定情報P16を格納する領域が新たに設けられており、該領域に、キャッシュ化要否情報P16aが設定される。具体的には、図7のS13では、キャッシュ化要否情報P16aに「不要」が設定され、S14では、キャッシュ化要否情報P16aに「要」が設定される。その結果、初期状態では図2に示した状態であったパケットPは、図8に示す状態に更新される。従って、IFカード11のNPU11aは、キャッシュ化要否情報P16aを参照することで、パケットPの経路情報をキャッシュメモリ11cに格納(エントリ)するか否かの判定を行うことができる。
続いて、本実施例におけるキャッシュメモリ11cへの格納判定処理について説明する。図9は、キャッシュメモリ11cへ経路情報を格納するか否かを判定する処理を説明するためのフローチャートである。S15では、経路検索装置10のNPU11aは、入力パケットのキャッシュ化要否情報P16a(図8参照)を参照し、キャッシュエントリの要否を判定する。該判定の結果、キャッシュ化要否情報P16aに“要”が設定されている場合(S15;Yes)には、上記パケットの経路情報は、キャッシュメモリ11cに格納されるのがよいにも拘らず、未エントリの状態である。従って、NPU11aは、上記パケットと同一宛先のパケットが再入力された場合に、キャッシュメモリ11cによる経路検索が可能な様に、キャッシュメモリ11cに経路情報を格納する(S16)。すなわち、NPU11aは、上記パケットの経路情報を、TCAM11b経由で連想メモリ11fから取得し、キャッシュメモリ11cに格納する。
一方、上記S15における判定の結果、キャッシュ化要否情報P16aに“不要”が設定されている場合(S15;No)には、上記パケットの経路情報は既にキャッシュメモリ11cにエントリ済であるので、NPU11aは、格納判定処理を終了する。経路検索装置10は、経路情報が既にキャッシュ化されている場合には、経路情報を格納しないので、同一の経路情報の重複エントリが回避され、格納容量に制限のあるキャッシュメモリ11cを効率的に使用することができる。
以上説明した様に、経路検索装置10は、複数のIFカード11、14とスイッチファブリックカード12とを有する。複数のIFカード11、14は、外部からのパケットP1を送受信する複数のポートを有する。スイッチファブリックカード12は、一の上記ポートから受信されたパケットP1を、行き先アドレスに応じた他の上記ポートへ転送する。IFカード11は、TCAM11bとキャッシュメモリ11cとNPU11aとを有する。TCAM11bは、パケットP1の経路検索に用いる複数の経路検索情報を記憶する。キャッシュメモリ11cは、TCAM11bよりも少ない数の上記経路検索情報を記憶する。NPU11aは、外部から受信したパケットP1のパケット長を抽出し、抽出した上記パケット長が所定値よりも小さい場合には、キャッシュメモリ11cを使用して経路検索を行う。
具体的には、経路検索装置10は、TCAM11bとキャッシュメモリ11cとNPU11aとを有する。TCAM11bは、パケットPの経路検索に用いる検索用メモリである。キャッシュメモリ11cは、パケットPの経路を検索する際の消費電力がTCAM11bよりも低いキャッシュメモリである。NPU11aは、パケット長が所定値以上であるか否かを判定し、パケット長が所定値以上である場合、TCAM11bを用いて、パケットPの経路を検索すると共に、パケット長が所定値未満である場合、キャッシュメモリ11cを用いて、パケットPの経路を検索する。換言すれば、経路検索装置10は、TCAM11bにとって高負荷となる短いパケットの対処(経路検索)を、キャッシュメモリ11cに代行させる。
パケット通信では、トラフィック量が一定であっても、パケット長が短い場合には、単位時間当たりのパケット数が増えるため、NPU11aからTCAM11bに対するアクセスレートは上昇する。そこで、本実施例に係る経路検索装置10は、上述した様に、パケット長の長短に応じて、TCAM11bとキャッシュメモリ11cとを使い分ける。具体的には、経路検索装置10は、受信したパケットが短い場合には、TCAM11bよりも消費電力の低いキャッシュメモリ11cを用いて経路を検索する。これにより、経路検索装置10において、例えば、宛先が同一の短いパケットが短時間に集中して受信されても、TCAM11bへのアクセス頻度の上昇が回避される。従って、TCAM11bの消費電力は抑制される。その結果、TCAM11bの温度上昇の抑制が可能となる。
本実施例では、キャッシュメモリ11c(第2のメモリ)に記憶されている検索の対象となる情報(経路検索情報)の数が、TCAM(第1のメモリ)よりも少なくなるため、キャッシュメモリ(第2のメモリ)の方が、1回の経路検索において生じる消費電力が小さくなる。その結果、頻繁に届くパケットに対しては、経路検索装置10は、キャッシュメモリ(第2のメモリ)を使用して経路検索を行うことで、経路検索処理での消費電力が抑えられる。本実施例では、特に、短いパケットを連続して受信したときの消費電力を抑えるため、経路検索装置10は、短いパケット長のパケットに対しては、上記のような形で経路検索情報が記憶されているキャッシュメモリ(第2のメモリ)を用いて経路検索させる。これにより、経路検索装置10は、経路検索処理での消費電力を抑える。なお、記憶されるデータ量が少ないため、キャッシュメモリ(第2のメモリ)として、消費電力が小さいタイプのデバイスを採用することも可能である。
(変形例1)
次に、変形例1について説明する。変形例1が上記実施例と異なる点は、経路検索にキャッシュメモリを用いるか否かの判定基準である。具体的には、上記実施例では、経路検索装置10は、入力パケットのパケット長の長短に基づき、キャッシュメモリ11cの利用の要否を判定するものとした。これに対し、変形例1では、経路検索装置10は、入力パケットに対するキャッシュ化優先度設定の有無に基づき、キャッシュメモリ11cの利用の要否を判定する。以下、上記実施例との相違点を中心として説明する。
変形例1に係る経路検索装置は、図1に示した実施例に係る経路検索装置10と同様の構成を有する。従って、変形例1では、上記実施例と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。図10は、変形例1におけるパケットPの構成例を示す図である。図10に示す様に、変形例1におけるパケットPは、キャッシュ化判定情報P16にキャッシュ化優先度情報P16bを含む点を除き、図8に示したパケットPと同様の構成を有する。従って、図8と共通する構成要素には、同一の参照符号を用いると共に、その詳細な説明は省略する。
キャッシュ化優先度情報P16bは、パケットPの経路検索に際し、キャッシュメモリ11cをTCAM11bに優先して用いるか否かの判定に使用される。例えば、キャッシュ化優先度情報P16bに“1”が設定されている場合には、パケットPの経路情報は、キャッシュメモリ11cから取得される。一方、“0”が設定されている場合には、パケットPの経路情報は、TCAM11bを介して連想メモリ11f(図3参照)から取得される。
次に、変形例1における経路検索装置10の動作を、上記実施例との相違点を中心として説明する。図11は、変形例1において経路情報を取得する際、キャッシュメモリ11cを利用するか否かを判定する処理を説明するためのフローチャートである。図11は、上記実施例に係る動作の説明において参照した図7と、同様の処理を含むことから、共通するステップには、末尾が同一の参照符号を付すと共に、その詳細な説明は省略する。具体的には、図11のステップS22〜S24の各処理は、図7に示したステップS12〜S14の各処理にそれぞれ対応する。
変形例1に特有のS21では、経路検索装置10のNPU11aは、パケットPを入力すると、該パケットPのキャッシュ化優先度情報P16b(図10参照)を参照し、キャッシュ化優先度設定の有無を判定する。例えば、キャッシュ化優先度情報P16bとして“1”が設定されている場合には、NPU11aは、キャッシュ化優先度設定有りと判定し、“0”が設定されている場合には、キャッシュ化優先度設定無しと判定する。
上記判定の結果、キャッシュ化優先度が「有」に設定されたパケットは、キャッシュメモリ11cによる経路検索の対象となるため、要キャッシュ化と判定される(S21;Yes)。これに対し、キャッシュ化優先度が「無」に設定されたパケットは、TCAM11bによる経路検索の対象となるため、キャッシュ化不要と判定される(S21;No)。
なお、キャッシュ化優先度情報P16bに対する優先度の設定は、例えば、パケットPの送信元ノードや経路検索装置10のユーザが行うものとしてもよいし、経路検索装置10が、パケットPの受信頻度や受信間隔に基づき、自動的に行うものとしてもよい。また、キャッシュ化優先度設定の有無を決定する基準に関し、経路検索装置10は、例えば、パケットPの所定時間における受信回数、あるいは、パケットPが受信される周期等を用いることができる。例えば、受信回数を用いる場合には、経路検索装置10は、受信回数の多い(例えば、1時間に10回以上受信される)パケットPに対し、キャッシュ化優先度「有」を設定する。また、周期を用いる場合には、経路検索装置10は、短い周期(例えば、10分以下)で所定回数(例えば、5回)以上受信されるパケットPに対し、キャッシュ化優先度「有」を設定する。
上述した様に、経路検索装置10のNPU11aは、パケットPの経路検索にキャッシュメモリ11cを優先的に用いることの設定がパケットPにあるか否かを判定する。NPU11aは、上記設定がない場合、TCAM11bを用いて、パケットPの経路を検索すると共に、上記設定がある場合、キャッシュメモリ11cを用いて、パケットPの経路を検索する。変形例1に係る経路検索装置10によれば、NPU11aは、上記設定の有無に基づき、定期的に受信されるパケットや受信が予測されるパケットを対象として、キャッシュメモリ11cを用いた経路検索を優先的に実行する。これにより、キャッシュメモリ11cが優先的に使用される機会が増加するため、経路検索に伴うTCAM11bの負荷が軽減される。その結果、TCAM11bの消費電力が抑制される。
(変形例2)
次に、変形例2について説明する。変形例2が上記実施例と異なる点は、経路検索にキャッシュメモリを用いるか否かの判定基準である。具体的には、上記実施例では、経路検索装置10は、入力パケットのパケット長の長短に基づき、キャッシュメモリ11cの利用の要否を判定するものとした。これに対し、変形例2では、経路検索装置10は、入力パケットがブロードキャストパケットであるか否かに基づき、キャッシュメモリ11cの利用の要否を判定する。以下、上記実施例との相違点を中心として説明する。
変形例2に係る経路検索装置は、図1に示した実施例に係る経路検索装置10と同様の構成を有する。従って、変形例2では、上記実施例と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。図12は、変形例2におけるパケットPの構成例を示す図である。図12に示す様に、変形例2におけるパケットPは、キャッシュ化判定情報P16にブロードキャスト対策情報P16cを含む点を除き、図8に示したパケットPと同様の構成を有する。従って、図8と共通する構成要素には、同一の参照符号を用いると共に、その詳細な説明は省略する。
ブロードキャスト対策情報P16cは、入力されたパケットPがブロードキャストパケットである場合に、パケットPの経路検索用メモリとして、TCAM11bとキャッシュメモリ11cとの内、何れのメモリを用いるかの判定に使用される。例えば、ブロードキャスト対策情報P16cに“1”が設定されている場合には、パケットPの経路情報はキャッシュメモリ11cから取得され、“0”が設定されている場合には、パケットPの経路情報はTCAM11bを介して連想メモリ11fから取得される。
次に、変形例2における経路検索装置10の動作を、上記実施例との相違点を中心として説明する。図13は、変形例2において経路情報を取得する際、キャッシュメモリ11cを利用するか否かを判定する処理を説明するためのフローチャートである。図13は、上記実施例に係る動作の説明において参照した図7と、同様の処理を含むことから、共通するステップには、末尾が同一の参照符号を付すと共に、その詳細な説明は省略する。具体的には、図13のステップS32〜S34の各処理は、図7に示したステップS12〜S14の各処理にそれぞれ対応する。
変形例2に特有のS311では、経路検索装置10のNPU11aは、パケットPを入力すると、該パケットPのイーサネット(登録商標)ヘッダP12(図12参照)を参照し、パケットPがブロードキャストパケットであるか否かを判定する。該判定は、例えば、イーサネット(登録商標)ヘッダP12のMACDAに、全ての宛先カード及び宛先ポートが設定されているか否かに基づいて行われる。全ての宛先カード及び宛先ポートが設定されている場合には、パケットPはブロードキャストパケットであると判定され、宛先として設定されていないカードまたはポートがある場合には、パケットPはブロードキャストパケットでないと判定される。
変形例2では、上記判定の結果、パケットPがブロードキャストパケットである場合(S311;Yes)には、次のS312に移行し、パケットPがブロードキャストパケットでない場合(S311;No)には、以降の処理を省略し、終了する。
S312では、経路検索装置10のNPU11aは、パケットPのブロードキャスト対策情報P16c(図12参照)を参照し、経路検索装置10内におけるブロードキャスト対策の設定を確認する。例えば、ブロードキャスト対策情報P16cとして“1”が設定されている場合には、NPU11aは、経路検索装置10のブロードキャスト対策が有効であると判定し、“0”が設定されている場合には、ブロードキャスト対策は無効であると判定する。
上記判定の結果、入力されたパケットPがブロードキャストパケットであり、かつ、ブロードキャスト対策が有効である場合には、該パケットPは、キャッシュメモリ11cによる経路検索の対象となるため、要キャッシュ化と判定される(S312;Yes)。これに対し、入力されたパケットPがブロードキャストパケットでない場合、または、ブロードキャスト対策が無効である場合には、該パケットPは、TCAM11bによる経路検索の対象となるため、キャッシュ化不要と判定される(S312;No)。
なお、ブロードキャスト対策情報P16cに対する有効・無効の設定は、例えば、経路検索装置10のNPU11aが、パケットPの入力時等に、自装置内の設定を参照して行う。あるいは、ブロードキャスト対策情報P16cには、経路検索装置10内の設定の確認を指示する情報のみを格納しておき、経路検索装置10のNPU11aが、パケットPの入力時等に、上記指示に従い、自装置内の設定を確認するものとしてもよい。また、ブロードキャストパケットはマルチキャストパケットであってもよく、ブロードキャスト対策情報P16cはマルチキャスト対策情報であってもよい。
上述した様に、経路検索装置10のNPU11aは、パケットPの宛先が複数存在するか否かを判定する。NPU11aは、上記宛先が複数存在しない場合、TCAM11bを用いて、パケットPの経路を検索すると共に、上記宛先が複数存在する場合、キャッシュメモリ11cを用いて、パケットPの経路を検索する。ブロードキャストパケットは、経路検索装置10内の全てのドメイン(例えば、宛先カード、宛先ポート)にフォワーディングされるため、TCAM11bは元より、装置負荷を大きく上昇させる要因となる。変形例2に係る経路検索装置10によれば、NPU11aは、ブロードキャストストーム対策として、ブロードキャストパケットに対し、キャッシュメモリ11cを用いた経路検索を優先的に実行する。これにより、例えば、悪意のあるユーザから大量のパケットが同時期にブロードキャストされても、経路検索にキャッシュメモリ11cが使用される機会が増加するため、TCAM11bへのアクセスが集中せず、TCAM11bの負荷が軽減される。その結果、TCAM11bの消費電力が抑制される。
(変形例3)
次に、変形例3について説明する。変形例3が上記実施例と異なる点は、経路検索にキャッシュメモリを用いるか否かの判定基準である。具体的には、上記実施例では、経路検索装置10は、入力パケットのパケット長の長短に基づき、キャッシュメモリ11cの利用の要否を判定するものとした。これに対し、変形例3では、経路検索装置10は、入力パケットが、直前のパケットと同一のパケット長とイーサネット(登録商標)ヘッダとを有するか否かに基づき、キャッシュメモリ11cの利用の要否を判定する。以下、上記実施例との相違点を中心として説明する。
変形例3に係る経路検索装置は、図1に示した実施例に係る経路検索装置10と同様の構成を有する。従って、変形例3では、上記実施例と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。図14は、変形例3におけるパケットPの構成例を示す図である。図14に示す様に、変形例3におけるパケットPは、キャッシュ化判定情報P16に同一性識別フラグP16dを含む点を除き、図8に示したパケットPと同様の構成を有する。従って、図8と共通する構成要素には、同一の参照符号を用いると共に、その詳細な説明は省略する。
同一性識別フラグP16dは、入力されたパケットPの経路検索用メモリとして、TCAM11bとキャッシュメモリ11cとの内、何れのメモリを用いるかの判定に使用される。例えば、同一性識別フラグP16dに“1”が設定されている場合には、パケットPの経路情報はキャッシュメモリ11cから取得され、“0”が設定されている場合には、パケットPの経路情報はTCAM11bを介して連想メモリ11fから取得される。
パケットPの同一性識別フラグP16dは、NPU11aが、パケットPの直前に入力されたパケットとパケットPとを照合することにより設定される。すなわち、NPU11aは、パケットPの直前に入力されたパケットのパケット長及びイーサネット(登録商標)ヘッダを、パケットPのパケット長及びイーサネット(登録商標)ヘッダと比較する。該比較の結果、一致する場合には、NPU11aは、同一性識別フラグP16dに“1”を設定する一方、一致しない場合には、同一性識別フラグP16dに“0”を設定する。なお、入力パケットのイーサネット(登録商標)ヘッダが直前のパケットのイーサネット(登録商標)ヘッダと同一であるか否かの判定は、必ずしも完全一致による判定でなくてもよく、部分一致(例えば、前方一致、後方一致)による判定であってもよい。
次に、変形例3における経路検索装置10の動作を、上記実施例との相違点を中心として説明する。図15は、変形例3において経路情報を取得する際、キャッシュメモリ11cを利用するか否かを判定する処理を説明するためのフローチャートである。図15は、上記実施例に係る動作の説明において参照した図7と、同様の処理を含むことから、共通するステップには、末尾が同一の参照符号を付すと共に、その詳細な説明は省略する。具体的には、図15のステップS42〜S44の各処理は、図7に示したステップS12〜S14の各処理にそれぞれ対応する。
変形例3に特有のS41では、経路検索装置10のNPU11aは、パケットPを入力すると、パケットPの同一性識別フラグP16d(図14参照)を参照し、パケット長及びイーサネット(登録商標)ヘッダが直前のパケットと同一であるか否かを判定する。例えば、同一性識別フラグP16dとして“1”が設定されている場合には、NPU11aは、パケットPとその直前のパケットとの間で、パケット長及びイーサネット(登録商標)ヘッダが一致すると判定する。一方、“0”が設定されている場合には、NPU11aは、パケットPとその直前のパケットとの間で、パケット長及びイーサネット(登録商標)ヘッダが一致しないと判定する。
上記判定の結果、パケット長及びイーサネット(登録商標)ヘッダが一致する場合には、パケットPは、キャッシュメモリ11cによる経路検索の対象となるため、要キャッシュ化と判定される(S41;Yes)。これに対し、パケット長またはイーサネット(登録商標)ヘッダが一致しない場合には、パケットPは、TCAM11bによる経路検索の対象となるため、キャッシュ化不要と判定される(S41;No)。
上述した様に、経路検索装置10のNPU11aは、パケットPが、パケットPの直前のパケットと同一のパケット長及びヘッダを有するか否かを判定する。NPU11aは、パケットPが上記パケット長または上記ヘッダを有しない場合、TCAM11bを用いて、パケットPの経路を検索すると共に、パケットPが上記パケット長及び上記ヘッダを有する場合、キャッシュメモリ11cを用いて、パケットPの経路を検索する。
経路数の多い大規模なネットワーク(例えば、インターネット)では、サイズの大きいデータは、所定の長さを有するパケットに分割した上で、送受信されることが多い。また、この様な分割送信では、同一のパケット長を有し、かつ、同一のイーサネット(登録商標)ヘッダを有する複数のパケットが、連続して送受信されることが多い。そこで、変形例3に係る経路検索装置10によれば、NPU11aは、連続して受信されるパケットの経路検索に、毎回TCAM11bを用いるのではなく、先頭のパケットのみをTCAM11bによる経路検索の対象とする。すなわち、NPU11aは、先頭のパケットの経路情報を、TCAM11bを介して連想メモリ11fから取得した後、一旦キャッシュメモリ11cにエントリ(キャッシュ化)し、後続するパケットに対しては、キャッシュメモリ11cを用いた経路検索を実行する。これにより、サイズの大きいデータを構成する全てのパケットの経路検索にTCAM11bを用いる場合と比較して、TCAM11bの負荷が軽減され、TCAM11bの消費電力が抑制される。
なお、上記実施例及び変形例では、変形例2においてのみ、経路検索装置10のNPU11aが、自装置内における設定の有効・無効を確認するものとした。しかしながら、これに限らず、上記実施例及び変形例1、3においても、経路検索装置10のNPU11aが、自装置内の設定に基づき、キャッシュメモリ11cの使用の許否を判定してもよい。例えば、上記実施例では、入力パケットPのパケット長が所定値未満の場合には、該条件を満たせば、装置内設定の有効・無効に拘らず、NPU11aは、経路検索にキャッシュメモリ11cを使用するものとした。しかしながら、経路検索装置10のNPU11aは、入力パケットPのパケット長が所定値未満であり、かつ、自装置内の設定が有効である場合にのみ、キャッシュメモリ11cを使用するものとしてもよい。これにより、経路検索装置10は、ユーザ等の設定に応じて、TCAM11b及びキャッシュメモリ11cに対する負荷を、より柔軟に調整することができる。例えば、パケット長の所定値が大きく、TCAM11bと比較してキャッシュメモリ11cの負荷が増加し過ぎた場合には、経路検索装置10は、自装置内の設定を一時的に無効にすることで、キャッシュメモリ11cの負荷を軽減するといった運用が可能となる。
また、上述した様に、キャッシュメモリ11cは、TCAM11bと比較してエントリ数が少ないため、キャッシュメモリ11cへの経路情報のエントリが許容値を超えることが懸念される。そこで、経路検索装置10のNPU11aは、キャッシュメモリ11cのエントリ数が所定値(例えば、800エントリ)に到達した場合に、キャッシュ化の条件を厳格化するものとしてもよい。具体的には、NPU11aは、キャッシュメモリ11cのエントリ数が所定値に達した場合に、キャッシュ化要否の判定基準となるパケット長の閾値を、例えば100バイトから50バイトに低下させるものとしてもよい。あるいは、NPU11aは、キャッシュメモリ11cのエントリ数が所定値に達した場合に、優先的にキャッシュ化するパケット数を減少させるものとしてもよい。これにより、経路検索装置10は、キャッシュメモリ11cにエントリされる経路情報のデータ量を抑制することができ、経路情報が許容値を超えてキャッシュ化されることを未然に防止することが可能となる。
更に、上記実施例では、経路検索装置10のNPU11aは、単一のパケットを対象として、パケット長に基づくキャッシュ化の要否判定を行うものとした。しかしながら、これに限らず、NPU11aは、複数のパケットを用いて、キャッシュメモリ11cを使用するか否かを判定するものとしてもよい。例えば、NPU11aは、連続して入力される複数個(例えば、3つ)のパケットをグループ化し、これらのパケットのパケット長の平均値が所定値未満の場合に、グループ内の全てのパケットの経路情報をキャッシュ化するものとしてもよい。かかる態様では、パケット長の平均値が上記所定値以上の場合には、上記グループに属するパケットの経路情報はキャッシュ化されない。これにより、1つのパケットのパケット長が所定値未満であっても、該パケットを含む複数のパケットのパケット長の平均値が所定値未満とならない限り、キャッシュメモリ11cは使用されないこととなる。従って、経路検索装置10は、キャッシュ化の要否判定を、より高精度に行うことができると共に、経路検索に伴うキャッシュメモリ11cの使用頻度を節減することができる。
また、変形例3では、経路検索装置10は、パケット長とイーサネット(登録商標)ヘッダとの双方が一致する場合に、キャッシュメモリ11cを用いるものとしたが、何れか一方が一致する場合に、キャッシュメモリ11cを用いるものとしてもよい。例えば、経路検索装置10は、パケット長が一致する場合に、キャッシュメモリ11cを用いるものとしてもよい。また、パケット長は、必ずしもパケットPの全長でなくてもよく、例えば、ペイロード長であってもよい。ヘッダについても、必ずしもイーサネット(登録商標)ヘッダでなくてもよく、例えば、装置内ヘッダであってもよい。
上記実施例及び変形例では、キャッシュメモリ11cが、経路検索元情報に加えて、経路情報を格納するものとした。しかしながら、キャッシュメモリ11cにおいても、TCAM11bと同様に、キャッシュメモリ11cには経路検索元情報が格納され、経路情報は、キャッシュメモリ11cとは別のメモリ(例えば、DRAM、SRAM)に分けて格納されるものとしてもよい。
また、上記実施例及び変形例では、経路検索装置10として、レイヤ2スイッチを想定したが、レイヤ3スイッチ等であってもよい。また、TCAM11bは、BCAM(Binary Content Addressable Memory)であってもよく、MACアドレステーブル11b−1は、ルーティングテーブルであってもよい。
更に、経路検索装置10に搭載されるIFカードは、IFカード11、14の2枚に限らず、3枚以上であってもよい。更に、各IFカードの有するキャッシュ化判定機能に関しても、必ずしも、各IFカード間で同一の判定方法を採ることを要しない。例えば、IFカード11については上記実施例に係る判定方法を採り、IFカード14については変形例1に係る判定方法を採るという様に、各IFカード毎に異なるキャッシュ化判定機能を有するものとしてもよい。これにより、各IFカードの特性や用途、使用状況に応じた、より適応性の高い経路検索が可能となる。
また、上記実施例及び各変形例では、経路検索装置10の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は、図示のものに限らず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することもできる。例えば、IFカード11に関し、TCAM11bと連想メモリ11fとを1つの構成要素(メモリ)として統合し、NPU11aは、該メモリから経路情報を取得するものとしてもよい。また、TM11dとCPU−IF11e、あるいは、スイッチファブリックカード12と制御カード13とをそれぞれ1つの構成要素として統合してもよい。反対に、IFカード11のNPU11aに関し、例えば、キャッシュメモリ11cを利用するか否かを判定する部分と、パケットの経路を検索する部分と、キャッシュメモリ11cに経路情報を格納するか否かを判定する部分とに分散してもよい。更に、TCAM11b等のメモリを、経路検索装置10の外部装置として、ネットワークやケーブル経由で接続する様にしてもよい。
更に、上記説明では、個々の実施例及び変形例毎に個別の構成、及び動作を説明した。しかしながら、上記実施例に係る経路検索装置10は、各変形例に特有の構成要素を併せて有するものとしてもよい。また、実施例、変形例毎の組合せについても、2つに限らず、3つ以上の組合せ等、任意の形態を採ることが可能である。例えば、変形例1の優先度に基づくキャッシュ化判定機能を、上記実施例に限らず、変形例2や変形例3に適用してもよい。更に、1つの経路検索装置10が、実施例及び変形例1〜3において説明した全ての機能を併有するものとしてもよい。
例えば、上記実施例と変形例1とを組み合わせた場合、経路検索装置10のNPU11aは、パケットPのパケット長が所定値以上である場合、パケットPの経路検索にキャッシュメモリ11cを用いることの設定があるか否かを更に判定する。該判定の結果、上記設定がある場合には、NPU11aは、パケットPのパケット長に拘らず(パケット長が所定値以上であっても)、キャッシュメモリ11cを用いて、パケットPの経路を検索する。一方、上記設定がない場合には、NPU11aは、TCAM11bを用いて、パケットPの経路を検索する。これにより、経路検索にキャッシュメモリ11cが使用されるケースは、パケットPが短い場合に加えて、上記設定がある場合にまで拡大される。従って、TCAM11bへのアクセスに伴う消費電力は、更に抑制される。
同様に、上記実施例と変形例2とを組み合わせた場合、経路検索装置10のNPU11aは、パケットPのパケット長が所定値以上である場合、パケットPの宛先が複数存在するか否かを更に判定する。該判定の結果、上記宛先が複数存在する場合には、NPU11aは、パケットPのパケット長に拘らず(パケット長が所定値以上であっても)、キャッシュメモリ11cを用いて、パケットPの経路を検索する。一方、上記宛先が複数存在しない場合には、NPU11aは、TCAM11bを用いて、パケットPの経路を検索する。これにより、経路検索にキャッシュメモリ11cが使用されるケースは、パケットPが短い場合に加えて、宛先が複数の場合にまで拡大される。従って、TCAM11bへのアクセスに伴う消費電力は、更に抑制される。
同様に、上記実施例と変形例3とを組み合わせた場合、経路検索装置10のNPU11aは、パケットPのパケット長が所定値以上である場合、パケットPが、該パケットPの直前のパケットと同一のパケット長を有するか否かを更に判定する。該判定の結果、パケットPが上記パケット長を有する場合には、NPU11aは、パケットPのパケット長に拘らず(パケット長が所定値以上であっても)、キャッシュメモリ11cを用いて、パケットPの経路を検索する。一方、パケットPが上記パケット長を有しない場合には、NPU11aは、TCAM11bを用いて、パケットPの経路を検索する。これにより、経路検索にキャッシュメモリ11cが使用されるケースは、パケットPが短い場合に加えて、パケット長が同一の場合にまで拡大される。従って、TCAM11bへのアクセスに伴う消費電力は、更に抑制される。
10 経路検索装置
11、14 IF(InterFace)カード
11a、14a NPU(Network Processing Unit)
11a−1 受信部
11a−2 抽出部
11a−3 判定部
11b、14b TCAM(Ternary Content Addressable Memory)
11b−1、14b−1 MAC(Media Access Control)アドレステーブル
11b−2、14b−2 VLAN(Virtual Local Area Network)テーブル
11c、14c キャッシュメモリ
11c−1、14c−1 経路検索元情報
11c−2、14c−2 経路情報
11d、14d TM(Traffic Manager)
11e、14e CPU−IF(Central Processing Unit−InterFace)
11f、14f 連想メモリ
12 スイッチファブリックカード
13 制御カード
P、P1、P2 パケット
P11 装置内ヘッダ
P11a 宛先カード情報
P11b 宛先ポート情報
P11c 装置内ID(IDentification)情報
P11d カラー情報
P11e マルチキャスト情報またはユニキャスト情報
P11f 経路検索関連情報
P12 イーサネット(登録商標)ヘッダ
P13 VLAN(Virtual Local Area Network)タグ情報
P14 ペイロード
P15 FCS(Frame Check Sequence)
P16 キャッシュ化判定情報
P16a キャッシュ化要否情報
P16b キャッシュ化優先度情報
P16c ブロードキャスト対策情報
P16d 同一性識別フラグ
P121、P122 ヘッダ部分

Claims (7)

  1. 外部からのパケットを送受信する複数のポートを有する複数のインタフェース部と、
    一の前記ポートから受信されたパケットを、行き先アドレスに応じた他の前記ポートへ転送するスイッチ部とを有し、
    前記インタフェース部は、
    前記パケットの経路検索に用いる複数の経路検索情報が記憶された第1のメモリと、
    前記第1のメモリよりも少ない数の前記経路検索情報が記憶された第2のメモリと、
    外部から受信した前記パケットのパケット長を抽出し、抽出した前記パケット長が所定値よりも小さい場合には、前記第2のメモリを使用して経路検索を行う検索部と
    を有することを特徴とする経路検索装置。
  2. 前記インタフェース部の検索部は、前記パケット長が所定値以上である場合、前記パケットの経路検索に前記第2のメモリを用いることの設定があるか否かを更に判定し、前記設定がある場合、前記第2のメモリを用いて、前記パケットの経路を検索することを特徴とする請求項1に記載の経路検索装置。
  3. 前記インタフェース部の検索部は、前記パケット長が所定値以上である場合、前記パケットの宛先が複数存在するか否かを更に判定し、前記宛先が複数存在する場合、前記第2のメモリを用いて、前記パケットの経路を検索することを特徴とする請求項1に記載の経路検索装置。
  4. 前記インタフェース部の検索部は、前記パケット長が所定値以上である場合、前記パケットが、該パケットの直前のパケットと同一のパケット長を有するか否かを更に判定し、前記パケットが前記パケット長を有する場合、前記第2のメモリを用いて、前記パケットの経路を検索することを特徴とする請求項1に記載の経路検索装置。
  5. 前記インタフェース部の検索部は、前記パケットのパケット長が所定値未満であり、かつ、前記パケットの経路検索情報が前記第2のメモリに記憶されていない場合、前記第2のメモリに前記経路検索情報を記憶させることを特徴とする請求項1に記載の経路検索装置。
  6. 外部からのパケットを送受信する複数のポートを有するインタフェースカードにおいて、
    前記パケットの経路検索に用いる複数の経路検索情報が記憶された第1のメモリと、
    前記第1のメモリよりも少ない数の前記経路検索情報が記憶された第2のメモリと、
    外部から受信した前記パケットのパケット長を抽出し、抽出した前記パケット長が所定値よりも小さい場合には、前記第2のメモリを使用して経路検索を行う検索部と
    を有することを特徴とするインタフェースカード。
  7. 複数の回線に接続され、一の回線からパケットを受信し、前記パケットの行き先に応じた他の回線へ前記パケットを転送する経路検索方法において、
    前記パケットの経路検索に用いる複数の経路検索情報を第1のメモリに記憶させ、
    前記第1のメモリよりも少ない数の前記経路検索情報を第2のメモリに記憶させ、
    外部から受信した前記パケットのパケット長を抽出し、抽出した前記パケット長が所定値よりも小さい場合には、前記第2のメモリを使用して経路検索を行うことを特徴とする経路検索方法。
JP2014008713A 2014-01-21 2014-01-21 経路検索装置、インタフェースカード、及び経路検索方法 Expired - Fee Related JP6314495B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014008713A JP6314495B2 (ja) 2014-01-21 2014-01-21 経路検索装置、インタフェースカード、及び経路検索方法
US14/587,169 US9832120B2 (en) 2014-01-21 2014-12-31 Packet routing apparatus, interface circuit and packet routing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014008713A JP6314495B2 (ja) 2014-01-21 2014-01-21 経路検索装置、インタフェースカード、及び経路検索方法

Publications (2)

Publication Number Publication Date
JP2015139047A true JP2015139047A (ja) 2015-07-30
JP6314495B2 JP6314495B2 (ja) 2018-04-25

Family

ID=53545807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014008713A Expired - Fee Related JP6314495B2 (ja) 2014-01-21 2014-01-21 経路検索装置、インタフェースカード、及び経路検索方法

Country Status (2)

Country Link
US (1) US9832120B2 (ja)
JP (1) JP6314495B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6003327B2 (ja) * 2012-07-19 2016-10-05 富士通株式会社 伝送装置および温度制御方法
US10530684B2 (en) * 2015-05-19 2020-01-07 International Business Machines Corporation Management of unreachable OpenFlow rules
US10496680B2 (en) 2015-08-17 2019-12-03 Mellanox Technologies Tlv Ltd. High-performance bloom filter array
US11196671B2 (en) * 2015-10-27 2021-12-07 Cisco Technology, Inc. Layer 2 channel selection
US10491521B2 (en) 2017-03-26 2019-11-26 Mellanox Technologies Tlv Ltd. Field checking based caching of ACL lookups to ease ACL lookup search
US10326663B2 (en) * 2017-06-02 2019-06-18 Cisco Technology, Inc. Fabric-wide bandth management
US10476794B2 (en) * 2017-07-30 2019-11-12 Mellanox Technologies Tlv Ltd. Efficient caching of TCAM rules in RAM
WO2019132974A1 (en) * 2017-12-29 2019-07-04 Nokia Technologies Oy Enhanced traffic capacity in a cell
US11327974B2 (en) 2018-08-02 2022-05-10 Mellanox Technologies, Ltd. Field variability based TCAM splitting
US11003715B2 (en) 2018-09-17 2021-05-11 Mellanox Technologies, Ltd. Equipment and method for hash table resizing
US10944675B1 (en) 2019-09-04 2021-03-09 Mellanox Technologies Tlv Ltd. TCAM with multi region lookups and a single logical lookup
US11539622B2 (en) 2020-05-04 2022-12-27 Mellanox Technologies, Ltd. Dynamically-optimized hash-based packet classifier
US11782895B2 (en) 2020-09-07 2023-10-10 Mellanox Technologies, Ltd. Cuckoo hashing including accessing hash tables using affinity table
US11917042B2 (en) 2021-08-15 2024-02-27 Mellanox Technologies, Ltd. Optimizing header-based action selection
US11973855B2 (en) * 2021-08-25 2024-04-30 Siemens Canada Limited PTP transparent clock with inter-VLAN forwarding
US11929837B2 (en) 2022-02-23 2024-03-12 Mellanox Technologies, Ltd. Rule compilation schemes for fast packet classification
US11968285B2 (en) 2022-02-24 2024-04-23 Mellanox Technologies, Ltd. Efficient memory utilization for cartesian products of rules

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004221807A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd 分散ルーティングテーブル管理方式およびルータ
JP2009130891A (ja) * 2007-11-28 2009-06-11 Nec Access Technica Ltd 情報処理装置及びフレーム中継方法
JP2011239299A (ja) * 2010-05-12 2011-11-24 Renesas Electronics Corp パケット転送装置、パケット転送方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000041065A (ja) 1998-07-23 2000-02-08 Nec Corp データ検索回路
DE60202136T2 (de) 2001-03-19 2005-12-01 International Business Machines Corp. Cache-eintrag-auswahlverfahren und -vorrichtung
JP2005252815A (ja) 2004-03-05 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> マルチキャストMPLS(MultiProtocolLabelSwitching)ノードテーブル及びマルチキャストMPLSノードテーブル検索方法
US7535909B2 (en) * 2004-11-09 2009-05-19 Cisco Technology, Inc. Method and apparatus to process packets in a network
JP2009017439A (ja) 2007-07-09 2009-01-22 Sii Network Systems Kk パケット転送装置およびパケット転送方法。
US8908696B2 (en) * 2008-09-09 2014-12-09 At&T Intellectual Property I, L.P. Systems and methods for optimized route caching
JP5540954B2 (ja) * 2010-07-12 2014-07-02 富士通株式会社 ブリッジ装置及びインタフェース装置、並びに通信方法
JP5708246B2 (ja) * 2011-05-25 2015-04-30 富士通株式会社 通信システム、ネットワーク装置、ゲートウエイ装置、コンピュータプログラム、データ送信方法及びデータ転送方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004221807A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd 分散ルーティングテーブル管理方式およびルータ
JP2009130891A (ja) * 2007-11-28 2009-06-11 Nec Access Technica Ltd 情報処理装置及びフレーム中継方法
JP2011239299A (ja) * 2010-05-12 2011-11-24 Renesas Electronics Corp パケット転送装置、パケット転送方法

Also Published As

Publication number Publication date
US20150207735A1 (en) 2015-07-23
US9832120B2 (en) 2017-11-28
JP6314495B2 (ja) 2018-04-25

Similar Documents

Publication Publication Date Title
JP6314495B2 (ja) 経路検索装置、インタフェースカード、及び経路検索方法
EP2640021B1 (en) Longest prefix match searches with variable numbers of prefixes
KR102162730B1 (ko) 분산형 라우팅 테이블 탐색 기술
CN108243111B (zh) 确定传输路径的方法和装置
US9215171B2 (en) Hashing-based routing table management
US20170214627A1 (en) Distributed Load Balancing for Network Service Function Chaining
US9569561B2 (en) Label masked addressable memory
JP3645734B2 (ja) ネットワーク中継装置及びネットワーク中継方法
US20160006583A1 (en) Control apparatus, communication system, switch control method and program
KR101476940B1 (ko) 스위치 시스템, 및 데이터 전송 방법
US8989193B2 (en) Facilitating insertion of device MAC addresses into a forwarding database
US10212069B2 (en) Forwarding of multicast packets in a network
US11362948B2 (en) Exact match and ternary content addressable memory (TCAM) hybrid lookup for network device
KR20150039877A (ko) 스위치 시스템, 스위치 제어 방법 및 기억 매체
US9838298B2 (en) Packetmirror processing in a stacking system
WO2014180307A1 (en) Configuring forwarding information
US8477777B2 (en) Bridge apparatus and communication method
US20150341267A1 (en) Control apparatus, communication apparatus, communication system, switch control method, and program
CN111654437B (zh) 基于数据中心的报文转发方法及装置
US11516133B2 (en) Flow cache management
US9819584B2 (en) Communication node, communication system, control apparatus, packet forwarding method, and program
US9356864B2 (en) Packet transfer apparatus and packet relay method
US10250504B1 (en) Longest prefix matching operations on a value in multiple interspersed prefix length search spaces to determine an overall longest prefix matching result in a packet switching system
WO2017000097A1 (zh) 一种数据转发的方法、装置和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180312

R150 Certificate of patent or registration of utility model

Ref document number: 6314495

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees