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

パケット転送装置 Download PDF

Info

Publication number
JP2005117171A
JP2005117171A JP2003346048A JP2003346048A JP2005117171A JP 2005117171 A JP2005117171 A JP 2005117171A JP 2003346048 A JP2003346048 A JP 2003346048A JP 2003346048 A JP2003346048 A JP 2003346048A JP 2005117171 A JP2005117171 A JP 2005117171A
Authority
JP
Japan
Prior art keywords
search key
transfer
information
storage unit
packet
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
JP2003346048A
Other languages
English (en)
Other versions
JP2005117171A5 (ja
JP4355188B2 (ja
Inventor
Tatsuro Kanetake
達郎 金武
Kazuo Sukai
和雄 須貝
Takashi Kumagai
多加史 熊谷
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003346048A priority Critical patent/JP4355188B2/ja
Priority to US10/954,475 priority patent/US7522592B2/en
Priority to CNB2004100835021A priority patent/CN100542129C/zh
Publication of JP2005117171A publication Critical patent/JP2005117171A/ja
Publication of JP2005117171A5 publication Critical patent/JP2005117171A5/ja
Priority to US12/385,357 priority patent/US7924833B2/en
Application granted granted Critical
Publication of JP4355188B2 publication Critical patent/JP4355188B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

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

Abstract

【課題】スイッチ等のパケット転送装置に関し、特に、パケット装置に備えられる転送情報の誤った検索を防止することのできるパケット装置に関するものである。
【解決手段】パケットの転送先に関する検索キー及び該検索キーから生成された照合情報を転送情報記憶部104に記憶される転送情報の記憶位置に関連して記憶する検索キー記憶部101を備え、転送情報取得部103は、前記ヘッダ情報に基づいて生成された検索キー及び該検索キーから生成された照合情報を用いて検索キー記憶部101を検索し、検索キー記憶部101に記憶された検索キー及び照合情報と一致すると、検索キー記憶部101から転送情報の記憶位置情報を取得し、前記取得した記憶位置情報に基づいて転送情報記憶部104に記憶された転送情報を取得し、転送部106は前記取得した転送情報に基づいてパケットを転送する。
【選択図】 図2

Description

本発明は、スイッチ等のパケット転送装置に関し、特に、パケット装置に備えられる転送情報の誤った検索を防止することのできるパケット装置に関するものである。
サーバやクライアント端末等のコンピュータ装置が接続されるネットワークを接続して、サーバ間で送受信するパケットを目的のサーバに適切に送るためにLANスイッチが用いられる。
LANスイッチは、各サーバが接続されるネットワークをそれぞれ物理的に異なるポートに接続する。そして、あるサーバから送られたパケットを受信すると、そのパケットを解析し、パケットの宛先を判別して、宛先のサーバへの経路となるネットワークが接続されているポートにそのパケットを送出する。
LANスイッチは、受け取ったパケットをどのポートに対して送るかを決定するために使用する転送情報をフォワーディングデータベース(FDB:Forwarding Data Base)として保有している。LANスイッチは、パケットを受け取り、受け取ったパケットのヘッダを解析し、解析した内容からFDBを検索して、パケットの送り先を決定し、決定した送り先のポートにパケットを送出する。
特に近年、ネットワークの高速化、広帯域化に伴って、このLANスイッチの動作にも高速性が要求されている。LANスイッチは、受け取ったパケットを一時的に保存するバッファを備えているが、パケットが同時に多く到着しその処理に時間がかかってしまうと、バッファのオーバーフロー等が発生し、パケットが転送できなくなるパケットロスが発生する場合もある。
そこで、FDBの検索を高速化するために、FDBの内容を直接検索し取得するのではなく、パケットに対応するFDBのエントリを記憶しているアドレスと、パケットから生成する一意の文字列(検索キー)とを別のメモリに記憶し、検索キーが記憶される高速アクセス可能なメモリからFDBのエントリが記憶されているアドレスを取得することで、FDBを高速に検索可能とする方法が提案されている。
この高速なメモリにはCAM(Content Addressable Memory:連想メモリ)が用いられる。CAMは、記録されている内容をアドレス(RAW、COLUM)ではなく記録されている内容そのもので呼び出すことのできるメモリである。具体的には、CAMのデータを検索する場合、CAMに入力されたデータとCAMに記録されているデータとが一致した場合に、そのデータが記録されているアドレスを検索結果として取得することができる。
しかし、チップに含まれる不純物から発生するアルファ線や宇宙線(ガンマ線)等の放射線の影響によって、CAMに記録されているデータにビット反転が生じ、データが変化するソフトエラーが発生する場合がある。このソフトエラーを検知し、データを修正するために、パリティを使用したCAMも知られている(例えば、特許文献1参照。)。
米国特許第5491703号明細書
LANスイッチのFDB検索にCAMを用いることで、LANスイッチの動作を高速化でき、バッファのオーバーフローやパケットロス等を防ぐことができる。このLANスイッチに用いられたCAMにソフトエラーが発生した場合、CAMに保存されているデータが変化する可能性があり、パケットが誤った宛先に転送されてしまう。特に、LANスイッチをVPN(Virtual Private Network)やVMAN(Virtual Metropolitan Area Network)等のVLAN(Virtual Local Area Network)に用いた場合、VLAN番号によって宛先を識別するので、ソフトエラーによるビット反転によって誤った検索キーが検索され、前記FDBから誤ったエントリが得られることで、宛先のネットワークとは異なる他のネットワークに対してパケットが転送されてしまう問題がある。
また、前記従来技術のようにCAMにパリティ等のエラー訂正の仕組みを用いたとしても、どのタイミングでエラーを訂正するかという点が問題となる。すなわち、CAMに保存されているデータを任意のタイミングでパリティ等によるエラー訂正を行ったとしても、前記FDBの検索の直前にソフトエラーが発生してしまうとエラーを訂正できない。また、FDB検索時にパリティによるエラーを訂正することも可能であるが、エラー訂正のための処理に時間がかかってしまい、データを高速に検索できるというCAMの利点を損なってしまう。
本発明は前記の問題点に鑑みてなされたものであり、LANスイッチのFDBに用いられるCAMのエラーによる誤転送を防止するLANスイッチを提供することを目的とする。
本発明は、パケットを送受信する入出力部と、受信したパケットからヘッダ情報を抽出し、前記パケットの転送先を決定する転送部と、前記パケットの転送先を決定するための転送情報を記憶する転送情報記憶部と、前記パケットの転送情報を前記転送情報記憶部から取得する転送情報取得部と、を備えたパケット転送装置において、前記パケットの転送先に関する検索キー及び該検索キーから生成された照合情報を、前記転送情報記憶部に記憶される転送情報の記憶位置に関連して記憶する検索キー記憶部を備え、前記転送情報取得部は、前記ヘッダ情報に基づいて生成された検索キー及び該検索キーから生成された照合情報を用いて前記検索キー記憶部を検索し、前記検索キー記憶部に記憶された検索キー及び照合情報と一致すると、前記検索キー記憶部から前記転送情報の記憶位置情報を取得し、前記取得した記憶位置情報に基づいて前記転送情報記憶部に記憶された転送情報を取得し、前記転送部は、前記取得した転送情報に基づいて、受信したパケットを転送することを特徴とする。
本発明によると、検索キー記憶部に記憶された検索キー及び照合情報と一致すると、検索キー記憶部から前記転送情報の記憶位置情報を取得し、前記取得した記憶位置情報に基づいて転送情報記憶部に記憶された転送情報を取得するので、検索キー記憶部に記憶されている位置情報にソフトエラーが発生しデータが異なるものとなってしまった場合にも、照合情報によって誤った転送情報の取得を防止することができ、パケットの誤転送を防止することができる。
本発明の実施の形態を図面に基づいて説明する。
図1は、本発明の第1の実施の形態のネットワークシステムの構成を表すブロック図である。
コア網1100に対して複数のエッジ網(1200、1300)が接続されている。このコア網1100は、例えば通信事業者により提供される広域網で構成され、エッジ網1200、1300は、例えば通信事業者により提供されるアクセス網や集線網で構成されている。
コア網1100には、複数のLANスイッチ(1101a、1101b、1101c、1101d)及びゲートウェイ(1102A、1102B)が備えられており、各々がネットワークによって接続されている。LANスイッチ(1101a〜1101d)及びゲートウェイ(1102A、1102B)はパケット転送装置として機能する。
エッジ網1200にはゲートウェイ1302、LANスイッチ(1201a、1201b、1021c)が備えられており、各々がネットワークによって接続されている。
エッジ網1300にはゲートウェイ1302、LANスイッチ(1301a、1301b、1301c)が備えられており、各々がネットワークによって接続されている。
企業などのユーザは、これらコア網1100やそれに連なるエッジ網(1200、1300)を使って拠点間を結ぶことで、仮想私設網1400を構築する。
例えば、ある拠点に置かれた通信事業者側LANスイッチ1201aにはユーザ側LANスイッチ1401aが接続されており、別の拠点に置かれた通信事業者側LANスイッチ1201cにはユーザ側LANスイッチ1401bが接続されている。さらに遠く離れた拠点に置かれた通信事業者側LANスイッチ1301aにはユーザ側LANスイッチ1401cが接続されている。
通信事業者が、ユーザ側LANスイッチ1401a、1401b、1401cの間のパケットが通信事業者網上をトンネリングするようなトンネリングネットワーク1500を提供することで、ユーザ側LANスイッチ1401a、1401b及び1401cの間に仮想私設網1400が構成される。
ここでは、仮想私設網を構成する技術としてVLAN(Virtual LAN)技術を使った例を示している。
すなわち、ユーザ側LANスイッチ1401a、1401b及び1401c間で転送されるパケットは、パケットに付されたVLANタグ(12ビット)に従って、LANスイッチに設定された宛先に転送される。
次に、LANスイッチ(1101、1201、1301)の構成を図2のブロック図を参照して説明する。
以下の説明は、LANスイッチの例を用いて行うが、同様の概念・説明は、ルータなどの他のパケット転送装置にも適用され得るのは明らかである。
本発明の第1の実施の形態のLANスイッチは、複数のLANスイッチカード100がバックプレーン200に接続され、一つのLANスイッチとして機能する。
各LANスイッチカード100には、検索キーを記憶する検索テーブルを記憶するCAM(Content Addressable Memory:連想メモリ)101、CAM101やRAM104等に記憶されるデータの書き込み、消去等の処理を行うCPU102、CAM101に対して検索キーの登録や検索処理を行い、該検索結果に基づいてパケットの転送先を決定する検索エンジン103、FDBやその他のデータを記憶するRAM104、ネットワークに接続されパケットを送受信するポートを構成する物理層処理部(Physical)105、入出力されるパケットを一時的に記憶する他、パケットのヘッダ情報を抽出し、FDBに記憶された情報に基づいてパケットの転送先を決定する転送エンジン106、パケットを他のLANスイッチカード100と送受信するスイッチ107等が備えられている。
すなわち、物理層処理部105がパケットを送受信することで入出力部が構成され、RAM104が転送情報であるFDBを記憶することで転送情報記憶部が構成され、転送エンジン106がパケットの転送先を決定することで転送部が構成され、検索エンジン103が転送情報取得することで転送情報取得部が構成される。
また、バックプレーン200には、バックプレーンスイッチ201及びルーティングプロセッサ202が備えられている。バックプレーンスイッチ201は、各LANスイッチカードのスイッチ107と接続されており、各LANスイッチカード100からのパケットを目的のLANスイッチカード100に対して転送する。ルーティングプロセッサ202は、各LANスイッチカードのCPU102と接続されており、LANスイッチカード100の情報等を記憶し、パケットの転送先を制御する。
次に、本発明の第1の実施の形態の動作をLANスイッチの動作に即して説明する。
まず、LANスイッチにパケットが入力されると、物理層処理部105は受け取ったパケットを転送エンジン106に送る。転送エンジン106では、受け取ったパケットの送信元MACアドレス、宛先MACアドレス、VLAN識別子等の転送情報を含むヘッダ情報を抽出し、抽出したヘッダ情報(転送情報)を検索エンジン103に送る。
検索エンジン103は、転送情報を受け取ると、CAM101を検索するための検索キーを生成する。この検索キーは、パケットから生成される所定の文字列であり、パケットの送り元又は送り先に対して一意であることが必要であるため、例えば、転送情報から、VLAN識別子やMAC(Media Access Control)アドレスを抽出することで検索キーが生成される。
そして生成された検索キーを用いてCAM101に記憶されている検索テーブルを検索する。検索の結果、転送情報に対応するFDBエントリがRAM104に記憶されていれば、該FDBエントリに従ってパケットの転送処理を行う。
検索の結果、転送情報に対応するFDBエントリがRAM104に登録されていない場合は、標準に従った学習プロセスに従って、新たにFDBエントリを作成し、作成したFDBエントリをRAM104に記憶する。この際に、FDBエントリに対するECC(Error Check and Correct)を演算し、演算されたECCをFDBエントリと共にRAM104に記憶する。そして、該FDBエントリに対応する検索キーをCAM101の検索テーブルに記憶する。このとき、検索キーがCAM101に記憶されるアドレスと、RAM104に記憶されるFDBエントリのアドレスとが等しくなるように、両者を対応させて記憶する。よって、次にパケットを受信した際には該パケットより生成した検索キーに基づいてCAM101の検索テーブルを検索し、検索結果からRAM104のアドレスを取得し、取得したアドレスからRAM104に記憶したFDBエントリ(転送情報)を取得することができる。
本実施の形態のCAM101に記憶されている検索テーブルの例を図3に示す。
図3に示すように、“Database_Entry”は、CAM101のアドレスであり、Nビットのデータから構成される検索キー及び1ビットのパリティ(本実施の形態では、該Nビットの検索キーに対する奇数パリティ)がアドレス毎に記憶されている。このパリティは、CAM101に新たに検索キーを記憶する際に、検索エンジン103によって演算され、演算されたパリティの付された検索キーをCAM101に記憶する。
前述したように、この“Database_Entry”(アドレス)が、RAM104に記憶されているFDBのアドレスと対応するように、検索キーが記憶されており、検索キーに対応する“Database_Entry”(アドレス)を用いてRAM104に記憶されたデータを読み込むことによって、該検索キーに対応するFDBのエントリ(転送情報)を取得することができる。
すなわち、CAM101がFDBに記憶する転送情報の記憶位置を示す“Database_Entry”のアドレスを記憶することで転送情報取得部が構成される。
ここで、物理層処理部105に新たなパケットが到達した場合、物理層処理部105はパケットを転送エンジン106に送る。転送エンジン106は受け取ったパケットのヘッダ情報を抽出し、検索エンジン103に送る。検索エンジン103は、受け取ったパケットのヘッダ情報から検索キーを生成し、パリティを計算する。そして、検索エンジンによって、生成した検索キーをCAM101に送り、検索命令を発行することで、CAM101の検索テーブルを検索し、検索結果としてCAM101のアドレスを得る。
このCAMによって行われる検索は、検索キーの各ビットとCAMに記憶されている検索キーの各ビットとの排他的論理和の演算結果として、マスクを用いて予め検索範囲として定義されたビット領域の中の全てのビットが正である場合(すなわち、全ビットが同じである場合)に、検索キーとCAMに記憶されている検索キーとが一致(ヒット)したと判断し、該検索キーが記憶されているアドレス(Database_Entry)を検索結果として出力する。また、ヒットしていない場合には検索結果を出力しない。
図3に示す例では、CAM検索キーの第0ビット及び第1ビットが“1”であるため、検索キーと一致(ヒット)し、検索テーブルのアドレス“0x0_0002”を結果として返し、検索が完了する。
ここで、CAM101にチップに含まれる不純物から発生するアルファ線や、宇宙線(ガンマ線)等の放射線等の影響によって、記録されているデータにビット反転が生じ、データが変化するソフトエラーが発生し、CAM101の検索テーブルにビット反転が発生したとする。図4は、CAM101の検索テーブルのアドレス“0x0_0001”に記憶されている検索キーの第0ビットが“0”から“1”に反転した状態を示す。この場合、前述したように到達したパケットのヘッダ情報から生成した検索キーを用いて検索テーブルを検索すると、ソフトエラーによるビット反転のために、検索キーの内容と一致する項目が、アドレス“0x0_0001”及びアドレス“0x0_0002”の2箇所存在するが、該ソフトエラーが発生した検索キー(アドレス“0x0_0001”)は、パリティビットが一致しないことから、検索キーがヒットしない。一方、正しいエントリは、パリティビットも含めて一致することから、検索キーがヒットする。よって、正しい検索キーのアドレス“0x0_0002”を検索の結果として取得することができる。
前述のような機構によって、ソフトエラーの場合に検索キーがヒットしない場合、LANスイッチは、パケットヘッダに書かれたMAC宛先に向けてブロードキャストを行い、その応答を得て、宛先アドレスの登録を行う学習プロセスを開始することになる。学習が終了すれば、正しい内容を有するエントリが再びCAM101とRAM104に登録される。
ソフトエラーにより誤ったエントリは、例えば後述の実施例に述べる方法で削除される。
特に仮想閉域網を提供するサービスにおいては、閉域性を保つために、CAM101に記憶されるデータで仮想閉域網を識別するためのVLAN識別子にパリティを付与することが有効である。パリティも含めて一致するかを検索することで、CAM101に発生したソフトエラーによって仮想閉域網の識別子が変化した検索キーが、誤ってヒットして、誤った転送情報を取得して、誤った宛先に対してパケットが転送されることがない。
この場合も検索キーにヒットしなかったパケットは、パケットヘッダに書かれた宛先に向けてブロードキャストを行うが、ブロードキャストを行う範囲は当該パケットを所属するVLAN網内に限られており、閉域性を保証することができる。
また、ソフトエラーによる誤ったヒットを防止するために、パリティだけではなく、検索テーブルに記憶される同一の検索キーに対応する検索キーを複数登録する方法も考えられる。
図5は、CAM101に記憶される検索テーブルに、一つの検索キーを2箇所(二つのアドレス)に記憶して構成した例である。この場合、CAM101の検索テーブルのアドレスと、RAM104のFDBのアドレスとを一致させる必要があるので、RAM104に記憶されるFDBエントリも2箇所(二つのアドレス)に記憶する。
この場合、図6に示すように、一対として記憶されている二つの検索キーのうち一方の検索キーにソフトエラー発生じてビット反転が発生した場合には、他方の検索キー(ソフトエラー発生じていない検索キー)と検索キーが一致する。検索結果としてはもう一方のアドレスが得られ、そちらのFDBエントリにヒットすることで、重要な検索アドレスに対する冗長化が可能となる。
なお、前述した図3及び図5に示す例においては、1ビットの奇数パリティを用いた例を示したが、偶数パリティを用いてもよいし、他の方法のパリティでもよい。また、複数のパリティビットを設定してもよい。例えば、一つの検索キーに対して一つのパリティを生成するのではなく、検索キーの所定のビットの組み合わせを用いてパリティを生成してもよい。具体的には、検索キーを構成するビットのうち、奇数ビットから第1のパリティを生成し、偶数ビットから第2のパリティを生成する。このようにすることで、検索キーに複数のソフトエラーが発生した場合の、誤った検索キーのヒットを防止することができる。
次に、本発明の第1の実施の形態の検索エンジン103が行う、CAM101の検索テーブルの検索処理を、図7のフローチャートを参照してLANスイッチを例にとって説明する。
まず、検索エンジン103は、物理層処理部105が受け取ったパケットから抽出されたヘッダ情報を解析する(S101)。そして、受信したパケットのヘッダ情報から前述した検索キーを生成する(S102)。
次に、検索キーを構成するデータの全ビットの奇数パリティを算出して、パリティを生成する(S103)。そして、算出したパリティを、S102で生成した検索キーに付加し、これをCAM101のCompareレジスタに書き込む(S104)。そして、CAM101に対してCompare命令を発行する(S105)。CAM101は、記憶された検索キーのうち、Compareレジスタに書き込まれた検索キーと一致(完全一致又は部分一致)するものがあるかを検索する。そして、検索の結果、ヒットした検索キーがあれば、CAM101は一致した検索キーのアドレスを出力する。検索エンジン103は、検索結果としてアドレスを受け取ると、ヒットした検索キーがあると判定して、S107に移行する。一方、検索結果としてアドレスを受け取れないと、ヒットした検索キーがないと判定して、S109に移行する(S106)。
S107では、検索キーによって検索されたアドレスを用いて、RAM104から該アドレスに対応するFDBのエントリを読み出して、転送情報を取得する。そして、該転送情報に従って、転送エンジンに対して転送命令を発行する(S108)。
一方、S109では、LANスイッチの場合、宛先MACアドレスの学習処理(図8)が起動される。LANスイッチの場合には、パケットヘッダに書かれたMAC宛先に向けてブロードキャスト(S110)を行う。ブロードキャストされたパケットに対して応答があれば、応答のあった物理ポートに当該MACアドレスの登録を行い、MACアドレスの学習処理(学習プロセス)を終了する。
以上の処理が終われば、検索エンジン103は、パケットのヘッダ情報からから生成した検索キーによる検索結果に基づいて、FDBから転送情報を取得して転送エンジン106に転送命令をすることで、目的の宛先にパケットを送ることができる。
次に、検索エンジン103が行う未登録宛先MACアドレスの学習処理を、図8のフローチャートを参照して説明する。
まず、検索エンジン103は、宛先MACアドレスの学習処理によって受け取ったパケットのルートが発見されたか否かを判定する。(S201)
この判定は、パケットヘッダに書かれたMAC宛先に向けてブロードキャスト(S110)を行い、そのブロードキャストされたパケットに対して応答があるか否かにより行う。
応答があった場合には、当該MACアドレスを応答のあった物理ポートに関連付けるFDBエントリを生成し(S202)、生成したFDBエントリのECCを演算する(S203)。次に、生成したFDBエントリを記憶するRAM104のアドレスを決定し(S204)、RAM104に対してFDBエントリを送り、Write命令を発行して、RAM104の、S204で決定したアドレスに、新たなFDBエントリを登録する(S205)。
次に、生成したFDBエントリに基づいてCAM101の検索テーブルに登録する検索キーを生成し(S206)、生成した検索キーのパリティを演算する(S207)。
次に、生成した検索キーにパリティを付加した検索キーをCAM101に送り、Write命令を発行して、S204で決定したFDBエントリを記憶したRAM104のアドレスに対応するアドレスに、新たな検索キーを登録する(S208)。
なお、これらS201からS208にかけての処理はソフトウェアで処理を行ってもよい。
以上説明したように、本発明の第1の実施の形態では、CAM101に記憶される検索キーにパリティを付加したので、CAM101の誤検索を防止し、誤った転送情報を取得して、パケットが誤った宛先に転送されることを防止することができる。特に、VLANやVMANによって構成されるVPNにおいて、本発明のLANスイッチを用いると、CAM101に記憶されるデータが反転した際に、対応するVLAN番号が存在する可能性が高いが、ソフトエラーが生じても誤ったVLAN番号のネットワークへのパケットの転送を防止することができる。
また、CAM101に記憶するデータ(検索キー)にパリティを付すので、別なハードウェア構成によってパリティを設ける必要がない。
次に、本発明の第1の実施の形態の動作の変形例として、LANスイッチではなく、ルータの動作に即して説明する。
まず、図2に示されるルータにパケットが入力されると、物理層処理部105は受け取ったパケットを転送エンジン106に送る。転送エンジン106では、受け取ったパケットの送信元IPアドレス、宛先IPアドレス、ポート情報、ルート情報、VPN識別子等の転送情報を含むヘッダ情報を抽出し、抽出したヘッダ情報(転送情報)を検索エンジン103に送る。
検索エンジン103は、転送情報を受け取ると、CAM101を検索するための検索キーを生成する。この検索キーは、パケットから生成される所定の文字列であり、パケットの送り元又は送り先に対して一意であることが必要であるため、例えば、転送情報から、VLAN識別子やMAC(Media Access Control)アドレスを抽出することで検索キーが生成される。
そして生成された検索キーを用いてCAM101に記憶されている検索テーブルを検索する。検索の結果、転送情報に対応するFDBエントリがRAM104に記憶されていれば、該FDBエントリに従ってパケットの転送処理を行う。
検索の結果、転送情報に対応するFDBエントリがRAM104に登録されていない場合は、例えば、予め設定されたデフォルトルート(Default Route)に転送処理を行ってデフォルトルート上の他のルータに処理を委ねることができる。
本実施の変形例のCAM101に記憶されている検索テーブルの例を図3に示す。
図3に示すように、“Database_Entry”は、CAM101のアドレスであり、Nビットのデータから構成される検索キー及び1ビットのパリティ(本実施の形態では、該Nビットの検索キーに対する奇数パリティ)がアドレス毎に記憶されている。このパリティは、CAM101に新たに検索キーを記憶する際に、検索エンジン103によって演算され、演算されたパリティの付された検索キーをCAM101に記憶する。
前述したように、この“Database_Entry”(アドレス)が、RAM104に記憶されているFDBのアドレスと対応するように、検索キーが記憶されており、検索キーに対応する“Database_Entry”(アドレス)を用いてRAM104に記憶されたデータを読み込むことによって、該検索キーに対応するFDBのエントリ(転送情報)を取得することができる。
ここで、物理層処理部105に新たなパケットが到達した場合、物理層処理部105はパケットを転送エンジン106に送る。転送エンジン106は受け取ったパケットのヘッダ情報を抽出し、検索エンジン103に送る。検索エンジン103は、受け取ったパケットのヘッダ情報から検索キーを生成し、パリティを計算する。そして、検索エンジンによって、生成した検索キーをCAM101に送り、検索命令を発行することで、CAM101の検索テーブルを検索し、検索結果としてCAM101のアドレスを得る。
このCAMによって行われる検索は、検索キーの各ビットとCAMに記憶されている検索キーの各ビットとの排他的論理和の演算結果として、マスクを用いて予め検索範囲として定義されたビット領域の中の全てのビットが正である場合(すなわち、全ビットが同じである場合)に、検索キーとCAMに記憶されている検索キーとが一致(ヒット)したと判断し、該検索キーが記憶されているアドレス(Database_Entry)を検索結果として出力する。また、ヒットしていない場合には検索結果を出力しない。
図3に示す例では、CAM検索キーの第0ビット及び第1ビットが“1”であるため、検索キーと一致(ヒット)し、検索テーブルのアドレス“0x0_0002”を結果として返し、検索が完了する。
ここで、CAM101にソフトエラーが発生し、CAM101の検索テーブルにビット反転が発生したとする。図4は、CAM101の検索テーブルのアドレス“0x0_0001”に記憶されている検索キーの第0ビットが“0”から“1”に反転した状態を示す。この場合、前述したように到達したパケットのヘッダ情報から生成した検索キーを用いて検索テーブルを検索すると、ソフトエラーによるビット反転のために、検索キーの内容と一致する項目が、アドレス“0x0_0001”及びアドレス“0x0_0002”の2箇所存在するが、該ソフトエラーが発生した検索キー(アドレス“0x0_0001”)は、パリティビットが一致しないことから、検索キーがヒットしない。一方、正しいエントリは、パリティビットも含めて一致することから、検索キーがヒットする。よって、正しい検索キーのアドレス“0x0_0002”を検索の結果として取得することができる。
上記のような機構によってソフトエラーの場合に検索キーがヒットしない場合、ルータは、例えば、予め設定されたデフォルトルート(Default Route)に転送処理を行ってデフォルトルート上の他のルータに処理を委ねることができる。
また、ソフトエラーによる誤ったヒットを防止するために、パリティだけではなく、検索テーブルに記憶される同一の検索キーに対応する検索キーを図5に示すように、複数登録する方法も考えられる。
この場合、図6に示すように、一対として記憶されている二つの検索キーのうち一方の検索キーにソフトエラー発生じてビット反転が発生した場合には、他方の検索キー(ソフトエラーの発生じていない検索キー)と検索キーが一致する。検索結果としてはもう一方のアドレスが得られ、そちらのFDBエントリにヒットすることで、重要な検索アドレスに対する冗長構成が可能となる。
特にデフォルトルートは、CAMの最後付近のアドレスに、所定のビットに対してマスクを“Do Not Care”に設定することで、他にヒットするエントリがなかった場合に必ずヒットするように設定されるが、これを図6のように二つの検索キーを一対として記憶するのが有効である。
また、仮想閉域網を提供するサービスにおいては、閉域性を保つために、CAM101に記憶されるデータで仮想閉域網を識別するためのVPN識別子にパリティを付与することが有効である。
パリティも含めて一致するかを検索することで、CAM101に発生したソフトエラーによって仮想閉域網の識別子が変化した検索キーが、誤ってヒットして、誤った転送情報を取得して、誤った宛先に対してパケットが転送されることがない。
次に、本発明の変形例の検索エンジン103が行う、CAM101の検索テーブルの検索処理を、図7のフローチャートを参照してルータを例にとって説明する。この場合、前述した図7とは、S109及びS110の動作が異なる。
まず、検索エンジン103は、物理層処理部105が受け取ったパケットから抽出されたヘッダ情報を解析する(S101)。そして、受信したパケットのヘッダ情報から前述した検索キーを生成する(S102)。
次に、検索キーを構成するデータの全ビットの奇数パリティを算出して、パリティを生成する(S103)。そして、算出したパリティを、S102で生成した検索キーに付加し、これをCAM101のCompareレジスタに書き込む(S104)。そして、CAM101に対してCompare命令を発行する(S105)。CAM101は、記憶された検索キーのうち、Compareレジスタに書き込まれた検索キーと一致(完全一致又は部分一致)するものがあるかを検索する。そして、検索の結果、ヒットした検索キーがあれば、CAM101は一致した検索キーのアドレスを出力する。検索エンジン103は、検索結果としてアドレスを受け取ると、ヒットした検索キーがあると判定して、S107に移行する。一方、検索結果としてアドレスを受け取れないと、ヒットした検索キーがないと判定して、S109に移行する(S106)。
S107では、検索キーによって検索されたアドレスを用いて、RAM104から該アドレスに対応するFDBのエントリを読み出して、転送情報を取得する。そして、該転送情報に従って、転送エンジンに対して転送命令を発行する(S108)。
一方、S109では、前述した図3の処理とは異なり、宛先IPアドレスに対する経路情報がないとして、パケット廃棄などの障害処理が行われ、インターネットコントロールメッセージプロトコル(ICMP)により、到達不能のメッセージを送信ホストへの返送する(S110)。
次に、ルータが行う経路検索テーブルのメンテナンス処理を、図8のフローチャートを参照して説明する。
まず、ルーティングプロセッサ202は、静的なコンフィグレーション設定の追加やOSPFなどの動的ルーティングプロトコルを通じて、新たなルートの追加・削除などの変更があったかどうかを判断(S201)する。変更があった場合には新たな経路情報を用いて経路計算を行い、FDBの内容の見直しを行って、その結果をCPU102に指示する。この指示に従って、CPU102はFDBエントリを生成し(S202)、生成したFDBエントリのECCを演算する(S203)。次に、生成したFDBエントリを記憶するRAM104のアドレスを決定(S204)する。RAM内のアドレス決定では、CAM101内のエントリのアドレスがRAM内のFDBエントリのアドレスと一致していることと、CAM検索の際に“longest MatchとなるようにCAM内でエントリの並べなければならないこととを考慮する必要がある。RAM内のアドレス決定が終わるとRAM104に対してFDBエントリを送り、Write命令を発行して、RAM104の、S204で決定したアドレスに、新たなFDBエントリを登録する(S205)。
次に、生成したFDBエントリに基づいてCAM101の検索テーブルに登録する検索キーを生成し(S206)、生成した検索キーのパリティを演算する(S207)。
次に、生成した検索キーにパリティを付加した検索キーをCAM101に送り、Write命令を発行して、S204で決定したFDBエントリを記憶したRAM104のアドレスに対応するアドレスに、新たな検索キーを登録する(S208)。
なお、これらS201からS208にかけての処理はソフトウェアで処理を行ってもよい。
次に、本発明の第2の実施の形態について説明する。
第2の実施の形態のLANスイッチでは、CAM101に記憶される検索テーブルの複製(マスターデータ)を、異なるメモリに記憶する。そして、所定のタイミングでマスターデータと検索テーブルとを比較し、両者の相異(検索テーブルのエラー)が発見された場合には、マスターデータの内容を検索テーブルに書き込むことによって、検索テーブルのエラーを修正する。なお第1の実施の形態と同一の構成には同一の符号を付し、その説明を省略する。
図9は、第2の実施の形態のLANスイッチカードの構成を示すブロック図である。
RAM112は、CPU102に接続されており、CAM101に記憶された検索テーブルと同一内容の複製(マスターデータ)を記憶する。このマスターデータは、CAM101の検索テーブルに新たな検索キーが登録されたときに(例えば、前述した図8のS208の際)、CAM101への登録内容(又は、CAM101に記憶される検索テーブル全体)をそのまま複写して、RAM112に記憶される。すなわち、このRAM112によって検索テーブルの複製を記憶することで複製記憶部が構成される。
このCAM101に記憶された検索テーブルは、所定のタイミング(例えば、CAM101に対する処理が一定時間行われていない場合)に、CPU102によって、CAM101に記憶されている検索テーブルとRAM112に記憶されているマスターデータとが照合される。この際、ソフトエラー等によるデータの誤りが発見された場合には、RAM112のマスターデータによって、CAM101の検索テーブルの誤りを修正する。
次に、本発明の第2の実施の形態のCPU102が行う、CAM101に記憶されている検索テーブルの誤り修正処理を、図10のフローチャートを用いて説明する。
CPU102は、検索エンジン103がCAM101に対する処理(検索、書き込み等)が行われたか否かを、タイマを用いて監視して、CAM101の非検索状態を検出する(S301)。すなわち、CAM101に対する処理が行われた際にはタイマをリセットし、タイマが所定の時間を超えた場合(CAM101に対する処理が所定の時間行われていない場合)には、CAM101は非検索状態であると判定する。そして、CAM101の検索テーブルの所定のアドレスの検索キーに対してRead命令を発行し、CAM101の当該アドレスの記憶内容を読み込んで、検索キーを取得する(S302)。次に、RAM112に記憶されているマスターデータから該当するアドレスの記憶内容を読み込んで、検索キーを取得する(S303)。そして、取得した検索キー同士を比較し、両者が一致しているか否かを判定する(S304)。比較の結果、両者が一致していれば、S305からS308の処理を行うことなく、S309に移行し、一致していなければS305に移行する。
S305では、CAM101にWrite命令を発行し、RAM112のマスターテーブルから取得した検索キーを該当するアドレスに上書きする。次に、書き込んだ検索キーのアドレスRead命令を発行し、CAM101の当該アドレスの記憶内容を読み込んで、S305で書き込んだ検索キーを取得する(S306)。次に、RAM112に記憶されているマスターテーブルから該当するアドレスの記憶内容を読み込んで、検索キーを取得し(S307)、取得した検索キー同士を比較する(S308)。比較の結果、両者が一致していればS309に移行し、一致していなければS310に移行する。S309では、S301において設定した所定のアドレスに1を加算(インクリメント)して、S301に移行する。そして、更新されたアドレスに対して、S301からS308の処理を行うことによって、検索テーブルの全ての検索キーを順次比較して、検索テーブルの内容に異常があった場合にはこれを修正する。
S310では、メモリに障害が発生した旨の警告を通知する等のハード障害処理を行い、処理を終了する。
これらS301からS309にかけての処理はソフトウェアによって行ってもよい。
以上のように構成された本発明の第2の実施の形態では、第1の実施の形態の効果に加え、CAM101の検索テーブルの複製を記憶しておき、CAM100に記憶されている検索テーブルにソフトエラーが発生した場合にも、バックグラウンドの処理によってエラーを検出し、エラーを修正することができる。また、CAM101にハードウェア上の障害が発生した場合には、その障害を検知することができる。
本発明の第1の実施の形態の、ネットワークシステムの構成を示すブロック図である。 本発明の第1の実施の形態の、LANスイッチの構成を示すブロック図である。 本発明の第1の実施の形態の、CAM101に記憶されている検索テーブルの説明図である。 本発明の第1の実施の形態の、図3に示す検索テーブルにソフトエラーが発生した状態の説明図である。 本発明の第1の実施の形態の、CAM101に記憶されている検索テーブルの別の例の説明図である。 図5に示す検索テーブルにソフトエラーが発生した状態の説明図である。 本発明の第1の実施の形態の、CAM101の検索テーブルの検索処理を示すフローチャートである。 本発明の第1の実施の形態の、未登録宛先のルート発見処理を示すフローチャートである。 本発明の第2の実施の形態の、LANスイッチの構成を示すブロック図である。 本発明の第2の実施の形態の、CAM101に記憶されている検索テーブルの誤り修正処理のフローチャートである。
符号の説明
100 LANスイッチカード
101 CAM
102 CPU
103 検索エンジン
104 RAM
105 物理層処理部
106 転送エンジン
107 スイッチ
200 バックプレーン
201 バックプレーンスイッチ
202 ルーティングプロセッサ
1100 コア網
1200、1300 エッジ網
1101a、1101b、1101c、1101d、1201a、1201b、1201c、1301a、1301b、1301c、 スイッチ
1102A、1102B ゲートウェイ
1302 ゲートウェイ
1400 VPN
1401a、1401b、1401c サーバ
1500 トンネリングネットワーク

Claims (15)

  1. パケットを送受信する入出力部と、
    受信したパケットからヘッダ情報を抽出し、前記パケットの転送先を決定する転送部と、
    前記パケットの転送先を決定するための転送情報を記憶する転送情報記憶部と、
    前記パケットの転送情報を前記転送情報記憶部から取得する転送情報取得部と、を備えたパケット転送装置において、
    前記パケットの転送先に関する検索キー及び該検索キーから生成された照合情報を、前記転送情報記憶部に記憶される転送情報の記憶位置に関連して記憶する検索キー記憶部を備え、
    前記転送情報取得部は、
    前記ヘッダ情報に基づいて生成された検索キー及び該検索キーから生成された照合情報を用いて前記検索キー記憶部を検索し、
    前記検索キー記憶部に記憶された検索キー及び照合情報と一致すると、前記検索キー記憶部から前記転送情報の記憶位置情報を取得し、
    前記取得した記憶位置情報に基づいて前記転送情報記憶部に記憶された転送情報を取得し、
    前記転送部は、前記取得した転送情報に基づいて、受信したパケットを転送することを特徴とするパケット転送装置。
  2. 前記検索キー記憶部は、前記検索キー及び前記照合情報を、複数の領域に記憶し、
    前記転送情報取得部は、該複数の領域に記憶された検索キー及び照合情報の全てが一致すると、前記検索キー記憶部から前記転送情報の記憶位置情報を取得することを特徴とする請求項1に記載のパケット転送装置。
  3. 前記照合情報は、前記検索キーの複数のビットの値を演算して生成されることを特徴とする請求項1又は2に記載のパケット転送装置。
  4. 前記照合情報は、前記検索キーの複数のビットの値を演算して生成される第1照合情報と、前記複数のビット以外のビットの値を演算して生成される第2照合情報とによって構成されることを特徴とする請求項1又は2に記載のパケット転送装置。
  5. 前記検索キー記憶部に記憶される検索キー及び照合情報の複製を記憶する複製記憶部、
    前記検索キー記憶部に記憶される検索キー及び照合情報と、前記複製記憶部に記憶される検索キー及び照合情報とを比較し、両者の記憶内容が異なる場合には、前記複製記憶部に記憶された検索キー及び照合情報によって、前記検索キー記憶部に記憶される検索キー及び照合情報を書き換える検索キー修正部を備えることを特徴とする請求項1から4のいずれか一つに記載のパケット転送装置。
  6. パケットを送受信する入出力部と、前記パケットの転送先を決定する転送部と、前記パケットの転送先を決定するための転送情報を記憶する転送情報記憶部と、前記パケットの転送情報を前記転送情報記憶部から取得する転送情報取得部と、前記パケットの転送先に関する検索キー及び該検索キーから生成された照合情報を、前記転送情報記憶部に記憶される転送情報の記憶位置に関連して記憶する検索キー記憶部と、を備えたパケット転送装置において用いられる転送情報の取得方法であって、
    受信したパケットから抽出されたヘッダ情報に基づいて生成された検索キー及び該検索キーから生成された照合情報を用いて前記検索キー記憶部を検索し、
    前記検索キー記憶部に記憶された検索キー及び照合情報が一致すると、前記検索キー記憶部から前記転送情報の記憶位置情報を取得し、
    前記取得した記憶位置情報に基づいて前記転送情報記憶部に記憶された転送情報を取得することを特徴とする転送情報の取得方法。
  7. パケットを送受信する入出力部と、前記パケットの転送先を決定する転送部と、前記パケットの転送先を決定するための転送情報を記憶する転送情報記憶部と、前記パケットの転送情報を前記転送情報記憶部から取得する転送情報取得部と、前記パケットの転送先に関する検索キー及び該検索キーから生成された照合情報を、前記転送情報記憶部に記憶される転送情報の記憶位置に関連して記憶する検索キー記憶部と、を備えたパケット転送装置において用いられる検索キーの生成方法であって、
    前記パケットの転送先となりうる転送情報を前記転送情報記憶部に記憶し、
    前記転送情報記憶部に記憶した転送情報に基づいて検索キーを生成し、
    該検索キーの複数のビットの値を演算して照合情報を生成し、
    前記生成された検索キー及び照合情報を前記検索キー記憶部に記憶することを特徴とする検索キーの登録方法。
  8. 前記検索キー及び前記照合情報は、前記検索キー記憶部の複数の領域に記憶されることを特徴とする請求項7に記載の検索キーの登録方法。
  9. 前記検索キーの複数のビットの値を演算して生成される第1照合情報と、前記複数のビット以外のビットの値を演算して生成される第2照合情報とが、前記照合情報として、前記検索キー記憶部に記憶されることを特徴とする請求項7に記載の検索キーの登録方法。
  10. パケットを送受信する入出力部と、前記パケットの転送先を決定する転送部と、前記パケットの転送先を決定するための転送情報を記憶する転送情報記憶部と、前記パケットの転送情報を前記転送情報記憶部から取得する転送情報取得部と、前記パケットの転送先に関する検索キー及び該検索キーから生成された照合情報を、前記転送情報記憶部に記憶される転送情報の記憶位置に関連して記憶する検索キー記憶部と、前記検索キー記憶部に記憶される検索キー及び照合情報の複製を記憶する複製記憶部と、を備えたパケット転送装置において用いられる検索キーの誤り訂正方法であって、
    前記検索キー記憶部に記憶される検索キー及び照合情報と、前記複製記憶部に記憶される検索キー及び照合情報とを比較し、
    両者の記憶内容が異なる場合には、前記複製記憶部に記憶された検索キー及び照合情報によって、前記検索キー記憶部に記憶される検索キー及び照合情報を書き換えることを特徴とする検索キーの誤り訂正方法。
  11. 前記書き換えられた検索キー及び照合情報を読み出し、
    前記読み出した検索キー及び照合情報と、前記複製記憶部に記憶される検索キー及び照合情報とを比較し、
    両者の記憶内容が一致するか否かを判定することを特徴とする検索キーの誤り訂正方法。
  12. パケットを送受信するサーバと、パケットを転送するパケット転送装置が接続されて構成されるネットワークシステムであって、
    前記パケット転送装置は、パケットを送受信する入出力部と、受信したパケットからヘッダ情報を抽出し前記パケットの転送先を決定する転送部と、前記パケットの転送先を決定するための転送情報を記憶する転送情報記憶部と、前記パケットの転送情報を前記転送情報記憶部から取得する転送情報取得部と、前記パケットの転送先に関する検索キー及び該検索キーから生成された照合情報を、前記転送情報記憶部に記憶される転送情報の記憶位置に関連して記憶する検索キー記憶部と、を備え、
    前記転送情報取得部は、前記ヘッダ情報に基づいて生成された検索キー及び該検索キーから生成された照合情報を用いて前記検索キー記憶部を検索し、前記検索キー記憶部に記憶された検索キー及び照合情報が一致すると、前記検索キー記憶部から前記転送情報の記憶位置を取得し、前記取得した記憶位置に基づいて前記転送情報記憶部に記憶された転送情報を取得し、
    前記転送部は、前記取得した転送情報に基づいて、受信したパケットを転送することを特徴とするネットワークシステム。
  13. 前記サーバ及び前記パケット転送装置によって仮想私設網を構成していることを特徴とする請求項12に記載のネットワークシステム。
  14. パケットを送受信する入出力部と、前記パケットの転送先を決定する転送部と、前記パケットの転送先を決定するための転送情報を記憶する転送情報記憶部と、前記パケットの転送情報を前記転送情報記憶部から取得する転送情報取得部と、前記パケットの転送先に関する検索キー及び該検索キー内の仮想私設網識別子から生成された照合情報を、前記転送情報記憶部に記憶される転送情報の記憶位置に関連して記憶する検索キー記憶部と、を備えたパケット転送装置において用いられる転送情報の取得方法であって、
    受信したパケットから抽出されたヘッダ情報に基づいて生成された検索キー及び該検索キー内の仮想私設網識別子から生成された照合情報を用いて前記検索キー記憶部を検索し、
    前記検索キー記憶部に記憶された検索キー及び照合情報が一致すると、前記検索キー記憶部から前記転送情報の記憶位置情報を取得し、
    前記取得した記憶位置情報に基づいて前記転送情報記憶部に記憶された転送情報を取得することを特徴とする転送情報の取得方法。
  15. パケットを送受信する入出力部と、前記パケットの転送先を決定する転送部と、前記パケットの転送先を決定するための転送情報を記憶する転送情報記憶部と、前記パケットの転送情報を前記転送情報記憶部から取得する転送情報取得部と、前記パケットの転送先に関する検索キー及び該検索キー内のVirtual LAN識別子から生成された照合情報を、前記転送情報記憶部に記憶される転送情報の記憶位置に関連して記憶する検索キー記憶部と、を備えたパケット転送装置において用いられる転送情報の取得方法であって、
    受信したパケットから抽出されたヘッダ情報に基づいて生成された検索キー及び該検索キー内のVirtual LAN識別子から生成された照合情報を用いて前記検索キー記憶部を検索し、
    前記検索キー記憶部に記憶された検索キー及び照合情報が一致すると、前記検索キー記憶部から前記転送情報の記憶位置情報を取得し、
    前記取得した記憶位置情報に基づいて前記転送情報記憶部に記憶された転送情報を取得することを特徴とする転送情報の取得方法。
JP2003346048A 2003-10-03 2003-10-03 パケット転送装置 Expired - Lifetime JP4355188B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003346048A JP4355188B2 (ja) 2003-10-03 2003-10-03 パケット転送装置
US10/954,475 US7522592B2 (en) 2003-10-03 2004-10-01 Packet transfer unit
CNB2004100835021A CN100542129C (zh) 2003-10-03 2004-10-08 数据包传送装置
US12/385,357 US7924833B2 (en) 2003-10-03 2009-04-06 Packet transfer unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003346048A JP4355188B2 (ja) 2003-10-03 2003-10-03 パケット転送装置

Publications (3)

Publication Number Publication Date
JP2005117171A true JP2005117171A (ja) 2005-04-28
JP2005117171A5 JP2005117171A5 (ja) 2006-10-26
JP4355188B2 JP4355188B2 (ja) 2009-10-28

Family

ID=34386362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003346048A Expired - Lifetime JP4355188B2 (ja) 2003-10-03 2003-10-03 パケット転送装置

Country Status (3)

Country Link
US (2) US7522592B2 (ja)
JP (1) JP4355188B2 (ja)
CN (1) CN100542129C (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009522868A (ja) * 2005-12-30 2009-06-11 エクストリーム・ネットワークス・インコーポレイテッド 仮想ルータ機能を提供する方法
JP2012209778A (ja) * 2011-03-30 2012-10-25 Nec Corp ネットワーク装置、ネットワーク装置の管理方法、管理プログラム、パケットネットワークシステム
US8605732B2 (en) 2011-02-15 2013-12-10 Extreme Networks, Inc. Method of providing virtual router functionality
JP2014143505A (ja) * 2013-01-23 2014-08-07 Alaxala Networks Corp データ転送装置及びデータ転送方法
JP2015158958A (ja) * 2014-02-25 2015-09-03 アラクサラネットワークス株式会社 通信装置、及びcamの異常診断方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584262B1 (en) 2002-02-11 2009-09-01 Extreme Networks Method of and system for allocating resources to resource requests based on application of persistence policies
US7447777B1 (en) 2002-02-11 2008-11-04 Extreme Networks Switching system
US7814204B1 (en) 2002-02-11 2010-10-12 Extreme Networks, Inc. Method of and system for analyzing the content of resource requests
JP4355188B2 (ja) * 2003-10-03 2009-10-28 株式会社日立製作所 パケット転送装置
US9032095B1 (en) 2004-01-06 2015-05-12 Juniper Networks, Inc. Routing device having multiple logical routers
US7522516B1 (en) 2004-03-30 2009-04-21 Extreme Networks, Inc. Exception handling system for packet processing system
US7822032B1 (en) 2004-03-30 2010-10-26 Extreme Networks, Inc. Data structures for supporting packet data modification operations
US7292591B2 (en) 2004-03-30 2007-11-06 Extreme Networks, Inc. Packet processing system architecture and method
US7613209B1 (en) 2004-03-30 2009-11-03 Extreme Networks, Inc. System and method for egress packet marking
US7453874B1 (en) 2004-03-30 2008-11-18 Extreme Networks, Inc. Method and system for incrementally updating a checksum in a network data packet
US8161270B1 (en) 2004-03-30 2012-04-17 Extreme Networks, Inc. Packet data modification processor
US7304996B1 (en) 2004-03-30 2007-12-04 Extreme Networks, Inc. System and method for assembling a data packet
US7385984B2 (en) * 2004-03-30 2008-06-10 Extreme Networks, Inc. Packet processing system architecture and method
US7649879B2 (en) * 2004-03-30 2010-01-19 Extreme Networks, Inc. Pipelined packet processor
US7463628B2 (en) * 2004-03-30 2008-12-09 Extreme Networks, Inc. Packet data modification processor command instruction set
US7889750B1 (en) 2004-04-28 2011-02-15 Extreme Networks, Inc. Method of extending default fixed number of processing cycles in pipelined packet processor architecture
US7304873B1 (en) * 2005-01-25 2007-12-04 Netlogic Microsystems, Inc. Method for on-the-fly error correction in a content addressable memory (CAM) and device therefor
US7822033B1 (en) 2005-12-30 2010-10-26 Extreme Networks, Inc. MAC address detection device for virtual routers
US7817633B1 (en) * 2005-12-30 2010-10-19 Extreme Networks, Inc. Method of providing virtual router functionality through abstracted virtual identifiers
US7961722B1 (en) * 2006-03-07 2011-06-14 Juniper Networks, Inc. Multiple virtualized operating environments within a VPN appliance
JP2007266850A (ja) * 2006-03-28 2007-10-11 Fujitsu Ltd 伝送装置
US7756160B2 (en) * 2007-11-16 2010-07-13 Cellnet Technology, Inc. Packet consolidation
US7852486B2 (en) * 2008-02-07 2010-12-14 Board Of Regents, The University Of Texas System Wavelength and intensity monitoring of optical cavity
US8369345B1 (en) * 2009-11-13 2013-02-05 Juniper Networks, Inc. Multi-router system having shared network interfaces
US10592106B2 (en) * 2013-03-20 2020-03-17 Amazon Technologies, Inc. Replication target service
CN103235920A (zh) * 2013-04-28 2013-08-07 杭州和利时自动化有限公司 一种可编程逻辑器件及其操作权限控制方法
US9170880B1 (en) * 2013-10-08 2015-10-27 Qlogic, Corporation Method and system for data integrity in TCAMS

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63121947A (ja) 1986-11-12 1988-05-26 Nec Corp 連想メモリ回路
GB9213821D0 (en) * 1992-06-30 1992-08-12 Inmos Ltd Content addressable memory
JP3686480B2 (ja) 1996-07-11 2005-08-24 株式会社ルネサステクノロジ 半導体集積回路
JPH11328044A (ja) 1998-05-12 1999-11-30 Nec Corp 連想メモリ監視方法及び装置
US6957272B2 (en) * 2000-05-24 2005-10-18 Alcatel Internetworking (Pe), Inc. Stackable lookup engines
JP2002279785A (ja) 2001-03-21 2002-09-27 Nec Corp Cam検索システム及びそれに用いるcam検索方法並びにそのプログラム
US7167471B2 (en) * 2001-08-28 2007-01-23 International Business Machines Corporation Network processor with single interface supporting tree search engine and CAM
JP2003092598A (ja) * 2001-09-18 2003-03-28 Nec Corp パケット転送処理装置
US7117301B1 (en) * 2001-12-27 2006-10-03 Netlogic Microsystems, Inc. Packet based communication for content addressable memory (CAM) devices and systems
JP3789395B2 (ja) * 2002-06-07 2006-06-21 富士通株式会社 パケット処理装置
US7003625B2 (en) * 2002-12-19 2006-02-21 Mosaid Technologies, Inc. Searching small entities in a wide CAM
US7325002B2 (en) * 2003-04-04 2008-01-29 Juniper Networks, Inc. Detection of network security breaches based on analysis of network record logs
JP4355188B2 (ja) * 2003-10-03 2009-10-28 株式会社日立製作所 パケット転送装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009522868A (ja) * 2005-12-30 2009-06-11 エクストリーム・ネットワークス・インコーポレイテッド 仮想ルータ機能を提供する方法
US8605732B2 (en) 2011-02-15 2013-12-10 Extreme Networks, Inc. Method of providing virtual router functionality
JP2012209778A (ja) * 2011-03-30 2012-10-25 Nec Corp ネットワーク装置、ネットワーク装置の管理方法、管理プログラム、パケットネットワークシステム
US9491096B2 (en) 2011-03-30 2016-11-08 Nec Corporation Network apparatus, control method thereof, control program and packet network system
JP2014143505A (ja) * 2013-01-23 2014-08-07 Alaxala Networks Corp データ転送装置及びデータ転送方法
JP2015158958A (ja) * 2014-02-25 2015-09-03 アラクサラネットワークス株式会社 通信装置、及びcamの異常診断方法
US9830403B2 (en) 2014-02-25 2017-11-28 Alaxala Networks Corporation Communication apparatus, and CAM failure diagnosis method

Also Published As

Publication number Publication date
CN1604568A (zh) 2005-04-06
US20090196293A1 (en) 2009-08-06
US7924833B2 (en) 2011-04-12
US7522592B2 (en) 2009-04-21
JP4355188B2 (ja) 2009-10-28
CN100542129C (zh) 2009-09-16
US20050074009A1 (en) 2005-04-07

Similar Documents

Publication Publication Date Title
JP4355188B2 (ja) パケット転送装置
US11336574B2 (en) Segment routing extension headers
US8312066B2 (en) Hash collision resolution with key compression in a MAC forwarding data structure
US8059658B1 (en) Method and system for automatic expansion and contraction of IP host forwarding database
US7599364B2 (en) Configurable network connection address forming hardware
US20060023744A1 (en) Network address-port translation apparatus and method for IP fragment packets
US7305519B1 (en) Error protection for associative memory entries and lookup operations performed thereon
US20060153193A1 (en) Network routing control method and apparatus
JP5889218B2 (ja) データ転送装置及びデータ転送方法
JP5050978B2 (ja) 伝送情報転送装置及び方法
JP4229810B2 (ja) 通信試験装置
US20070025346A1 (en) System and method for creating a routing table
US7809008B2 (en) Methods and apparatus for routing packets
JP3845512B2 (ja) 最長一致検索装置
US8199756B2 (en) Forwarding apparatus, forwarding method, and computer product
JP5249859B2 (ja) スイッチング装置およびスイッチング方法
JP3376941B2 (ja) ルータ装置
US7720006B1 (en) System for determining reachablity of a neighboring node in a network
JP2008219187A (ja) 経路情報変更方法、経路情報変更装置および経路情報変更プログラム
JP2011244132A (ja) ルータ及び経路記憶方法
JP2014112755A (ja) あいまい記録1連のビット列記録方法
JP2014120958A (ja) あいまい記録1連のビット列記録回路およびそれを用いたリング網
JP2014120957A (ja) あいまい記録1連のビット列記録回路およびそれを用いたリング網
JP2006229880A (ja) パケット識別装置及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060911

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090518

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090731

R150 Certificate of patent or registration of utility model

Ref document number: 4355188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term