JP3949696B2 - プロトコル高速化装置 - Google Patents

プロトコル高速化装置 Download PDF

Info

Publication number
JP3949696B2
JP3949696B2 JP2005513339A JP2005513339A JP3949696B2 JP 3949696 B2 JP3949696 B2 JP 3949696B2 JP 2005513339 A JP2005513339 A JP 2005513339A JP 2005513339 A JP2005513339 A JP 2005513339A JP 3949696 B2 JP3949696 B2 JP 3949696B2
Authority
JP
Japan
Prior art keywords
information
search
item
stored
tcam
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.)
Expired - Fee Related
Application number
JP2005513339A
Other languages
English (en)
Other versions
JPWO2005020525A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2005020525A1 publication Critical patent/JPWO2005020525A1/ja
Application granted granted Critical
Publication of JP3949696B2 publication Critical patent/JP3949696B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores

Landscapes

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

Description

本発明は、ネットワーク上のパケット転送装置情報、ネットワーク情報をネットワーク内のパケット転送装置間で、またはルーティングテーブル生成装置間で、OSPF(Open Shortest Path First)やISIS(Intermediate System to Intermediate System)などのルーティングプロトコルを用いて、交換し収集した情報から最短経路を計算するDijkstraなどの最短経路アルゴリズムを使って、パケットの宛先までの最短経路を求めるために用いるルーティングテーブルの生成技術に関する。
また、本発明は、IPルータなどのパケット転送装置が、入力回線から入力されたパケットに対して必要な処理(例えば宛先アドレスを見て宛先への最短経路を求めこのパケットの出力回線を決定するなど)を行うインタフェースに利用する。特に、OSPF(Open Shortest Path First)やISIS(Intermediate System to Intermediate System)などのルーティングプロトコルで受信した制御パケットを用いて受信した情報の処理技術に関する。
従来は、ルーティングテーブル生成装置は外部メモリ(SRAMやSDRAM)と情報処理装置からなるだけであり、情報処理装置は受信した情報を情報の項目毎に分けて、情報を一意に識別する項目から検索ツリーを作成し、ツリーの中には受信した情報とツリー構成情報とを格納している。
また、OSPFやISISなどのルーティングプロトコルは、制御メッセージをルータなどのパケット転送装置間でやりとりを行い、得られたネットワーク上のパケット転送装置のリンクコスト情報を元に最短経路を導き出す。制御メッセージはネットワーク状態の更新があった時または(および)定期的にネットワーク内の全パケット転送装置にブロードキャストされる。
ルータが制御メッセージ受信時に制御が新しいかどうか判断するために、制御メッセージから作成されたリンク状態データベース(以下、LSDB(Link State Data Base)という)検索を行うが、従来方式では、LSDB検索がルーティングプロトコルを制御する経路制御装置(以下、RS(Route Server))で集中的に行われていた。
LSDB検索速度はメモリアクセス速度が鍵となるが、多くのパケット転送装置ではコスト削減のためにRSにパソコンカードを利用することが多く、これらは低速メモリを採用しており、またパソコンカードを利用しない場合でもRSでは様々なアプリケーションやOSを動かすため、大容量メモリが要求されコストの安い低速メモリを採用している。このため、LSDBの高速検索が不可能であった。
従来は、RSでLSDB検索には検索ツリーを作成し検索を行っていた。RSはインタフェースから転送された制御パケットの情報を項目毎に分けて、この情報を一意に識別する項目を元に検索ツリーを作成し、ツリーの中には受信した情報とツリー構成情報とを格納している。
検索ツリーの中でも特に一般的に用いられているパトリシアツリーについて説明する。パトリシアツリーは2分探索木の一種であり、ノードがツリー上にポインタを用いて繋がっている。
図1に検索すべき比較項目とその回答を検索テーブルで表した図を示す。図1の検索テーブルをパトリシアツリーを用いて検索する例を図2に示す。なお、説明を分かりやすくするために、各フィールドは2進数で表記しフィールドの長さは5bitとする。また「*」は検索時にそれ以降のビット値を無視することを示す。
検索すべき検索キーとノードに格納されている比較項目とを比較しながら、ツリーを下方向に分岐していく。検索はあるノードに検索すべき検索キーが到達したとき、そのノードが持つ比較項目と検索すべき検索キーの上位から必要なビット分(*の直前のビットまでであり、100*ならば上位3ビット分)を比較する。一致しない場合は、一致する項目がないという結果で検索を終了する。一致した場合は、検索すべき検索キーの中の比較したビットの一番最後の次ビットに注目し、自分よりも下のノード(以下、子ノードと呼ぶ)が存在する場合は子ノードへ移り検索を続け、全ビットが一致した時点で検索を終了し、そのノードに格納されている回答を得ることができる。
図2では、10001という検索キーを検索する場合の例を示している。最初に検索キーの最初の1ビット目を見て0であるか1であるかを判断する。本例では、1であるので、ノード100*へ移り上位3ビット分を比較する。一致しているので次に検査ビットとなる検索キーの4ビット目を調べる。検索ビットが0なのでノード10001へ移る。ここで全ビット一致しているため検索を終了し、回答であるXを得ることができる。
その他に、TCAM(Ternary Content Addressable Memory)による検索方法がある。TCAMは、インタフェース上のルーティングテーブル検索に使われることがある。TCAMは、SRAMやSDRAMのように物理アドレスをキーとして格納されているデータを出力するのではなく、各物理アドレスに格納された値と入力された値とを比較し一致した場合には一致した値が格納されていた物理アドレスを出力するものである。
図1の検索テーブルをTCAMを用いて検索する例を図3に示す。TCAM内には比較項目を、外部メモリにはその回答を格納する。このとき、比較項目を格納しているTCAMの物理アドレスと比較項目の回答を格納している外部メモリの物理アドレスとをマッピングできるようにしておく。本例では、比較項目を格納しているTCAMの物理アドレスと比較項目の回答を格納している外部メモリの物理アドレスとは同じ物理アドレスとしている。
前述の通りTCAMは各物理アドレスに格納された値と入力された値とを比較し、一致した場合には一致した値が格納されていた物理アドレスを出力するため、図3の例では検索キーとして10001を入力した時には物理アドレス#9が出力され、その物理アドレスを元に回答を外部メモリから獲得することができる。TCAMの検索は1回の入力で、格納されているデータ全てを1度に検索することが可能なため、非常に高速な検索が可能であり、またネットワークが大きくなっても(比較項目が多くなっても)検索に必要な時間は変わらないという利点がある。
Faster link−state IGP convergence and improved network scalability and stability;Choudhury,G.L.;Maunder,A.S.;Sapozhnikova,V.D.;Local Computer Networks,2002.Proceedings.LCN2001.26th Annual IEEE Conference on,14−16 Nov.2001.Page(s):149−158
ツリーの深さは検索すべき検索キーのビット幅に依存する。例えば検索キーがIPv4アドレスならば最大33回必要になり、IPv6アドレスでは最大129回必要になる。図4にパトリシアツリーを使った検索の経路を破線で示す。ノード内の情報は外部メモリに格納されているので、検索回数がメモリ参照回数に比例する。検索キーのビット幅が大きくなると、またツリーのノード数が増えると検索回数(メモリ参照回数)が増え検索に多くの時間が必要になるという課題がある。
ルーティングテーブル作成を行うルーティングプロトコルの処理には大きく分けて、下記の3つがある。
(1)リンク状態情報管理:リンクやネットワーク状態を伝えるリンク状態情報パケットの送受信を行い、リンク状態情報をデータベースとして管理
(2)最短経路計算:リンク状態情報のデータベースからDijkstraアルゴリズムのような最短経路アルゴリズムを利用し宛先までの最短経路の算出
(3)近接ルータの発見と維持(Helloパケット処理):Helloパケット交換により近接ルータの発見と障害検出
特に、多くの処理時間が必要となる(1)、(2)の処理の中でも、リンク状態情報データベースの検索にかかる時間が多くを占め、また従来方式では検索ツリーを用いているためネットワークが大きくなればなるほど、ツリーのノード数が大きくなるためリンク状態情報のデータベースの検索に時間が必要になっていた。そのため近年インターネットの急速な普及により、1つの管理ドメインが管理するネットワークはますます大きくなってきているが、それに伴いルーティングテーブル生成が遅くなったり、経路がフラッピングする(最短経路が一意に決まらずフラフラする)といった問題が発生し、1つの管理ドメインでは大きなネットワークを作成できないという課題があった(例えば、非特許文献1参照)。
本発明の第1態様は、このような背景に行われたものであって、ネットワークの増大に伴いルーティングテーブルの生成に時間がかかるために、1つの管理ドメインでは大きなネットワークを作ることができなかったという課題を解決することを目的とする。
本発明の第1態様は、入力回線から入力されたパケットの宛先アドレスに基づき当該パケットの次ホップを決定するためのルーティングテーブルを生成するルーティングテーブル生成装置である。
ここで、本発明の第1態様の特徴とするところは、TCAMと、外部メモリと、受信した情報を項目毎に分類する手段と、この分類された項目のうち当該情報を一意に識別する項目については前記TCAMに格納し、その他の項目については前記外部メモリに格納する手段とを備えたところにある。
これにより、格納してある情報を検索する際には、その情報を一意に識別する項目が格納されているTCAMだけを検索すればよいので、高速検索を実現することができる。
また、新たに情報を受信したときには、当該情報の格納に先立って、前記分類された項目のうち当該情報を一意に識別する項目を検索キーとして前記TCAMに格納された情報を検索する手段と、この検索により新たに受信した情報の前記一意に識別する項目と既に前記TCAMに格納されている情報の前記一意に識別する項目とが不一致のときには、前記格納する手段による格納処理を起動する手段と、この検索により新たに受信した情報の前記一意に識別する項目と既に前記TCAMに格納されている情報の前記一意に識別する項目とが一致したときには、当該一意に識別する項目に対応する前記外部メモリに格納された情報と新たに受信した情報の同一項目との新旧を比較する手段とを備えることができる。
さらに、前記比較する手段の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも古いまたは同一であるときには当該新たに受信した情報を無視する手段と、前記比較する手段の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも新しいときには既に前記外部メモリに格納されている情報を新たに受信した情報により更新する手段を備えることができる。
これにより、新たに到着した情報が外部メモリに既に格納されている情報よりも古いまたは同一であるときには更新処理を行わず、更新処理に要する処理負荷を軽減させることができると共に、不要な情報の格納を回避してメモリを有効に利用することができる。
また、前記TCAMおよび前記外部メモリに格納された情報を用いて到着したパケットの宛先アドレスに基づく最短経路探索を行う手段を備えることができる。
これにより、1つの装置の情報処理装置を用いてルーティングテーブル生成と共に最短経路探索を行うことができ、ハードウェアを有効利用することができる。
さらに、前記最短経路探索に基づき到着したパケットの次ホップを決定する手段を備えることができる。
本発明の第1態様の他の観点は、入力回線から入力されたパケットの宛先アドレスに基づき当該パケットの次ホップを決定するためのルーティングテーブルを生成するルーティングテーブル生成装置に適用されるプログラムである。
ここで、本発明の第1態様の特徴とするところは、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、受信した情報を項目毎に分類する機能と、この分類された項目のうち当該情報を一意に識別する項目についてはTCAMに格納し、その他の項目については外部メモリに格納する機能とを実現させるところにある。
また、新たに情報を受信したときには、当該情報の格納に先立って、前記分類された項目のうち当該情報を一意に識別する項目を検索キーとして前記TCAMに格納された情報を検索する機能と、この検索により新たに受信した情報の前記一意に識別する項目と既に前記TCAMに格納されている情報の前記一意に識別する項目とが不一致のときには、前記格納する機能による格納処理を起動する機能と、この検索により新たに受信した情報の前記一意に識別する項目と既に前記TCAMに格納されている情報の前記一意に識別する項目とが一致したときには、当該一意に識別する項目に対応する前記外部メモリに格納された情報と新たに受信した情報の同一項目との新旧を比較する機能とを実現させることができる。
さらに、前記比較する機能の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも古いまたは同一であるときには当該新たに受信した情報を無視する機能と、前記比較する機能の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも新しいときには既に前記外部メモリに格納されている情報を新たに受信した情報により更新する機能を実現させることができる。
また、前記TCAMおよび前記外部メモリに格納された情報を用いて到着したパケットの宛先アドレスに基づく最短経路探索を行う機能を実現させることができる。さらに、前記最短経路探索に基づき到着したパケットの次ホップを決定する機能を実現させることができる。
本発明の第1態様のさらに他の観点は、本発明のプログラムが記録された前記コンピュータ装置読み取り可能な記録媒体である。本発明のプログラムは本発明の記録媒体に記録されることにより、前記コンピュータ装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記コンピュータ装置に本発明のプログラムをインストールすることもできる。
これにより、汎用のコンピュータ装置を用いて、ルーティングテーブルの生成時間を短縮することができ、1つの管理ドメインで大きなネットワークを作ることを可能とするルーティングテーブル生成装置を実現することができる。
本発明の第2態様は、パケット転送装置に備えられ、入力回線から入力されたパケットに対して処理を行うインタフェースに設けられたLSDB検索装置である。本発明の第2態様の特徴とするところは、ルーティングプロトコルの制御パケットを用いて受信した情報を収集する手段と、この収集した受信した情報の少なくとも一部項目を格納する手段と、この格納した情報と前記収集する手段により新たに受信した情報の少なくとも一部項目の情報とを比較して当該情報の新旧を判定する手段とを備えたところにある。これにより、到着する情報の新旧を判定することができる。
また、上記LSDB検索装置は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、経路制御装置に前記新たに受信した情報を有する新たに到着した制御パケットを転送し、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報と同等もしくは古い情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットを廃棄する手段とを備えることができる。
これにより、新しい情報を選択してそれだけを扱うことができるため、RSの負荷を削減し、従来不可能であった1つのドメインが管理する大きなネットワークを作成することができる。
あるいは、上記LSDB検索装置は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記経路制御装置に転送した制御パケットの少なくとも一部項目の情報を他のインタフェース内のLSDB検索装置に転送する手段を備えることができる。
また、上記LSDB検索装置は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットの少なくとも一部項目の情報を他インタフェース内のLSDB検索装置に転送する手段を備え、他より転送された前記制御パケットの少なくとも一部項目の情報を格納する手段を備えることができる。
これにより、新たらしい情報を選択してそれだけを複数のLSDB検索装置で共有することができる。
本発明の第2態様の他の観点は、パケット転送装置に備えられ、入力回線から入力されたパケットに対して処理を行うインタフェースに設けられたLSDB検索装置に適用されるプログラムであって、本発明の特徴とするところは、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、ルーティングプロトコルの制御パケットを用いて受信した情報を収集する機能と、この収集した受信した情報の少なくとも一部項目を格納する機能と、この格納した情報と前記収集する機能により新たに受信した情報の少なくとも一部項目の情報とを比較して当該情報の新旧を判定する機能とを備えたLSDB検索装置に相応する機能を実現させるところにある。
また、前記判定する機能の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、経路制御装置に前記新たに受信した情報を有する新たに到着した制御パケットを転送し、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報と同等もしくは古い情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットを廃棄する機能を実現させることができる。
また、前記判定する機能の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記経路制御装置に転送した制御パケットの少なくとも一部項目の情報を他のインタフェース内のLSDB検索装置に転送する機能を実現させることができる。
また、前記判定する機能の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットの少なくとも一部項目の情報を他インタフェース内のLSDB検索装置に転送する機能を実現させ、他より転送された前記制御パケットの少なくとも一部項目の情報を格納する機能を実現させることができる。
さらに、本発明の第2態様の他の観点は、本発明のプログラムが記録された前記コンピュータ装置読取可能な記録媒体である。本発明のプログラムは本発明の記録媒体に記録されることにより、前記コンピュータ装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記コンピュータ装置に本発明のプログラムをインストールすることもできる。
これにより、汎用のコンピュータ装置を用いて、パケット転送装置内のRSの処理負荷を削減することにより、1つの管理ドメインで大きなネットワークを作ることを可能にするLSDB検索装置を実現することができる。
本願は、2003年8月20日に出願された特願2003−296408号、ならびに2003年8月22日に出願された特願2003−298734対し優先権を主張し、その内容をここに援用する。
以下、図面を参照しつつ、本発明の好適な実施例について説明する。ただし、本発明は以下の各実施例に限定されるものではなく、例えばこれら実施例の構成要素同士を適宜組み合わせてもよい。
<第1実施形態>
本発明の第1実施形態はルーティングテーブル生成装置である、このルーティングテーブル生成装置を、図5ないし図16を参照して説明する。図5は本発明の第1実施形態のルーティングテーブル生成装置の構成図である。
本発明の第1実施形態は、入力回線から入力されたパケットの宛先アドレスに基づき当該パケットの次ホップを決定するためのルーティングテーブルを生成するルーティングテーブル生成装置である。
ここで、本発明の第1実施形態の特徴とするところは、図5に示すように、TCAM101と外部メモリ102とを備え、受信した情報を項目毎に分類する手段と、この分類された項目のうち当該情報を一意に識別する項目については前記TCAMに格納し、その他の項目については前記外部メモリに格納する手段とを情報処理装置103に備えたところにある。
また、情報処理装置103は、新たに情報を受信したときには、当該情報の格納に先立って、前記分類された項目のうち当該情報を一意に識別する項目を検索キーとしてTCAM101に格納された情報を検索する手段と、この検索により新たに受信した情報の前記一意に識別する項目と既にTCAM101に格納されている情報の前記一意に識別する項目とが不一致のときには、前記格納する手段による格納処理を起動する手段と、この検索により新たに受信した情報の前記一意に識別する項目と既にTCAM101に格納されている情報の前記一意に識別する項目とが一致したときには、当該一意に識別する項目に対応する外部メモリ102に格納された情報と新たに受信した情報の同一項目との新旧を比較する手段とを備える。
さらに、情報処理装置103は、前記比較する手段の比較結果により新たに受信した情報が既に外部メモリ102に格納されている情報よりも古いまたは同一であるときには当該新たに受信した情報を無視する手段と、前記比較する手段の比較結果により、新たに受信した情報が既に外部メモリ102に格納されている情報よりも新しいときには既に外部メモリ102に格納されている情報を新たに受信した情報により更新する手段を備える。
また、情報処理装置103は、TCAM101および外部メモリ102に格納された情報を用いて、到着したパケットの宛先アドレスに基づく最短経路探索を行う手段を備える。さらに、前記最短経路探索に基づき、到着したパケットの次ホップを決定する手段を備える。
また、本発明の第1実施形態は、汎用のコンピュータ装置にインストールすることにより、そのコンピュータ装置に本発明のルーティングテーブル生成装置の各手段に相応する機能を実現させるプログラムとして実現することができる。このプログラムは、記録媒体に記録されてコンピュータ装置にインストールされ、あるいは通信回線を介してコンピュータ装置にインストールされることにより当該コンピュータ装置に、情報処理装置103に相応する機能を実現させることができる。
以下では、本発明の第1実施形態をさらに詳細に説明する。
本実施形態のルーティングテーブル生成装置は、図5に示すように、情報処理装置103とTCAM101と外部メモリ102とを備える。情報処理装置103は、OSPFやISISなどのルーティングプロトコルを使って交換し収集した情報を、情報の項目毎に分けて、情報を一意に識別する項目をTCAM1に格納し、それ以外の必要な項目(以下リンク状態情報と呼ぶ)を外部メモリ102に分けて格納したり、受信した情報から情報を一意に識別するための項目を抜き出し、TCAM101に入力して検索し、その結果に応じて情報を外部メモリ102に格納したり、情報の更新をしたり必要な処理を行う。また、情報処理装置103はTCAM101と外部メモリ102を利用し最短経路を計算し、ルーティングテーブル検索装置にルーティングテーブルを転送する機能を持つ。
図6は既存のパケット転送装置の構成例である。RS(Route Server)120、SW(Switch)130、IF(Interface:回線)からなり、RS120でOSPFやISISなどのルーティングプロトコルの処理を行い、ルーティングテーブルを生成し、RS120で作成したルーティングテーブルをIFのルーティングテーブル検索装置110に転送していた。
入力回線から入力されたパケットはNP(Network Processor)111において宛先アドレス情報を抜き出し、ルーティングテーブル検索装置110で宛先までの最短経路に基づく次ホップ(次ルータ)を決定し、パケットを出力するIFを決定していた。
以下、本発明の第1実施形態のルーティングテーブル生成装置を持ったパケット転送装置構成の例を4つ上げる。
(構成例1)
図7に本発明の第1実施形態のルーティングテーブル生成装置の構成例1を示す。構成例1はRS121に本実施例のルーティングテーブル生成装置122を配備するものである。これはOSPFやISISなどのルーティングプロトコルの処理はRS121で行うため、その情報を利用するルーティングテーブル生成装置122をRS121内に置いた構成である。本構成はルーティングテーブル生成装置122をRS121内においているので、ルーティングテーブル生成装置122に必要な情報のやりとりが容易という利点がある。
(構成例2)
図8に本発明の第1実施形態のルーティングテーブル生成装置の構成例2を示す。構成例2はIF上にルーティングテーブル生成装置112を配備するものである。ルーティングテーブル生成装置112が生成したルーティングテーブルはルーティングテーブル検索装置110に転送されるため、その転送が容易であるという利点がある。
(構成例3)
図9に本実施形態のルーティングテーブル生成装置の構成例3を示す。本構成例は、RS123にTCAM101のみを追加した構成例である。RS123は、図5に示した本実施形態のルーティングテーブル生成装置の情報処理装置103に相当するCPU124と外部メモリ102に相当する外部メモリ125を元々持っている。情報処理装置103として元々持っているCPU124を利用し元々持っている外部メモリ125とTCAM126を新しく追加することで、ルーティングテーブル生成装置127を作成することが可能である。本例は元々持っているCPU124と外部メモリ125を利用するため、実装コストが少なくて済むという利点がある。
(構成例4)
図10に本実施形態のルーティングテーブル生成装置の構成例4を示す。NP111はプロセッサ機能を持っておりこれを図5に示した情報処理装置103として利用し、元々ルーティングテーブル検索装置116のために配備しているTCAM114と外部メモリ115を、図5に示したTCAM101と外部メモリ102として利用することで、ルーティングテーブル生成装置を作成することが可能である。本例は元々持っているNP111内のプロセッサと外部メモリ115とTCAM114を利用するため、実装コストが少なくて済むという利点がある。
(構成例5)
以下ではルーティングプロトコルとしてOSPFを例に採り上げて、TCAM101と外部メモリ102に格納する情報と、情報処理装置103の動作について説明する。ネットワーク上のパケット転送装置やネットワーク情報をネットワーク内のパケット転送装置間で、または、ルーティングテーブル生成装置間で、OSPFが交換し収集する情報は、LSU(Link State Update)と呼ばれるパケットでやりとりが行われ、LSUには5種類のLSA(Link State Advertisement)と呼ばれるパケット転送装置やネットワーク情報を記述したデータ種別がある。
パケット転送装置情報を記述したLSAの1種であるRouter LSAのフォーマットを図11に示す。ネットワーク情報を記述したLSAの1種であるNetwork LSAのフォーマットを図12に示す。図13にTCAMと外部メモリに格納する情報と、情報処理装置の動作例を説明する前提となるネットワーク例を示す。図14に、図13を元にしたLSA情報を集めたデータベースであるLSDB(Link State Data Base)について、TCAMと外部メモリに格納する情報を示す。
LSAは、LS Type、Link State ID、Advertising Routerにより一意に識別されるので、これらをTCAMに情報を一意に識別する項目として格納し、それ以外をリンク状態情報として、外部メモリに格納する。
図15にはルーティングテーブル生成装置がLSAを受信した時の動作例を示す。LSA受信時には受信したLSAのLS Type、Link State ID、Advertising RouterからTCAMでデータの有無を判断する。TCAMに無ければ新規LSAとなるのでLSDBに追加する(TCAMと外部メモリとに分けて情報を格納する)。LSDB内にデータがある場合にはTCAMでヒットするので、外部メモリから情報を引き出し、Sequence Number等の比較等、必要な処理を実施する。
図15の例では、パケット転送装置Aがパケット転送装置DからRouter LSAを受信したとする。本例の場合TCAMでヒットするので、外部メモリから情報を引き出し、Sequence Number等の比較等、必要な処理を実施することになる。
必要な処理とは、例えば、受信したLSAのSequence numberと外部メモリに既に格納されている情報のSequence numberとを比較し、この比較結果により新たに受信したLSAが既に外部メモリに格納されている情報よりも古いまたは同一であるときには当該新たに受信したLSAを無視し、この比較結果により新たに受信したLSAが既に外部メモリに格納されている情報よりも新しいときには既に外部メモリに格納されている情報を新たに受信したLSAにより更新する。
また、図16ではルータAが最短経路の計算を行う例を示している。下記のステップによってネットワーク構成情報を得ることができる。ネットワーク構成情報からDijkstraアルゴリズムを用いて最短経路を求めることが可能となる。
Step1:計算元ルータのLink State IDからネットワークのDR(指定ルータ)アドレスを求める。
Step2,3:DRアドレスを検索キーとし、Network LSAからネットワーク内のAttached Router(当該ネットワークにアクセスしているルータ)とネットワークのNet maskの情報を得る。これによりネットワークとそのネットワークへ接続しているルータがわかる。
Step4,5:Attached RouterのアドレスをキーとしてRouter LSAからAttached Routerの情報(リンクのIPアドレス、メトリック等)を得る。これによりルータのリンク情報がわかり、次ホップのルータが決まる。
本発明の効果を下記のような条件で評価した。OSPFから検索関数(検索方法はパトリシアツリーとし)を呼んでいる箇所をそのままTCAMへのアクセスへ置き換えたと仮定し、図17のようなパトリシアツリーとTCAMにおける単純な検索モデルで比較した。検索速度は商用で容易に購入できるSRAMとTCAMのアクセス速度(各5ns)を参考にした。CPU処理時間はパトリシアツリー検索の場合1回の検索を行う度にツリーの上位から1つづつデータを検索する必要があるが、TCAM検索の場合は、CPU処理はデータをTCAMへ入力するだけであるため、明らかにパトリシアツリー検索の方が時間がかかるが、今回は考慮に入れず、メモリアクセス時間のみで評価を行った。LSAを10000個送信した場合のLSA検索時間をパトリシアツリーで検索した場合とTCAMで検索した場合のそれぞれについて計算し予測した結果を図18に示す。アクセス回数が増えるほどパトリシアツリーとTCAMのアクセス時間の差が広がり、最終的にはTCAM総アクセス時間がパトリシアツリー総アクセス時間の約1/6になることが分かった。
以上記載したように、本発明の第1実施形態によれば、ルーティングテーブルの生成時間を短縮することができ、1つの管理ドメインで大きなネットワークを作ることを可能とする。
<第2実施形態>
本発明の第2実施形態はLSDB検索装置である。このLSDB検索装置を、図19ないし図22を参照して説明する。図19は、本発明の第2実施形態の第1実施例のLSDB検索装置を備えたパケット転送装置の構成図である。図20は、本発明の第2実施形態の第1実施例のLSDB検索装置の構成図である。図21は、本発明の第2実施形態の第2実施例のLSDB検索装置を備えたパケット転送装置の構成図である。図22は、本発明の第2実施形態の第2実施例のLSDB検索装置の構成図である。
本発明の第2実施形態は、図19に示すように、パケット転送装置230に備えられ、入力回線から入力されたパケットに対して処理を行うインタフェースに設けられたLSDB検索装置210である。本実施形態の特徴とするところは、図20に示すように、ルーティングプロトコルの制御パケットを用いて受信した情報を収集する情報処理装置201と、この収集した受信した情報の少なくとも一部項目を格納する高速外部メモリ202とを備え、情報処理装置201は、高速外部メモリ202に格納した情報と新たに受信した情報の少なくとも一部項目の情報とを比較して当該情報の新旧を判定する手段を備えたところにある。
また、情報処理装置201は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、RS220に前記新たに受信した情報を有する新たに到着した制御パケットを転送し、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報と同等もしくは古い情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットを廃棄する手段を備える。
また、情報処理装置201は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、RS220に転送した制御パケットの少なくとも一部項目の情報を他のインタフェース内のLSDB検索装置に転送する手段を備える。
また、情報処理装置201は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットの少なくとも一部項目の情報を他インタフェース内のLSDB検索装置に転送する手段を備え、他より転送された前記制御パケットの少なくとも一部項目の情報を格納する手段を備える。
本発明は、汎用のコンピュータ装置にインストールすることにより、そのコンピュータ装置に本発明のLSDB検索装置に相応する機能を実現させるプログラムとして実現することができる。このプログラムは、記録媒体に記録されてコンピュータ装置にインストールされ、あるいは通信回線を介してコンピュータ装置にインストールされることにより当該コンピュータ装置に、情報処理装置201に相応する機能を実現させることができる。
図21に示すパケット転送装置は図22に示すLSDB検索装置を備えている。図21に示すパケット転送装置では、ルーティングテーブル検索装置とLSDB検索装置とを一つのLSDB検索装置211として実現している。
(第1実施例)
図20は、本発明の第2実施形態の第1実施例のLSDB検索装置例を示す図である。図19に示す第1実施例のLSDB検索装置210は、情報処理装置201と高速外部メモリ202とを備える。本実施例ではLSDBの検索にはパトリシアツリーのようなツリー検索を利用するものである。LSDB検索装置210によって受信した制御パケットの一部項目がRS220に転送されるので、情報処理装置201は、受け取った情報を項目毎に分けて、この情報を一意に識別する項目を元に検索ツリーを作成し、ツリーの中にはこの情報を一意に識別する項目とツリー構成情報と制御メッセージの新旧を判断する情報(以下LS sequence numberと呼ぶ)を格納する。
また、自インタフェースが受信した制御パケットの一部項目がLSDB検索装置210に格納されると、LSDB検索装置210は、格納した制御パケットの一部項目を他インタフェースに転送する。さらに、他インタフェースが受信した制御パケットの一部項目が他インタフェースのLSDB検索装置によってLSDB検索装置210に転送される。これにより、各インタフェースのLSDB検索装置210では、最新情報を共有することができる。
情報処理装置201はOSPFやISISなどのルーティングプロトコルの制御パケットが入力回線から入力された場合に、制御パケットの情報の項目から情報を一意に識別する項目と、LS sequence numberを取り出し、検索ツリーで検索を行う。比較項目として入力された制御パケットの中の情報を一意に識別する項目を入力し検索を行う。検索した結果、回答が見つかった場合には、入力された制御パケットのLS sequence numberと、回答であるツリーに格納されているLS sequence numberを比較し、入力された制御パケットの情報が新しくない(既に受信している情報と同じか古い)情報の場合にはこの制御パケットを廃棄する。比較した結果が新しい場合、RSへこの制御パケットを転送する。
また、比較した結果が新しい場合には、制御パケットを受信したインタフェースのLSDB検索装置210にこの制御パケットの情報を一意に識別する項目とLS sequence numberが格納され、この情報を一意に識別する項目を元に検索ツリーが作成される。そしてこのLSDB検索装置210は、自インタフェース以外の全インタフェースにこの制御パケットの情報を一意に識別する項目とLS sequence numberを転送する。また、LSDB検索装置210は、他インタフェースから転送された制御パケットの情報を一意に識別する項目とLS sequnece numberを格納する。これにより、各インタフェースのLSDB検索装置210で、最新情報を共有することができる。
(第2実施例)
図22は、本発明の第2実施形態の第2実施例のLSDB検索装置を示す図である。第2実施例のLSDB検索装置211は、情報処理装置201とTCAM203と高速外部メモリ202とを備える。第2実施例では、LSDBの検索にはTCAM203を利用するものである。LSDB検索装置211によって受信した制御パケットの一部項目をRS220に転送するので、情報処理装置201は、受け取った情報を項目毎に分けて、この情報を一意に識別する項目をTCAM203に格納し、制御メッセージの新旧を判断するLS sequence numberを高速外部メモリ202に格納する。
また、LSDB検索装置211は、自インタフェースが受信した制御パケットの一部項目を格納すると、LSDB検索装置211は、格納した制御パケットの一部項目を他インタフェースに転送する。さらに、LSDB検索装置211は、他インタフェースから転送された制御パケットの一部項目を格納する。これにより、各インタフェースのLSDB検索装置211では、最新情報を共有することができる。
情報処理装置201はOSPFやISISなどのルーティングプロトコルの制御パケットが入力回線から入力された場合に、制御パケットの情報の項目から情報を一意に識別する項目と、LS sequence numberを取り出し、TCAM3で検索を行う。比較項目として入力された制御パケットの中の情報を一意に識別する項目をTCAM203に入力し検索を行う。
検索した結果、回答が見つかった場合には、入力された制御パケットのLS sequence numberと、回答である高速外部メモリ202に格納されているLS sequence numberを比較し、入力された制御パケットの情報が新しくない(既に受信している情報と同じか古い)情報の場合にはこの制御パケットを廃棄する。比較した結果が新しい場合、RS220へこの制御パケットを転送する。
また、比較した結果が新しい場合には、制御パケットを受信したインタフェースのLSDB検索装置211は、この制御パケットの情報を一意に識別する項目とLS sequenc numberを格納し、この情報を一意に識別する項目を元に検索ツリーを作成する。そして、LSDB検索装置211は、自インタフェース以外の全インタフェースにこの制御パケットの情報を一意に識別する項目とLS sequence numberを転送する。また、LSDB検索装置211は、他インタフェースから転送された制御パケットの情報を一意に識別する項目とLS sequence numberを格納する。これにより、各インタフェースのLSDB検索装置211で、最新情報を共有することができる。
(第3実施例)
以下ではルーティングプロトコルとしてOSPFを例として採り上げて、LSDB検索装置に格納する情報と、情報処理装置の動作について説明する。ネットワーク上のパケット転送装置情報やネットワーク情報をネットワーク内のパケット転送装置間で、またはルーティングテーブル生成装置間で、OSPFが交換し収集する情報は、LSU(Link State Update)と呼ばれるパケットでやりとりが行われ、LSUには5種類のLSA(Link State Advertisement)と呼ばれるパケット転送装置やネットワーク情報を記述したデータ種別がある。
パケット転送装置情報を記述したLSAの1種であるRouter LSAのフォーマットを図23に示す。ネットワーク情報を記述したLSAの1種であるNetworkLSAのフォーマットを図24に示す。図25にLSDB検索装置に格納する情報と情報処理装置の動作例を説明する前提となるネットワーク例を示す。図26に図25を元にしたLSDB検索装置に格納する情報を示す。LSAは、LS Type、Link State ID、Advertising Routerにより一意に識別されるので、これらの情報を一意に識別する項目としてLSDB検索装置に格納する。また、LSAの新旧を判断するためには、LS sequence number、LS checksum、LS ageが必要なので、これらをLS Sequence numberとしてLSDB検索装置に格納する。図27にはLSDB検索装置がLSAを受信した時の動作例を示す。LSA受信時には受信したLSAのLS Type、Link State ID、Advertising Routerを検索キーとしてLSDB検索装置でLSAの新旧を判断する。
新旧LSAの判断のステップを(1)〜(6)に示す。
(1)より大きいLS sequence numberを持つLSAが最新
(2)sequence numberが同じ場合、より大きいLS checksumを持つLSAが最新
(3)LS checksumも同じ場合、MAX AgeであるLS ageのLSAが最新
(4)どちらのLSAもMaxAgeでない場合、LS ageの差がMax Age Diff(15分)以上であるならば、より小さいLS ageを持つLSAが最新
(5)(1)〜(4)に当てはまらなければ同一LSAであるとみなす
(6)最新以外のLSA(同一LSAも含む)は全て廃棄、最新のLSAはRSへ送付 これはOSPFによって規定されている新旧LSAの判断のステップである。
以下は本実施例のLSDB検索装置をパケット転送装置に装備する場合の構成例について説明する。
(構成例1)
図28は既存のパケット転送装置構成例1である。パケット転送装置は大きく分けてRS(Router Server)220、SW(Switch)240、IF(Interface)を備え、RS220でOSPFやISISなどのルーティングプロトコルの処理を行い、ルーティングテーブルを生成し、RS220で作成したルーティングテーブルをIFのルーティングテーブル検索装置215に転送していた。入力回線から入力されたパケットはNP(Network Processor)において宛先アドレス情報を抜き出し、ルーティングテーブル検索装置215で宛先までの最短経路に基づく次ホップ(次ルータ)を決定し、パケットを出力するIFを決定していた。
図28の既存のパケット転送装置の構成例1は、ルーティングテーブル検索装置215に検索ツリーを用いている。ルーティングテーブル検索装置215にはルーティングテーブルのみが必要なのでRS220が必要とするメモリよりもずっと少ない容量で済む。そのため高速外部メモリを利用することができ、検索ツリーも低速外部メモリを使ったツリー検索よりも高速な検索が可能となる。
(構成例2)
図29は既存のパケット転送装置の構成例2である。構成例1との違いはルーティングテーブル検索装置216にTCAMを用いている点である。大容量コアルータではより高速なパケット転送が必要となるため、ルーティングテーブル検索において、検索ツリーよりも高速検索が可能なTCAMを利用するのが一般的である。
図19は、構成例1のLSDB検索装置210を装備したパケット転送装置の構成例1である。IF上にルーティングテーブル検索装置215とは別にLSDB検索装置210を配備する構成である。本例はルーティングテーブル検索装置215とは別にLSDB検索装置210を配備しているため、ルーティングテーブル検索装置215に影響を与えない(速度、実装など)という利点がある。
図21は構成例2のLSDB検索装置211を装備したパケット転送装置構成例2である。本例は、図29の既存のパケット転送装置230のルーティングテーブル検索装置216を利用してLSDB検索を実施するというものである。
図19、図20に示したLSDB検索装置210、211は、図28、図29に示したルーティングテーブル検索装置215、216と同様の物理構成を取っており(NPはプロセッサであり情報処理装置になることが可能である)、機能的にも検索を行うという点でも同じ機能を必要とする。従って、既存のパケット転送装置230のルーティングテーブル検索装置216をLSDB検索にも利用するというのが構成例2である。本例は既存のパケット転送装置230のルーティングテーブル検索装置216を利用するため実装コストが安く済むという利点がある。
以上説明したように、本発明の第2実施形態は、IPルータなどのパケット転送装置を使って作成するネットワークにおいて、パケット転送装置内のRSの処理負荷を削減することにより、1つの管理ドメインで大きなネットワークを作ることを可能にする。
本発明は、IPルータなどのパケット転送装置を使って作成するネットワークにおいて、パケット転送装置内のRSの処理負荷を削減することにより、1つの管理ドメインで大きなネットワークを作ることを可能にする。これにより、IPネットワークの大規模化に対応することができ、ネットワーク管理者、ネットワークユーザの利便性を向上させることができる。
従来の検索テーブルの例を示す図である。 従来のパトリシアツリーによる検索方法を説明するための図である。 従来のTCAMを使った検索を説明するための図である。 パトリシアツリーを使った検索経路を示す図である。 本発明の第1実施形態のルーティングテーブル生成装置の構成図である。 既存のパケット転送装置の構成図である。 本発明の第1実施形態のパケット転送装置の構成例1を示す図である。 本発明の第1実施形態のパケット転送装置の構成例2を示す図である。 本発明の第1実施形態のパケット転送装置の構成例3を示す図である。 本発明の第1実施形態のパケット転送装置の構成例4を示す図である。 Router LSAのフォーマットを示す図である。 Network LSAのフォーマットを示す図である。 本発明の第1実施形態の情報処理装置の動作を説明するためのネットワーク例を示す図である。 本発明の第1実施形態のTCAMと外部メモリへの格納項目を示す図である。 本発明の第1実施形態のLSA受信時の動作を説明するための図である。 本発明の第1実施形態のSPF計算時の動作を説明するための図である。 本発明の第1実施形態の検索モデルを示す図である。 図17の検索モデルによるシミュレーション結果を示すグラフである。 本発明の第2実施形態の第1実施例のLSDB検索装置を備えたパケット転送装置の構成図である。 本発明の第2実施形態の第1実施例のLSDB検索装置の構成図である。 本発明の第2実施形態の第2実施例のLSDB検索装置を備えたパケット転送装置の構成図である。 本発明の第2実施形態の第2実施例のLSDB検索装置の構成図である。 パケット転送装置情報を記述したLSAの1種であるRouter LSAのフォーマットを示す図である。 ネットワーク情報を記述したLSAの1種であるNetworkLSAのフォーマットを示す図である。 LSDB検索装置に格納する情報と情報処理装置の動作例を説明する前提となるネットワーク例を示す図である。 図25を元にしたLSDB検索装置に格納する情報を示す図である。 LSDB検索装置がLSAを受信した時の動作例を示す図である。 既存のパケット転送装置の構成例1を示す図である。 既存のパケット転送装置の構成例2を示す図である。
符号の説明
101 TCAM
102 外部メモリ
103 情報処理装置
120、220 RS
130、240 SW
201 情報処理装置
202 高速外部メモリ
230 パケット転送装置
210 LSDB検索装置
215 ルーティングテーブル検索装置

Claims (11)

  1. 入力回線から入力されたパケットの宛先アドレスとパケット転送装置間のリンクコスト情報とに基づいて当該パケットの次ホップを決定するためのルーティングテーブルを、ルーティングプロトコルを使って送受信される前記パケット転送装置間のリンクに関する情報に基づいて生成するルーティングテーブル生成装置であって、
    TCAM(Ternary Content Addressable Memory)と、
    外部メモリと、
    前記パケット転送装置間のリンクに関する情報を受信して項目毎に分類する手段と、
    この分類された項目のうち当該情報を一意に識別する項目については前記TCAMに格納し、その他の項目であってリンクコスト情報を含む項目についてはリンク状態情報として前記外部メモリに格納する手段と
    を備えたルーティングテーブル生成装置。
  2. 新たに情報を受信したときには、当該情報の格納に先立って、
    前記分類された項目のうち当該情報を一意に識別する項目を検索キーとして前記TCAMに格納された情報を検索する手段と、
    この検索により新たに受信した情報の前記一意に識別する項目と既に前記TCAMに格納されている情報の前記一意に識別する項目とが不一致のときには、前記格納する手段による格納処理を起動する手段と、
    この検索により新たに受信した情報の前記一意に識別する項目と既に前記TCAMに格納されている情報の前記一意に識別する項目とが一致したときには、当該一意に識別する項目に対応する前記外部メモリに格納された情報と新たに受信した情報の同一項目との新旧を比較する手段と
    を備えた請求項1記載のルーティングテーブル生成装置。
  3. 前記比較する手段の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも古いまたは同一であるときには当該新たに受信した情報を無視する手段と、
    前記比較する手段の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも新しいときには既に前記外部メモリに格納されている情報を新たに受信した情報により更新する手段を備えた
    請求項2記載のルーティングテーブル生成装置。
  4. 前記TCAMおよび前記外部メモリに格納された情報を用いて到着したパケットの宛先アドレスに基づく最短経路探索を行う手段を備えた請求項1記載のルーティングテーブル生成装置。
  5. 前記最短経路探索に基づき到着したパケットの次ホップを決定する手段を備えた請求項4記載のルーティングテーブル生成装置。
  6. 入力回線から入力されたパケットの宛先アドレスとパケット転送装置間のリンクコスト情報とに基づいて当該パケットの次ホップを決定するためのルーティングテーブルを、ルーティングプロトコルを使って送受信される前記パケット転送装置間のリンクに関する情報に基づいて生成するルーティングテーブル生成装置に適用されるプログラムであって、
    コンピュータ装置にインストールすることにより、そのコンピュータ装置に、
    前記パケット転送装置間のリンクに関する情報を受信して項目毎に分類する機能と、
    この分類された項目のうち当該情報を一意に識別する項目についてはTCAMに格納し、その他の項目であってリンクコスト情報を含む項目についてはリンク状態情報として外部メモリに格納する機能と
    を実現させるプログラム。
  7. 新たに情報を受信したときには、当該情報の格納に先立って、
    前記分類された項目のうち当該情報を一意に識別する項目を検索キーとして前記TCAMに格納された情報を検索する機能と、
    この検索により新たに受信した情報の前記一意に識別する項目と既に前記TCAMに格納されている情報の前記一意に識別する項目とが不一致のときには、前記格納する機能による格納処理を起動する機能と、
    この検索により新たに受信した情報の前記一意に識別する項目と既に前記TCAMに格納されている情報の前記一意に識別する項目とが一致したときには、当該一意に識別する項目に対応する前記外部メモリに格納された情報と新たに受信した情報の同一項目との新旧を比較する機能と
    を実現させる請求項6記載のプログラム。
  8. 前記比較する機能の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも古いまたは同一であるときには当該新たに受信した情報を無視する機能と、
    前記比較する機能の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも新しいときには既に前記外部メモリに格納されている情報を新たに受信した情報により更新する機能とを実現させる
    請求項7記載のプログラム。
  9. 前記TCAMおよび前記外部メモリに格納された情報を用いて到着したパケットの宛先アドレスに基づく最短経路探索を行う機能を実現させる請求項6記載のプログラム。
  10. 前記最短経路探索に基づき到着したパケットの次ホップを決定する機能を実現させる請求項9記載のプログラム。
  11. 請求項6記載のプログラムが記録された前記コンピュータ装置が読み取り可能な記録媒体。
JP2005513339A 2003-08-20 2004-08-18 プロトコル高速化装置 Expired - Fee Related JP3949696B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2003296408 2003-08-20
JP2003296408 2003-08-20
JP2003298734 2003-08-22
JP2003298734 2003-08-22
PCT/JP2004/012137 WO2005020525A1 (ja) 2003-08-20 2004-08-18 プロトコル高速化装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007054641A Division JP4358244B2 (ja) 2003-08-20 2007-03-05 プロトコル高速化装置

Publications (2)

Publication Number Publication Date
JPWO2005020525A1 JPWO2005020525A1 (ja) 2006-10-26
JP3949696B2 true JP3949696B2 (ja) 2007-07-25

Family

ID=34220694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005513339A Expired - Fee Related JP3949696B2 (ja) 2003-08-20 2004-08-18 プロトコル高速化装置

Country Status (4)

Country Link
US (1) US20060078333A1 (ja)
EP (1) EP1657859B1 (ja)
JP (1) JP3949696B2 (ja)
WO (1) WO2005020525A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100387028C (zh) * 2005-04-01 2008-05-07 清华大学 基于tcam的解决范围匹配的并行ip包分类器及方法
DE102005017021A1 (de) * 2005-04-13 2006-10-19 Siemens Ag Verfahren und Vorrichtung zur Kommunikation zwischen Netzknotenelementen
US20060274654A1 (en) * 2005-06-03 2006-12-07 Intel Corporation Range matching
US8089961B2 (en) * 2007-12-07 2012-01-03 University Of Florida Research Foundation, Inc. Low power ternary content-addressable memory (TCAMs) for very large forwarding tables
US20140101150A1 (en) * 2012-10-05 2014-04-10 Axis Semiconductor, Inc. Efficient high performance scalable pipelined searching method using variable stride multibit tries
US9166912B2 (en) * 2013-02-25 2015-10-20 Google Inc. Translating network forwarding plane models into target implementation using sub models and hints
US9172604B1 (en) 2013-02-25 2015-10-27 Google Inc. Target mapping and implementation of abstract device model
US12086414B2 (en) * 2022-10-06 2024-09-10 Macronix International Co., Ltd. Managing content addressable memory devices

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515370A (en) * 1994-03-31 1996-05-07 Siemens Aktiengesellschaft Circuit arrangement for line units of an ATM switching equipment
US5684800A (en) * 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US6208650B1 (en) * 1997-12-30 2001-03-27 Paradyne Corporation Circuit for performing high-speed, low latency frame relay switching with support for fragmentation and reassembly and channel multiplexing
JP2000030469A (ja) * 1998-07-14 2000-01-28 Oki Electric Ind Co Ltd 連想メモリセル及び連想メモリ
JP3654158B2 (ja) * 2000-08-09 2005-06-02 日本電気株式会社 パケット転送経路制御装置及びそれに用いるパケット転送経路制御方法
JP3983042B2 (ja) * 2000-12-07 2007-09-26 アルカテル・カナダ・インコーポレイテツド ソースルーティングシグナリングプロトコル通信ネットワークにおけるコールブロッキングトリガトポロジ更新のためのシステムおよび方法
CA2327880A1 (en) * 2000-12-07 2002-06-07 Alcatel Canada Inc. System and method for call-blocking-triggered topology updates in source routed signaling protocol communication networks
JP4511021B2 (ja) * 2000-12-28 2010-07-28 富士通株式会社 トラフィック情報収集装置およびトラフィック情報収集方法
JP2002208945A (ja) 2001-01-10 2002-07-26 Fujitsu Ltd パケットの宛先情報管理装置
US6633548B2 (en) * 2001-01-30 2003-10-14 Nokia Intelligent Edge Routers Inc. Method and apparatus for ternary content addressable memory (TCAM) table management
JP4433624B2 (ja) * 2001-02-28 2010-03-17 日本電気株式会社 通信ネットワーク、集中制御装置、通信ノード装置及びそれらに用いる状態通知情報相互交換方法
JP3837696B2 (ja) * 2001-03-30 2006-10-25 富士通株式会社 伝送装置及びデータ伝送方法
US7002965B1 (en) * 2001-05-21 2006-02-21 Cisco Technology, Inc. Method and apparatus for using ternary and binary content-addressable memory stages to classify packets
DE10127880A1 (de) * 2001-06-11 2002-12-12 Philips Corp Intellectual Pty Dynamisches Netzwerk und Routing-Verfahren für ein dynamisches Netzwerk
JP3489573B2 (ja) * 2001-07-11 2004-01-19 日本電気株式会社 パケット処理装置
JP3801473B2 (ja) * 2001-09-20 2006-07-26 シャープ株式会社 経路情報放送ネットワークシステム
US7095738B1 (en) * 2002-05-07 2006-08-22 Cisco Technology, Inc. System and method for deriving IPv6 scope identifiers and for mapping the identifiers into IPv6 addresses
US7486678B1 (en) * 2002-07-03 2009-02-03 Greenfield Networks Multi-slice network processor
US7796503B2 (en) * 2002-09-03 2010-09-14 Fujitsu Limited Fault tolerant network routing
US20040071139A1 (en) * 2002-10-10 2004-04-15 Burnett Charles James Method and apparatus for efficient administration of memory resources in a data network tester
US7356033B2 (en) * 2002-11-21 2008-04-08 Lucent Technologies Inc. Method and apparatus for performing network routing with use of power efficient TCAM-based forwarding engine architectures
US7558268B2 (en) * 2003-05-08 2009-07-07 Samsung Electronics Co., Ltd. Apparatus and method for combining forwarding tables in a distributed architecture router

Also Published As

Publication number Publication date
EP1657859B1 (en) 2013-05-15
US20060078333A1 (en) 2006-04-13
WO2005020525A1 (ja) 2005-03-03
JPWO2005020525A1 (ja) 2006-10-26
EP1657859A1 (en) 2006-05-17
EP1657859A4 (en) 2010-12-01

Similar Documents

Publication Publication Date Title
US9686194B2 (en) Adaptive multi-interface use for content networking
US10574574B2 (en) System and method for BGP sFlow export
US8014293B1 (en) Scalable route resolution
US9391886B2 (en) Identification of the paths taken through a network of interconnected devices
EP2544417B1 (en) Communication system, path control apparatus, packet forwarding apparatus and path control method
Martinello et al. Keyflow: a prototype for evolving sdn toward core network fabrics
US9544217B2 (en) Identification of paths in a network of mixed routing/switching devices
US8165038B2 (en) Network physical connection inference for IP tunnels
US9531598B2 (en) Querying a traffic forwarding table
GB2527273A (en) Executing loops
JP3949696B2 (ja) プロトコル高速化装置
US20220337519A1 (en) Information centric network routing
JP4358244B2 (ja) プロトコル高速化装置
US11411866B1 (en) Supporting multiple segment routing traffic engineering algorithms
CN100499569C (zh) 协议高速化装置
US10715440B1 (en) Distributed next hop resolution
Mooney Evaluating compact routing algorithms on real-world networks
KR100487126B1 (ko) 분산형 라우터에 있어서 라우팅 정보 제공 방법
TW202232920A (zh) 網路運算環境之最佳路徑運算卸載系統及其方法與非暫態電腦可讀取儲存媒體
Ueda et al. Two-Level Named Packet Forwarding for Enhancing the Performance of Virtualized ICN Router
JP2011244132A (ja) ルータ及び経路記憶方法
JP2005051650A (ja) テーブル検索装置
Zhang et al. Cached shortest-path tree: An approach to reduce the influence of intra-domain routing instability
Lundemo et al. Detecting Redundant Route Updates

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070418

R151 Written notification of patent or utility model registration

Ref document number: 3949696

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100427

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110427

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130427

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140427

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees