JP6373021B2 - 異なるように構成された最長プレフィックスマッチテーブルを処理するための装置および方法 - Google Patents

異なるように構成された最長プレフィックスマッチテーブルを処理するための装置および方法 Download PDF

Info

Publication number
JP6373021B2
JP6373021B2 JP2014047788A JP2014047788A JP6373021B2 JP 6373021 B2 JP6373021 B2 JP 6373021B2 JP 2014047788 A JP2014047788 A JP 2014047788A JP 2014047788 A JP2014047788 A JP 2014047788A JP 6373021 B2 JP6373021 B2 JP 6373021B2
Authority
JP
Japan
Prior art keywords
next hop
network switch
processor
prefix match
different
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
JP2014047788A
Other languages
English (en)
Other versions
JP2014176099A (ja
JP2014176099A5 (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.)
Cavium LLC
Original Assignee
Cavium Networks LLC
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 Cavium Networks LLC filed Critical Cavium Networks LLC
Publication of JP2014176099A publication Critical patent/JP2014176099A/ja
Publication of JP2014176099A5 publication Critical patent/JP2014176099A5/ja
Application granted granted Critical
Publication of JP6373021B2 publication Critical patent/JP6373021B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/745Address table lookup; Address filtering
    • H04L45/748Address table lookup; Address filtering using longest matching prefix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6

Landscapes

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

Description

関連の出願への相互参照
本出願は、2013年3月12日に出願された米国仮特許出願第61/778,293号に対して優先権を主張する。上記文献の内容は、参照することによって本明細書において援用される。
発明の分野
本発明は、概してコンピュータネットワークにおいてトラフィックを処理することに関する。特に、本発明は、異なるように構成された最長プレフィックスマッチテーブルを有するネットワークスイッチに関する。
発明の背景
図1は、従来技術に従って利用された最長プレフィックスマッチプロセッサ100を例示する。最長プレフィックスマッチプロセッサ100は、転送テーブル104の中のエントリを見つけるための検索エンジン102を含む。転送テーブルの中の各エントリは、ネットワークパケットに対して次の目的地(ホップ)を示す関連付けられたスイッチ識別子を有する。
図2は、従来技術の転送テーブル200の簡単化されたバージョンを例示する。転送テーブルは、エントリの組を有するプレフィックス列と、指定されたスイッチ識別子を有する次のホップの列とを有する。各プレフィックスエントリは、ネットワークアドレスのセグメントである。アスタリスク(*)は、「構わない」状態を指定する。プレフィックスマッチがない場合、次のホップは、スイッチ(A)として指定される。標的機械への最も具体的なパスを示すので、最長であるプレフィックスを有するマッチを得ることが望ましい。
図3は、最長プレフィックスマッチプロセッサ100を有するスイッチ302によって受信されているパケット300を例示する。最長プレフィックスマッチプロセッサは、別の機械へのホップ(例えば、スイッチA、CまたはE、または、機械B、D、FまたはG)を生成する。
図4は、2進法ツリーまたはトライ400を例示する。図面の上方は、図面の下方に示されたトライ400の簡単化された表示である三角形400を例示する。トライ400は、0および1によって示された異なるパスを有し、ここで、0は、左へのパスを示し、1は、右へのパスを示す。この技術を用いて、トライの中の任意のパスは、デジタル値で指定され得る。トライ400の底部は、示されるように、(0)〜(7)の8つの目的地に分岐し得る4つのリーフノードを有する。目的地(0)は、3つの左分岐がこの目的地に到達するために使用されるので、000として示される。目的地(3)は、1つの左分岐(0)の後に2つの右分岐(11)があるので、011として示される。このように、各パスは、2進法値を用いて特定され得る。トライ400は、3層のノードを有し、従って、3のストライドを有するように言われる。
図5は、トライ400が、多くの他のトライと任意の複雑な階層関係であり得ることを例示する。例えば、トライ400は、レベル0として考えられ得、その真下に、レベル1での400_1〜400_8の8つのトライを有する。このトライ拡張は、図5に示されるように、任意の数のレベルに対して処理され得る。各トライは、異なるサイズを有し得る。従って、任意長さのパスの表現がそのような構造を通して規定され得ることが理解され得る。
図6は、トライ600の各ノードが指定された数を有し得ることを例示する。この例において、ノードは、示されるように、1〜7を番号付けされる。
図7は、次のホップ情報が暗黒ノード(ノード5および7)に存在するシナリオを例示する。ノード5へのパスは、2進法で01として表され得、その一方で、ノード7へのパスは、2進法で11として表され得る。図5を参照して、ノードパスは、複数のレベルを横断し得ること、および、特定のノードへの合成パスは、長い2進法値を用いて表され得ることが理解され得る。
上述を考慮して、最長プレフィックスマッチを識別するための改善された技術を提供することに対して継続的なニーズがある。
発明の要約
ネットワークスイッチは、トライの階層の中の個々のトライの異なるテーブル構成を格納するように構成可能なメモリを含む。プレフィックステーブルプロセッサは、入力ネットワークアドレスを用いて、個々のトライの異なるテーブル構成に並列でアクセスし、各異なるテーブル構成において最長プレフィックスマッチを検索して、ローカルプレフィックスマッチを得る。ローカルプレフィックスマッチから最長プレフィックスマッチが選択される。最長プレフィックスマッチは、関連付けられた次のホップインデックスベースアドレスおよびオフセット値を有する。次のホップインデックプロセッサは、メモリ内の次のホップインデックステーブルにアクセスし、次のホップインデックスベースアドレスおよびオフセット値を用いて、次のホップテーブルポインタを得る。次のホッププロセッサは、メモリ内の次のホップテーブルにアクセスし、次のホップテーブルポインタを用いて、目的地ネットワークアドレスを得る。
本願明細書は、例えば、以下の項目も提供する。
(項目1)
ネットワークスイッチであって、
該ネットワークスイッチは、
トライの階層の中の個々のトライの異なるテーブル構成を格納するように構成可能なメモリと、
プレフィックステーブルプロセッサであって、
該プレフィックステーブルプロセッサは、
入力ネットワークアドレスを用いて、該個々のトライの該異なるテーブル構成に並列でアクセスし、各異なるテーブル構成において最長プレフィックスマッチを検索して、ローカルプレフィックスマッチを得ることと、
該ローカルプレフィックスマッチから最長プレフィックスマッチを選択することであって、該最長プレフィックスマッチは、関連付けられた次のホップインデックスベースアドレスおよびオフセット値を有する、ことと
を行う、プレフィックステーブルプロセッサと、
該メモリ内の次のホップインデックステーブルにアクセスし、該次のホップインデックスベースアドレスおよびオフセット値を用いて、次のホップテーブルポインタを得る次のホップインデックプロセッサと、
該メモリ内の次のホップテーブルにアクセスし、該次のホップテーブルポインタを用いて、目的地ネットワークアドレスを得る次のホッププロセッサと
を含む、ネットワークスイッチ。
(項目2)
上記異なるテーブル構成は、選択されたトライノードを識別するスパースモードテーブル構成を含む、上記項目に記載のネットワークスイッチ。
(項目3)
上記スパースモードテーブル構成は、分岐識別およびストライド値を含む、上記項目のいずれかに記載のネットワークスイッチ。
(項目4)
上記異なるテーブル構成は、選択されたトライノードを識別するビットマップを有するビットマップモードテーブル構成を含む、上記項目のいずれかに記載のネットワークスイッチ。
(項目5)
上記ビットマップモードテーブル構成は、分岐識別およびストライド値を含む、上記項目のいずれかに記載のネットワークスイッチ。
(項目6)
上記異なるテーブル構成は、トライの底部において選択されたトライノードを識別するリーフプッシュモードテーブル構成を含む、上記項目のいずれかに記載のネットワークスイッチ。
(項目7)
上記リーフプッシュモードテーブル構成は、分岐識別およびストライド値を含む、上記項目のいずれかに記載のネットワークスイッチ。
(項目8)
上記プレフィックステーブルプロセッサは、決定論的ルックアップ待ち時間を有するハードウェアリソースである、上記項目のいずれかに記載のネットワークスイッチ。
(項目9)
上記異なるテーブル構成は、同じテーブルにおける異なるパケット種類を有するテーブルを含む、上記項目のいずれかに記載のネットワークスイッチ。
(項目10)
上記異なるパケット種類は、IPV4パケットおよびIPV6パケットを含む、上記項目のいずれかに記載のネットワークスイッチ。
(項目11)
上記プレフィックステーブルプロセッサは、リモートホストに対する最長プレフィックスマッチと、直接に取り付けられたホストに対する正確なマッチとを識別する、上記項目のいずれかに記載のネットワークスイッチ。
(項目12)
上記プレフィックステーブルプロセッサは、同じテーブルにおいて、リモートホストに対する最長プレフィックスマッチと、直接に取り付けられたホストに対する正確なマッチとを識別する、上記項目のいずれかに記載のネットワークスイッチ。
(項目13)
上記次のホップインデックスプロセッサは、等価コストマルチパスルーチィングを容易にするために、次のホップテーブルエントリのブロックを処理する、上記項目のいずれかに記載のネットワークスイッチ。
(項目14)
上記ブロックは、最大で1024個のパスを識別する、上記項目のいずれかに記載のネットワークスイッチ。
(摘要)
ネットワークスイッチは、トライの階層の中の個々のトライの異なるテーブル構成を格納するように構成可能なメモリを含む。プレフィックステーブルプロセッサは、入力ネットワークアドレスを用いて、個々のトライの異なるテーブル構成に並列でアクセスし、各異なるテーブル構成において最長プレフィックスマッチを検索して、ローカルプレフィックスマッチを得る。ローカルプレフィックスマッチから最長プレフィックスマッチが選択される。最長プレフィックスマッチは、関連付けられた次のホップインデックスベースアドレスおよびオフセット値を有する。次のホップインデックプロセッサは、メモリ内の次のホップインデックステーブルにアクセスし、次のホップインデックスベースアドレスおよびオフセット値を用いて、次のホップテーブルポインタを得る。次のホッププロセッサは、メモリ内の次のホップテーブルにアクセスし、次のホップテーブルポインタを用いて、目的地ネットワークアドレスを得る。
本発明は、添付の図面に関連してなされる以下の詳細な説明に関連してより完全に理解される。
図1は、従来技術の最長プレフィックスマッチプロセッサを例示する。 図2は、従来技術の転送テーブルを例示する。 図3は、パケットを任意の数のスイッチまたは機械にルーティングする最長プレフィックスマッチプロセッサを有するスイッチを例示する。 図4は、従来技術の2進法ツリーを例示する。 図5は、任意の複雑なパスを有する2進法ツリーの入れ子構成を例示する。 図6は、本発明の実施形態に従って使用されたノード数を例示する。 図7は、選択されたノードでの次のホップ情報を有する2進法ツリーを例示する。 図8は、本発明の実施形態に従って利用されたスパースモードテーブル構成を例示する。 図9は、本発明の実施形態に従って利用されたビットマップモードテーブル構成を例示する。 図10は、本発明の実施形態に従って利用されたリーフプッシュモードテーブル構成を例示する。 図11は、本発明の実施形態に従って利用された次のホップインデックステーブルを例示する。 図12は、本発明の実施形態に従って利用された次のホップテーブルを例示する。 図13は、本発明の実施形態に従って実行されたパケット処理動作を例示する。 図14は、本発明の実施形態に従って利用された処理コンポーネントを例示する。
同様な参照番号は、図面のうちのいくつかの図にわたって対応するパーツを指す。
発明の詳細な説明
本発明は、スイッチ内に埋め込まれた最長プレフィックスマッチプロセッサである。最長プレフィックスマッチプロセッサは、異なるように構成された最長プレフィックスマッチテーブルを利用し、最長プレフィックスマッチテーブルは、異なる最長プレフィックスマッチ検索ストラテジーおよび最適化ストラテジーに対して最適化され得る。1つの最長プレフィックスマッチテーブルが図8に示される。テーブルの第1の列は、パケット種類(この場合、IPV4)を特定する。有利に、IPV4およびIPV6パケット種類は、単一のテーブルの中に効率的に格納され得る。次の列は、格納モード(この場合、スパースモード)を特定する。スパースモードは、個々のトライに対して大きなストライドを容易にする。すなわち、スパースモードは、個々のトライが大きい構成に対して処理を容易にする。次の列は、分岐長を特定する。分岐長は、階層トライのルートノードから個々のトライの任意のルートノード(例えば、図5の2進法トライ(サブトライとも呼ばれる))へのパスの長さの指標である。ストライドは、トライのサイズ(例えば、2stride)を特定する。この例において、ストライドは、5、または25または32である。次の列は、次のホップインデックスベースアドレスである。本発明は、次のホップテーブルへの参照のための次のホップインデックスを利用する。これは、構成メモリリソースにおける最大柔軟性を可能にする。テーブルの次の列は、分岐ID(例えば、前述のように、ツリーを通るパスの2進法表示)である。図8の最後の列は、次のホップ情報を有するトライノードIDを特定する。図7は、トライノードと、次のホップ情報を有する対応するノードIDとの例を提供する。図8の第1の4つのフィールドは、固定の幅を有する。残りの2つのフィールド可変な幅を有する。
図9は、プレフィックスマッチテーブルのための異なる構成を例示する。第1のフィールドは、パケット種類を特定する。次のフィールドは、ビットマップモードを特定する。次のフィールドは、前述のように、分岐長を特定する。次のフィールドは、ストライドを特定する。ビットマップモードにおいて、ストライド5のトライのための全てのノードは、25−1または31ビットのアレイで格納される。次の2つのフィールドは、NHIベースアドレスおよび分岐IDである。分岐IDは、前述のように、分岐パスを特定する。NHIベースアドレスは、1としてマーク付けられている、トライビットマップの最下位ビットに対応するベース位置を特定する。他のノードは、ベース位置からインクリメントされたNHIテーブルの中へのそれらのポインタを有する。例えば、ベース位置がゼロである場合、1としてマーク付けられた第5のビットは、ベース位置から4つのエントリをインクリメントされ得る。最後のフィールドは、トライビットマップである。この例において、トライビットマップは、31ビットマップである。ビットマップは、次のホップ情報を有する特定されたトライ内において異なる位置を特定する。
図10は、プレフィックスマッチテーブルのための異なる構成を例示する。第1のフィールドは、リーフプッシュモードを特定する。リーフプッシュにおいて、アレイ内において最下方ノードのみが示される。例えば、図6を参照して、ノード4、5、6および7のみが、アレイ内において示され得る。図6の他のノードが次のホップ情報を有する場合、様々な技術(例えば、制御されたプレフィックス拡張)が使用されて、その情報を最下方ノードに位置決めし得る。NHIテーブルは、この場合において対応する重複を作る必要がある。このモードは、特に、直接に接続されたホストに対するネットワークアドレスが、それらのホストが一般的に連番を有するので、同じテーブル内に格納される場合において特にメモリ効率的である。このモードは、全ての検索が同じレベルにおいて終了するので、有益である。
図10のテーブルは、分岐長フィールド、ストライドフィールド、NHIベースアドレスフィールド、分岐IDフィールドおよびトライ下方ビットマップフィールドも有する。5のストライドの場合において、全ビットマップは、25−1または31ビットを有し、結果として16ノードの下方組をもたらす。従って、16ビットマップは、これらの異なるノードの位置を特定するために使用され得る。
図11は、次のホップインデックステーブルを例示する。テーブル内の異なるエントリは、ブロックサイズオフセットを加えた次のホップテーブルベースへのポインタを特定する。ベース位置は、テーブル内へのエントリポイントを特定し、その一方で、ブロックサイズは、そのベース位置からの追加のフィールドを特定する。次のホップテーブルエントリのブロックサイズは、等価コストマルチパス(ECMP)ルーティング(アドバンストネットワークルーティングストラテジー)のために使用される。IPアドレスと共に、最長プレフィックスマッチエンジンへの各リクエストには、パス選択に対するECMPハッシュ値を伴う。各ECMPハッシュ値は、利用可能なブロックサイズよりも大きい場合もあり、従って最後のパス選択は、次のホップブロックサイズの入力ECMPハッシュ値モジュロを加えた次のホップベースアドレスのように計算される。一実施形態において、最大で1024個のパスが、ECMPに対してサポートされる。
NHIテーブルサイズは、トライ構成の関数である。テーブルサイズは、動的に構成および最適化され得る。
図12は、次のホップテーブルを例示する。テーブル内の各エントリは、目的地の機械へのホップを特定する。
図13は、本発明の実施形態に従って実行される処理動作を例示する。侵入ネットワークアドレス(例えば、インターネットプロトコルアドレス)1300は、プレフィックステーブル0〜Nの組に適用され、テーブルの全てまたは一部分が、ソフトウェアによって構成され得る。各プレフィックステーブルは、プレフィックスエントリの組を含み、プレフィックスエントリの各々が、図8〜10に関連して議論されたように、トライへのパスを特定し、そのトライの特徴を指定する。例としてプレフィックステーブル0 1302を用いて、侵入ネットワークアドレスのビットのソフトウェア構成された選択は、プレフィックステーブルアドレスにマッピングするために、ハッシュ機能に適用される1304。有利に、全てのマッチは、ハードウェアにおいて固定の待ち時間で処理される。次に、プレフィックステーブルメモリは、サブトライ0(例えば、図5に示されるような、任意の複雑な階層トライ構造の中の個々のトライ)に到達するために、読み取られる1306。次に、最長プレフィックスマッチは、そのサブトライ1308において実行される。この処理は、ローカルプレフィックスマッチを生成するために、0〜Nのプレフィックステーブルのすべてにわたって繰り返される。次に、その結果は、最長プレフィックスマッチ1310を選択するように処理される。次に、NHIテーブルが、1312を読み取られ、NHIテーブルは、結果として次のホップ1316を生成する次のホップテーブル1314へのアクセスをもたらす。
図14は、本発明の実施形態に従って構成された最長プレフィックスマッチプロセッサ1400を例示する。プロセッサ1400は、プレフィックステーブルプロセッサ1402を含み、プレフィックステーブルプロセッサ1402は、異なる最長プレフィックスマッチテーブル(例えば図8〜10示されたそれら)を特定し、その後アクセスするように構成されたハードウェアリソースである。テーブルは、メモリ1404内に存在し、メモリ1404は、SRAMリソースのプールであり得る。プレフィックステーブルプロセッサ1402は、図13の動作1304〜1310を連係させる。次に、次のホップインデックスプロセッサ1406は、メモリ1404の中の次のホップインデックステーブルにアクセスするように使用され得、ベースアドレスおよびオフセットを(もしあれば)次のホッププロセッサ1408に戻す。次のホッププロセッサ1408は、メモリ1404の中に格納された次のホップテーブルにアクセスし、結果1410として次のホップアドレスを生成する。プレフィックステーブルプロセッサ1402がトライミスまたは他のエラーを有する場合、エラーまたはデフォルト結果1410は、矢印1412で示されるように、直接に生成され得る。
説明の目的のために、上記説明は、本発明の全体的な理解を提供するように具体的な述語を使用した。しかしながら、当業者にとって、具体的な詳細は、本発明を実施するために必要とされないことが容易に理解できる。従って、本発明の具体的な実施形態の上記説明は、例示および説明の目的のために提示されている。それらは、網羅的であるように意図されず、または本発明を開示された精確な態様に限定するように意図されず、明らかに、多くの変更およびバリエーションは、上記教示を考慮して可能である。実施形態は、本発明の原理およびその実際のアプリケーションを説明するために、選択および説明され、それによって、実施形態は、当業者が、熟考された特定の使用に適するように、様々な変更と共に、本発明および様々な実施形態を最もよく利用することを可能にする。以下の請求項およびそれらの同等物は、本発明の範囲を規定する

Claims (9)

  1. ネットワークスイッチであって、
    該ネットワークスイッチは、
    トライの階層の中の個々のトライの異なるテーブル構成を格納するように構成可能なメモリであって、前記異なるテーブル構成は、選択されたトライノードを識別するスパースモードテーブル構成、選択されたトライノードを識別するビットマップを有するビットマップモードテーブル構成、およびトライの底部において選択されたトライノードを識別するリーフプッシュモードテーブル構成を含む、メモリと、
    プレフィックステーブルプロセッサであって、
    該プレフィックステーブルプロセッサは、
    入力ネットワークアドレスを用いて、該個々のトライの該異なるテーブル構成にアクセスし、各異なるテーブル構成において最長プレフィックスマッチを検索して、ローカルプレフィックスマッチを得ることと、
    該ローカルプレフィックスマッチから最長プレフィックスマッチを選択することであって、該最長プレフィックスマッチは、関連付けられた次のホップインデックスベースアドレスおよびオフセット値を有する、ことと
    を行う、プレフィックステーブルプロセッサと、
    該メモリ内の次のホップインデックステーブルにアクセスし、該次のホップインデックスベースアドレスおよびオフセット値を用いて、次のホップテーブルポインタを得る次のホップインデックプロセッサと、
    該メモリ内の次のホップテーブルにアクセスし、該次のホップテーブルポインタを用いて、目的地ネットワークアドレスを得る次のホッププロセッサと
    を含む、ネットワークスイッチ。
  2. 前記スパースモードテーブル構成は、分岐識別およびストライド値を含む、請求項に記載のネットワークスイッチ。
  3. 前記ビットマップモードテーブル構成は、分岐識別およびストライド値を含む、請求項に記載のネットワークスイッチ。
  4. 前記リーフプッシュモードテーブル構成は、分岐識別およびストライド値を含む、請求項に記載のネットワークスイッチ。
  5. 前記プレフィックステーブルプロセッサは、決定論的ルックアップ待ち時間を有するハードウェアリソースである、請求項1に記載のネットワークスイッチ。
  6. 前記異なるテーブル構成は、同じテーブルにおける異なるパケット種類を有するテーブルを含む、請求項1に記載のネットワークスイッチ。
  7. 前記異なるパケット種類は、IPV4パケットおよびIPV6パケットを含む、請求項に記載のネットワークスイッチ。
  8. 前記次のホップインデックスプロセッサは、等価コストマルチパスルーティングを容易にするために、次のホップテーブルエントリのブロックサイズを用いる、請求項1に記載のネットワークスイッチ。
  9. 前記ブロックは、最大で1024個のパスを識別する、請求項に記載のネットワークスイッチ。
JP2014047788A 2013-03-12 2014-03-11 異なるように構成された最長プレフィックスマッチテーブルを処理するための装置および方法 Active JP6373021B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361778293P 2013-03-12 2013-03-12
US61/778,293 2013-03-12

Publications (3)

Publication Number Publication Date
JP2014176099A JP2014176099A (ja) 2014-09-22
JP2014176099A5 JP2014176099A5 (ja) 2017-01-19
JP6373021B2 true JP6373021B2 (ja) 2018-08-15

Family

ID=51526849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014047788A Active JP6373021B2 (ja) 2013-03-12 2014-03-11 異なるように構成された最長プレフィックスマッチテーブルを処理するための装置および方法

Country Status (4)

Country Link
US (2) US9331942B2 (ja)
JP (1) JP6373021B2 (ja)
HK (1) HK1202193A1 (ja)
TW (1) TWI645694B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9485179B2 (en) 2014-11-13 2016-11-01 Cavium, Inc. Apparatus and method for scalable and flexible table search in a network switch
US9553829B2 (en) 2014-11-13 2017-01-24 Cavium, Inc. Apparatus and method for fast search table update in a network switch
US10003676B2 (en) * 2015-02-20 2018-06-19 Cavium, Inc. Method and apparatus for generating parallel lookup requests utilizing a super key
US9680749B2 (en) 2015-02-27 2017-06-13 Arista Networks, Inc. System and method of using an exact match table and longest prefix match table as a combined longest prefix match
US9985885B1 (en) 2015-12-11 2018-05-29 Amazon Technologies, Inc. Aggregating common portions of forwarding routes
US10284472B2 (en) 2017-01-24 2019-05-07 Cisco Technology, Inc. Dynamic and compressed trie for use in route lookup
US10250504B1 (en) * 2017-10-03 2019-04-02 Cisco Technology, Inc. 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
US11140128B2 (en) * 2018-10-05 2021-10-05 Palo Alto Research Center Incorporated Hierarchical geographic naming associated to a recursively subdivided geographic grid referencing
CN114153400B (zh) * 2021-12-08 2024-01-30 国仪石油技术(无锡)有限公司 一种用于测井仪器中的数据存储方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141738A (en) * 1998-07-08 2000-10-31 Nortel Networks Corporation Address translation method and system having a forwarding table data structure
CN1435030A (zh) * 1999-12-10 2003-08-06 睦塞德技术公司 最长匹配地址查询的方法和装置
US6880064B1 (en) * 2000-06-21 2005-04-12 Mosaid Technologies, Inc. Method and apparatus for physical width expansion of a longest prefix match lookup table
US7111071B1 (en) * 2000-06-29 2006-09-19 Intel Corporation Longest prefix match for IP routers
US7782853B2 (en) * 2002-12-06 2010-08-24 Stmicroelectronics, Inc. Apparatus and method of using fully configurable memory, multi-stage pipeline logic and an embedded processor to implement multi-bit trie algorithmic network search engine
JP2005117213A (ja) * 2003-10-06 2005-04-28 Nippon Telegr & Teleph Corp <Ntt> 経路表および経路検索方法
US8295286B2 (en) * 2003-12-31 2012-10-23 Stmicroelectronics, Inc. Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware
US7019674B2 (en) * 2004-02-05 2006-03-28 Nec Laboratories America, Inc. Content-based information retrieval architecture
US7724734B1 (en) * 2005-12-23 2010-05-25 Extreme Networks, Inc. Methods, systems, and computer program products for controlling updating of a layer 3 host table based on packet forwarding lookup miss counts
US7827218B1 (en) * 2006-11-18 2010-11-02 X-Engines, Inc. Deterministic lookup using hashed key in a multi-stride compressed trie structure
US8090901B2 (en) * 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8755383B2 (en) * 2011-03-21 2014-06-17 Avaya, Inc. Usage of masked ethernet addresses between transparent interconnect of lots of links (TRILL) routing bridges

Also Published As

Publication number Publication date
TW201503634A (zh) 2015-01-16
JP2014176099A (ja) 2014-09-22
US20160241473A1 (en) 2016-08-18
US9729447B2 (en) 2017-08-08
TWI645694B (zh) 2018-12-21
HK1202193A1 (en) 2015-09-18
US9331942B2 (en) 2016-05-03
US20140269723A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
JP6373021B2 (ja) 異なるように構成された最長プレフィックスマッチテーブルを処理するための装置および方法
US7808929B2 (en) Efficient ACL lookup algorithms
JP5525273B2 (ja) 階層的に構造化された可変長識別子を有するパケットを転送するためのシステム
US9680747B2 (en) Internet protocol and Ethernet lookup via a unified hashed trie
US9269411B2 (en) Organizing data in a hybrid memory for search operations
US7774538B2 (en) Method for ternary contents address memory table management
US20100100671A1 (en) Double density content addressable memory (cam) lookup scheme
US10341223B2 (en) Multicast data packet forwarding
JP6997297B2 (ja) パケット分類決定木の確立
US8848707B2 (en) Method for IP longest prefix match using prefix length sorting
US20170366459A1 (en) Jump on a Match Optimization for Longest Prefix Match using a Binary Search Tree
US10326712B2 (en) Multicast data packet forwarding
US10511547B2 (en) Multicast data packet forwarding
EP3280104B1 (en) Ip routing lookup
CN107528783A (zh) 利用对前缀长度进行两个搜索阶段的ip路由缓存
WO2016143405A1 (ja) 検索装置、検索方法、プログラム、及び記録媒体
WO2014047863A1 (en) Generating a shape graph for a routing table
CN104052669B (zh) 用于处理交替配置的最长前缀匹配表的装置
US9544226B1 (en) Efficient address-based rule resolution in a network employing a bit-mapped index
KR20140111986A (ko) 얼터네이트하게 구성된 최장 프리픽스 매칭 테이블들을 처리하기 위한 장치 및 방법
KR100919256B1 (ko) 3계층 스위칭 기능을 구비한 장치 및 스위칭 기능을 구비한네트워크 장치
KR100890354B1 (ko) 3계층 스위칭을 위한 포워딩 테이블을 관리하는 장치 및포워딩 테이블 관리 알고리즘
EP2947839A1 (en) Method and apparatus to forward a request for content
Maksic et al. Updating designed for fast IP lookup
KR20090022473A (ko) 3계층 스위칭을 위한 포워딩 테이블

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20150129

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150129

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20161110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20161110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180717

R150 Certificate of patent or registration of utility model

Ref document number: 6373021

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250