JP2005045442A - 宛先判定回路 - Google Patents
宛先判定回路 Download PDFInfo
- Publication number
- JP2005045442A JP2005045442A JP2003201709A JP2003201709A JP2005045442A JP 2005045442 A JP2005045442 A JP 2005045442A JP 2003201709 A JP2003201709 A JP 2003201709A JP 2003201709 A JP2003201709 A JP 2003201709A JP 2005045442 A JP2005045442 A JP 2005045442A
- Authority
- JP
- Japan
- Prior art keywords
- mac address
- hash function
- determination circuit
- destination determination
- search key
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】可及的に小さい記憶容量でありながら端末の登録漏れを少なくすることのできる宛先判定回路を提供する。
【解決手段】MACアドレスとポート番号とを対応付けて記憶し、MACアドレスに基づいてポート番号を読み出す宛先判定回路1において、MACアドレスに基く複数種類のハッシュ関数値f1,f2でそれぞれアクセスされる複数の記憶領域3a,3b,4a,4bを設け、既に記憶されているMACアドレスと同種のハッシュ関数値f1が重複するMACアドレスは他種のハッシュ関数値f2でアクセスされる記憶領域に記憶させるようにした。
【選択図】 図1
【解決手段】MACアドレスとポート番号とを対応付けて記憶し、MACアドレスに基づいてポート番号を読み出す宛先判定回路1において、MACアドレスに基く複数種類のハッシュ関数値f1,f2でそれぞれアクセスされる複数の記憶領域3a,3b,4a,4bを設け、既に記憶されているMACアドレスと同種のハッシュ関数値f1が重複するMACアドレスは他種のハッシュ関数値f2でアクセスされる記憶領域に記憶させるようにした。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、パケットの中継の際に宛先判定に用いられる宛先判定回路に係り、特に、可及的に小さい記憶容量でありながら端末の登録漏れを少なくすることのできる宛先判定回路に関するものである。
【0002】
【従来の技術】
ネットワークの中継装置には、ポートに到着したパケットから宛先アドレスを読み取ってその宛先アドレスに基づいて転送するべきポートを判定することにより、当該宛先アドレスを持つ端末が接続されているネットワークのみにパケットを中継するフィルタリング機能を持つものがある。この機能を実現するために、中継装置には、アドレスとポート番号とを対応付けて記憶する記憶領域が設けられる。
【0003】
上記中継装置のひとつであるスイッチングハブは、ポートに到着したパケットから送信元MACアドレスを読み取ってそのアドレスとポート番号とを対応付けて記憶領域に記憶する学習機能があり、この学習機能により上記フィルタリング機能をより効果的に発揮することができる。
【0004】
学習及びフィルタリングに際し、記憶領域に書き込みや読み出しを行うには、MACアドレスに基づいて記憶領域をアクセスする必要がある。MACアドレスに基づいて記憶領域をアクセスする方法には、大きく分けて2つの方法がある。1つは、CAM(内容アドレスメモリ)を用いる方法で、書き込みのときにはランダムに空き領域に書き込み、読み出しのときにはMACアドレスをCAMに与えると、そのMACアドレス及び対応するポート番号を記憶している領域がアクセスされ、ポート番号が読み出せるというものである。もう1つは、ハッシュ関数を用いる方法で、書き込みのときも読み出しのときも、MACアドレスに基づいてハッシュ関数値を計算し、このハッシュ関数値をアドレスとする領域にMACアドレス及び対応するポート番号を書き込み又は読み出しするものである。
【0005】
ハッシュ関数はどのような関数でもよいが、通常はMACアドレスよりも桁数の少ないハッシュ関数値が得られるものを使用することで記憶容量の節約を図る。例えば、CRC32と呼ばれる関数は、2進32桁のハッシュ関数値が得られ、MACアドレスの全桁よりも桁数が少なくできるので、248もあるMACアドレスの全空間よりも大幅に小さい232個分の記憶容量しか必要としない。
【0006】
CAMは記憶容量が大きくなると価格が飛躍的に高くなるので、CAMを用いる方法は大きな記憶領域を必要とする中継装置には不向きである。これに対しハッシュ関数を用いる方法は、記憶領域が一般的なランダムアクセス方式のメモリで構成でき、この種のメモリは記憶容量を大きくしても価格にはCAMほどには大きく響かないので、大きな記憶領域を必要とする中継装置に好適である。ただし、記憶容量が大きければランダムアクセス方式のメモリといえどもそれなりに価格が高いので、記憶容量はできるだけ小さくすることが望ましい。
【0007】
図3に示されるように、従来のハッシュ関数を用いた宛先判定回路31は、MACアドレス(検索キーとも呼ぶ)からハッシュ関数値(f検索キーとも呼ぶ)fを計算する関数計算回路32と、このハッシュ関数値fをアドレスとしそのアドレスでアクセスされる領域にMACアドレスを記憶する検索キーテーブル(記憶領域のひとつ)33と、同じハッシュ関数値fをアドレスとしそのアドレスでアクセスされる領域にポート番号を記憶するポートテーブル(記憶領域のひとつ)34と、検索キーテーブルから読み出されたMACアドレスを検索キーであるMACアドレスとを比較する比較回路35とを備え、検索キーテーブル33から読み出されたMACアドレスが検索キーであるMACアドレスと一致したとき、ポートテーブル34から読み出されたポート番号が検索キーに対応した所望するポート番号である。
【0008】
この宛先判定回路31に検索キーを入力すれば、宛先ポートのポート番号が出力されることになる。
【0009】
ハッシュ関数値fが2N 個の値を取り得るので、Nビットのハッシュアドレスが得られ、検索キーテーブル33及びポートテーブル34は、それぞれ0から2N −1までのアドレスを持つ2N 個の領域を有する。
【0010】
【特許文献1】
特開平09−098184号公報
【0011】
【発明が解決しようとする課題】
f検索キーは原初の検索キーを情報圧縮したものであるから、1つのf検索キーに対して原初となる検索キーが必ず複数存在する。つまり、同じハッシュ関数値fになってしまう複数のMACアドレスが存在し得る。従って、スイッチングハブに繋がっている複数の端末の中にたまたま同じハッシュ関数値fになってしまうMACアドレスを持つ端末が重複していることも起きる。一方の端末についてハッシュ関数値fをアドレスとする領域に既にMACアドレスが登録されていると、同じハッシュ関数値fをもたらす他方の端末について新しくMACアドレスを登録する領域がないことになる。新しいMACアドレスを上書きしてしまうと、古いMACアドレスが失われてしまう。このため、2つのMACアドレスの一方は未登録ということになり、せっかく学習した内容が失われることになる。もちろん3つ以上のMACアドレスについてハッシュ関数値fが同じという場合もあり、スイッチングハブに接続し通信を行っているのに未登録という端末が増えることになる。このような重複が起きている一方で、MACアドレスが登録されていない空きの領域が多く残っているという状況が有り得る。
【0012】
スイッチングハブは、未登録の宛先MACアドレスを持つパケットはそのパケットを受信したポートを除く全ポートに転送するので、未登録の端末があるとネットワーク上に流れるパケットの総量が顕著に増大し、通信障害の一因となる。従って、上記のようにハッシュ関数値の重複によって未登録にされる端末が存在するのは好ましくない。
【0013】
そこで、本発明の目的は、上記課題を解決し、可及的に小さい記憶容量でありながら端末の登録漏れを少なくすることのできる宛先判定回路を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するために本発明は、MACアドレスとポート番号とを対応付けて記憶し、MACアドレスに基づいてポート番号を読み出す宛先判定回路において、MACアドレスに基く複数種類のハッシュ関数値でそれぞれアクセスされる複数の記憶領域を設け、既に記憶されているMACアドレスと同種のハッシュ関数値が重複するMACアドレスは他種のハッシュ関数値でアクセスされる記憶領域に記憶させるようにしたものである。
【0015】
1種類のハッシュ関数値を分割して複数種類のハッシュ関数値を生成してもよい。
【0016】
MACアドレスの一部をハッシュ関数値としてもよい。
【0017】
ハッシュ関数の種類毎に桁数を異ならせてもよい。
【0018】
記憶領域毎に記憶の保存期限を異ならせてもよい。
【0019】
前記複数の記憶領域には、既に記憶されているMACアドレスがあるときは新しいMACアドレスは上書き記憶しない記憶領域を含んでもよい。
【0020】
前記複数の記憶領域には、既に記憶されているMACアドレスがあっても新しいMACアドレスを上書き記憶する記憶領域を含んでもよい。
【0021】
【発明の実施の形態】
以下、本発明の一実施形態を添付図面に基づいて詳述する。
【0022】
図1に示されるように、本発明に係る宛先判定回路1は、2種類のハッシュ関数を用いたもので、検索キーであるMACアドレスから第1のハッシュ関数値(f1検索キー)f1を計算する第1関数計算回路2aと、このハッシュ関数値f1をアドレスとしそのアドレスでアクセスされる領域にMACアドレスを記憶する第1検索キーテーブル(記憶領域のひとつ)3aと、同じ第1のハッシュ関数値f1をアドレスとしそのアドレスでアクセスされる領域にポート番号を記憶する第1ポートテーブル(記憶領域のひとつ)4aと、検索キーである上記MACアドレスから第2のハッシュ関数値(f2検索キー)f2を計算する第2関数計算回路2bと、このハッシュ関数値f2をアドレスとしそのアドレスでアクセスされる領域にMACアドレスを記憶する第2検索キーテーブル(記憶領域のひとつ)3bと、同じ第2のハッシュ関数値f2をアドレスとしそのアドレスでアクセスされる領域にポート番号を記憶する第2ポートテーブル(記憶領域のひとつ)4bとを備える。
【0023】
破線で囲った2つの部分は、容量や関数を除けばそれぞれ図1に示した従来の宛先判定回路と同じ構造であり、一方をメイン宛先判定回路1a、他方をサブ宛先判定回路1bとする。これらメイン宛先判定回路1a及びサブ宛先判定回路1bは互いに独立して並列動作し、各々ハッシュ関数値f1,f2でアクセスした領域に書き込み或いは読み出しをすることができる。なお、図1には省略したが、図3の比較回路35と同等の比較回路が備えられており、各々の検索キーテーブル3a,3bから読み出されたMACアドレスを検索キーであるMACアドレスとを比較し、検索キーテーブル3a,3bから読み出されたMACアドレスのいずれかが検索キーであるMACアドレスと一致したとき、MACアドレスが一致したほうのポートテーブル4a,4bから読み出されたポート番号が検索キーに対応した所望するポート番号である。双方の検索キーテーブル3a,3bにMACアドレスが記憶されていないか、読み出されたMACアドレスが検索キーであるMACアドレスと不一致であれば、その検索キーであるMACアドレスは未登録である。
【0024】
また、本発明に係る宛先判定回路1には、図示しないがハッシュ関数値が重複したときの処理を行う重複処理回路が備えられており、重複処理回路は次のような機能を有する。
【0025】
ハッシュ関数値f1でアクセスされた第1検索キーテーブル3a及び第1ポートテーブル4aに対し、既に記憶されているMACアドレス及びポート番号がない、即ち、空きであれば新しいMACアドレス及びポート番号を書き込むことをを許容する。ただし、ハッシュ関数値f2でアクセスされた第2検索キーテーブル3b及び第2ポートテーブル4bに既に記憶されているMACアドレス及びポート番号があって、この記憶されているMACアドレスが検索キーであるMACアドレスに一致していれば書き込みは実行されない。
【0026】
ハッシュ関数値f1でアクセスされた第1検索キーテーブル3a及び第1ポートテーブル4aに対し、既に記憶されているMACアドレス及びポート番号があるときは新しいMACアドレス及びポート番号は上書きしない。
【0027】
上記第1検索キーテーブル3a及び第1ポートテーブル4aへの新規な書き込みを行わないとき、ハッシュ関数値f2でアクセスされた第2検索キーテーブル3b及び第2ポートテーブル4bに対し、既に記憶されているMACアドレス及びポート番号がない空きであれば新しいMACアドレス及びポート番号を記憶する。
【0028】
上記第1検索キーテーブル3a及び第1ポートテーブル4aへの新規な書き込みを行わないとき、ハッシュ関数値f2でアクセスされた第2検索キーテーブル3b及び第2ポートテーブル4bに対し、既に記憶されているMACアドレス及びポート番号があっても、新しいMACアドレス及びポート番号を上書き記憶する。
【0029】
上記の関数計算回路2a,2b、比較回路、重複処理回路などは機能的な区分であって、これらの回路はCPU或いはFPGA(フィールドプログラマブルゲートアレイ)で実現するのが実用的である。
【0030】
本発明の宛先判定回路1を組み込んだスイッチングハブは、図2に示されるように、端末が接続される複数のポート21と、物理的なインタフェースを構成する物理層LSI22と、MACアドレスの抽出を行うMAC層LSI23と、ポート間のパケット転送処理を行うスイッチングLSI24と、宛先判定回路1とからなる。
【0031】
以下、スイッチングハブにおける本発明の宛先判定回路1の動作を登録処理(学習機能)と宛先判定処理(フィルタリング機能)に分けて説明する。
【0032】
まず、登録処理では、スイッチングハブはポート21に到着したパケットから送信元MACアドレスを読み取ってそのMACアドレスを検索キーとして宛先判定回路1に与える。宛先判定回路1では、メイン宛先判定回路1a及びサブ宛先判定回路1bが並列動作により、それぞれハッシュ関数値f1,f2の計算とテーブル3a,4a,3b,4bの検索を行う。
【0033】
メイン宛先判定回路1aにおいて、ハッシュ関数値f1でアクセスされた第1検索キーテーブル3a及び第1ポートテーブル4aに対し、既に記憶されているMACアドレス及びポート番号がなく、空きであれば新しいMACアドレス及びポート番号の書き込みを許容する。サブ宛先判定回路1bに当該MACアドレスが記憶されている場合を除き、書き込みが実行され、新しいMACアドレス及びポート番号が登録される。サブ宛先判定回路1bに当該MACアドレスが記憶されている場合は、既に登録済みということなので、メイン宛先判定回路1aへの二重登録を避けるべく、書き込みは実行しない。
【0034】
メイン宛先判定回路1aにおいて、ハッシュ関数値f1でアクセスされた第1検索キーテーブル3a及び第1ポートテーブル4aに対し、既に記憶されているMACアドレス及びポート番号があるときは新しいMACアドレス及びポート番号は上書きしない。即ち、新しいMACアドレス及びポート番号は登録されない。この場合、サブ宛先判定回路1bでの登録が許可される。
【0035】
メイン宛先判定回路1aでの登録ができなかった場合、サブ宛先判定回路1bでは、ハッシュ関数値f2でアクセスされた第2検索キーテーブル3b及び第2ポートテーブル4bに対し、新しいMACアドレス及びポート番号を上書き記憶する。即ち、新しいMACアドレス及びポート番号が登録される。
【0036】
ハッシュ関数値f2でアクセスされた第2検索キーテーブル3bに記憶されているMACアドレスが検索キーであるMACアドレスに一致していれば、サブ宛先判定回路1bに当該MACアドレスが記憶されていることになるので、メイン宛先判定回路1aのほうで空きがあって書き込みが許容されても書き込みは実行されない。
【0037】
このようにして、メイン宛先判定回路1aの記憶領域に既に記憶されているMACアドレスと第1のハッシュ関数値f1が重複するMACアドレスは第2のハッシュ関数値f2でアクセスされるサブ宛先判定回路1bの記憶領域に記憶される。簡単に言うと、まずメインのテーブルに登録を行い、メインのテーブルから溢れたものをサブのテーブルに登録することになる。
【0038】
今、MACアドレスXX:XX:…とMACアドレスYY:YY:…があって両者のハッシュ関数値f1が一致しているとき、このハッシュ関数とは異なるハッシュ関数で求めたハッシュ関数値f2も一致してしまうことはまれであるから、いずれのMACアドレスも登録漏れとなることが阻止される。
【0039】
この結果、スイッチングハブに接続し通信を行っている端末でありながらMACアドレスが未登録という端末の数が低減される。従来の宛先判定回路31ではハッシュ関数値fが1種類しかなかったため、記憶容量を節約するためにハッシュ関数値fを減らすと、それだけハッシュ関数値fが重複する機会が増えることになり、記憶容量の節約には限界があった。本発明の宛先判定回路1では、従来と同程度の記憶容量であってもハッシュ関数値f1が重複したMACアドレスをハッシュ関数値f2で救って登録することができるので、記憶容量の節約の限界を下げることができる。
【0040】
次に、宛先判定処理では、スイッチングハブはポートに到着したパケットから宛先アドレスを読み取ってその宛先アドレスを検索キーとして宛先判定回路1を与える。宛先判定回路1では、メイン宛先判定回路1a及びサブ宛先判定回路1bが並列動作により、それぞれハッシュ関数値f1,f2の計算とテーブル3a,4a,3b,4bの検索を行う。
【0041】
メイン宛先判定回路1aにおいてハッシュ関数値f1でアクセスされた第1検索キーテーブル3aにMACアドレスが記憶されていると、そのMACアドレスと検索キーであるMACアドレスとが図示しない比較回路で比較され、一致していれば、ハッシュ関数値f1でアクセスされた第1ポートテーブル4aに記憶されているポート番号が読み出され、宛先ポートのポート番号として宛先判定回路1から出力される。スイッチングハブは、このポート番号が示す宛先ポートにパケットを転送する。
【0042】
また、サブ宛先判定回路1bにおいてハッシュ関数値f2でアクセスされた第2検索キーテーブル3bにMACアドレスが記憶されていると、そのMACアドレスと検索キーであるMACアドレスとが図示しない比較回路で比較され、一致していれば、ハッシュ関数値f2でアクセスされた第2ポートテーブル4bに記憶されているポート番号が読み出され、宛先ポートのポート番号として宛先判定回路1から出力される。スイッチングハブは、このポート番号が示す宛先ポートにパケットを転送する。
【0043】
いずれの宛先判定回路1a,1bにおいてもハッシュ関数値f1,f2でアクセスされた検索キーテーブル3a,3bが空きであるか、記憶されているMACアドレスが検索キーであるMACアドレスと不一致であれば、ポート番号は宛先判定回路1から出力されない。スイッチングハブは、受信ポートを除く全てのポートにパケットを転送する。
【0044】
上記学習処理においてMACアドレスが未登録という端末の数が低減されているので、全ポートにパケットが転送されることが少なくなり、ネットワーク上に流れるパケットの総量の増大が抑制される。
【0045】
次に、記憶領域を実現する記憶装置の具体例を説明する。
【0046】
図1に示されるように、第1検索キーテーブル3aは第2検索キーテーブル3bよりも大きく描かれているが、これは第1検索キーテーブル3aのほうが第2検索キーテーブル3bよりも記憶容量が大きいことを表している。第1検索キーテーブル3aの記憶容量が大きいのは記憶領域のアドレスを多くしたからであり、このためにハッシュ関数値f1の桁数(図示例ではN)が大きくしてある。第2検索キーテーブル3bの記憶容量が小さいのは記憶領域のアドレスを少なくしたからであり、ハッシュ関数値f2の桁数(図示例ではK)も小さくてよい。
【0047】
このようにハッシュ関数の種類毎に桁数を異ならせ、記憶領域を大きいものと小さいものにしたのは、前述した登録処理においてメインのテーブルを優先的に登録先とし、サブのテーブルにはメインのテーブルから溢れたものだけを登録するようにしたからで、サブのテーブルは小さいもので十分だからである。
【0048】
第1検索キーテーブル3a及び第1ポートテーブル4aは、CPUやPGAとは別体のRAMで構成することで大きな記憶容量を確保することができる。一方、第2検索キーテーブル3b及び第2ポートテーブル4bは小さい記憶容量で十分なので、CPUやFPGAの内部に作られているRAM領域又はレジスタで構成することができる。また、メイン宛先判定回路1aはこれまで述べたハッシュ関数方式とし、サブ宛先判定回路1bはCAM方式としてもよい。
【0049】
次に、ハッシュ関数の具体例を説明する。
【0050】
第1のハッシュ関数値f1を生成するハッシュ関数として、従来から知られているCRC32を採用してもよい。第2のハッシュ関数値f2を生成するハッシュ関数にはCRC32より桁数の小さいCRCタイプのハッシュ関数を採用してもよい。
【0051】
2種類のハッシュ関数値f1,f2を個別に求めるのではなく、1種類のハッシュ関数値を分割して複数種類のハッシュ関数値を生成してもよい。例えば、CRC32を計算し、そのハッシュ関数値の上位22桁と下位10桁をハッシュ関数値f1,f2とする。この場合、第1検索キーテーブル3aには222個分の記憶容量を用意し、第2検索キーテーブル3bには210個分の記憶容量を用意することになる。
【0052】
ハッシュ関数は掛け算や足し算を伴わないものでも勿論使うことができる。MACアドレスに対してマスクをかけることにより、MACアドレスの一部、例えば、下19桁を取り出してハッシュ関数値とすることができる。第1のハッシュ関数にはCRC32を用い、第2のハッシュ関数にMACアドレスの下8桁を用いるものとし、2つのMACアドレス
XX:XX:XX:XX:XX:01
YY:YY:YY:YY:YY:02
において、たまたま両者の第1のハッシュ関数値f1が一致しているものとしたとき、第2のハッシュ関数値f2は、それぞれ01、02となり不一致である。このように2つのMACアドレスに対して第1のハッシュ関数値f1が一致しているときに第2のハッシュ関数値f2が不一致である確率が高いハッシュ関数の組を採用するのが望ましい。
【0053】
次に、保存期限について説明する。
【0054】
従来よりスイッチングハブでは宛先判定回路31の登録内容に対してエージングを行っている。エージングとは、記憶に対して保存期限を与え、記憶の経過時間が保存期限に達したら記憶を抹消することであり、スイッチングハブなどの中継装置では一旦登録された端末が接続ポートを変更した場合などにもパケットが中継できるよう、エージングを行う。
【0055】
本発明においてもエージングを行うが、記憶領域毎に記憶の保存期限を異ならせるとよい。好ましくは、メイン宛先判定回路1aにおける保存期限よりもサブ宛先判定回路1bにおける保存期限を短くする。これにより、同一MACアドレスがサブ宛先判定回路1bに登録されているためにメイン宛先判定回路1aに登録されないというケースを少なくすることができる。その結果、メイン宛先判定回路1aに新規な登録が行われる機会が多くなり、サブ宛先判定回路1bに登録された内容は長く残存しにくくなり、メインのテーブルから溢れた案件がサブのテーブルに登録される機会を多くすることができる。
【0056】
上記実施形態では、原初の検索キーがMACアドレスであるものとしたが、仮想LANアドレスなどのMAC以外のアドレスであっても本発明は実施することができる。
【0057】
【発明の効果】
本発明は次の如き優れた効果を発揮する。
【0058】
(1)端末の登録漏れを少なくすることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態を示す宛先判定回路の構成図である。
【図2】本発明の宛先判定回路を組み込んだスイッチングハブの構成図である。
【図3】従来の宛先判定回路の構成図である。
【符号の説明】
1 宛先判定回路
1a メイン宛先判定回路
1b サブ宛先判定回路
2a 第1関数計算回路
2b 第2関数計算回路
3a 第1検索キーテーブル(記憶領域)
3b 第2検索キーテーブル(記憶領域)
4a 第1ポートテーブル(記憶領域)
4b 第2ポートテーブル(記憶領域)
【発明の属する技術分野】
本発明は、パケットの中継の際に宛先判定に用いられる宛先判定回路に係り、特に、可及的に小さい記憶容量でありながら端末の登録漏れを少なくすることのできる宛先判定回路に関するものである。
【0002】
【従来の技術】
ネットワークの中継装置には、ポートに到着したパケットから宛先アドレスを読み取ってその宛先アドレスに基づいて転送するべきポートを判定することにより、当該宛先アドレスを持つ端末が接続されているネットワークのみにパケットを中継するフィルタリング機能を持つものがある。この機能を実現するために、中継装置には、アドレスとポート番号とを対応付けて記憶する記憶領域が設けられる。
【0003】
上記中継装置のひとつであるスイッチングハブは、ポートに到着したパケットから送信元MACアドレスを読み取ってそのアドレスとポート番号とを対応付けて記憶領域に記憶する学習機能があり、この学習機能により上記フィルタリング機能をより効果的に発揮することができる。
【0004】
学習及びフィルタリングに際し、記憶領域に書き込みや読み出しを行うには、MACアドレスに基づいて記憶領域をアクセスする必要がある。MACアドレスに基づいて記憶領域をアクセスする方法には、大きく分けて2つの方法がある。1つは、CAM(内容アドレスメモリ)を用いる方法で、書き込みのときにはランダムに空き領域に書き込み、読み出しのときにはMACアドレスをCAMに与えると、そのMACアドレス及び対応するポート番号を記憶している領域がアクセスされ、ポート番号が読み出せるというものである。もう1つは、ハッシュ関数を用いる方法で、書き込みのときも読み出しのときも、MACアドレスに基づいてハッシュ関数値を計算し、このハッシュ関数値をアドレスとする領域にMACアドレス及び対応するポート番号を書き込み又は読み出しするものである。
【0005】
ハッシュ関数はどのような関数でもよいが、通常はMACアドレスよりも桁数の少ないハッシュ関数値が得られるものを使用することで記憶容量の節約を図る。例えば、CRC32と呼ばれる関数は、2進32桁のハッシュ関数値が得られ、MACアドレスの全桁よりも桁数が少なくできるので、248もあるMACアドレスの全空間よりも大幅に小さい232個分の記憶容量しか必要としない。
【0006】
CAMは記憶容量が大きくなると価格が飛躍的に高くなるので、CAMを用いる方法は大きな記憶領域を必要とする中継装置には不向きである。これに対しハッシュ関数を用いる方法は、記憶領域が一般的なランダムアクセス方式のメモリで構成でき、この種のメモリは記憶容量を大きくしても価格にはCAMほどには大きく響かないので、大きな記憶領域を必要とする中継装置に好適である。ただし、記憶容量が大きければランダムアクセス方式のメモリといえどもそれなりに価格が高いので、記憶容量はできるだけ小さくすることが望ましい。
【0007】
図3に示されるように、従来のハッシュ関数を用いた宛先判定回路31は、MACアドレス(検索キーとも呼ぶ)からハッシュ関数値(f検索キーとも呼ぶ)fを計算する関数計算回路32と、このハッシュ関数値fをアドレスとしそのアドレスでアクセスされる領域にMACアドレスを記憶する検索キーテーブル(記憶領域のひとつ)33と、同じハッシュ関数値fをアドレスとしそのアドレスでアクセスされる領域にポート番号を記憶するポートテーブル(記憶領域のひとつ)34と、検索キーテーブルから読み出されたMACアドレスを検索キーであるMACアドレスとを比較する比較回路35とを備え、検索キーテーブル33から読み出されたMACアドレスが検索キーであるMACアドレスと一致したとき、ポートテーブル34から読み出されたポート番号が検索キーに対応した所望するポート番号である。
【0008】
この宛先判定回路31に検索キーを入力すれば、宛先ポートのポート番号が出力されることになる。
【0009】
ハッシュ関数値fが2N 個の値を取り得るので、Nビットのハッシュアドレスが得られ、検索キーテーブル33及びポートテーブル34は、それぞれ0から2N −1までのアドレスを持つ2N 個の領域を有する。
【0010】
【特許文献1】
特開平09−098184号公報
【0011】
【発明が解決しようとする課題】
f検索キーは原初の検索キーを情報圧縮したものであるから、1つのf検索キーに対して原初となる検索キーが必ず複数存在する。つまり、同じハッシュ関数値fになってしまう複数のMACアドレスが存在し得る。従って、スイッチングハブに繋がっている複数の端末の中にたまたま同じハッシュ関数値fになってしまうMACアドレスを持つ端末が重複していることも起きる。一方の端末についてハッシュ関数値fをアドレスとする領域に既にMACアドレスが登録されていると、同じハッシュ関数値fをもたらす他方の端末について新しくMACアドレスを登録する領域がないことになる。新しいMACアドレスを上書きしてしまうと、古いMACアドレスが失われてしまう。このため、2つのMACアドレスの一方は未登録ということになり、せっかく学習した内容が失われることになる。もちろん3つ以上のMACアドレスについてハッシュ関数値fが同じという場合もあり、スイッチングハブに接続し通信を行っているのに未登録という端末が増えることになる。このような重複が起きている一方で、MACアドレスが登録されていない空きの領域が多く残っているという状況が有り得る。
【0012】
スイッチングハブは、未登録の宛先MACアドレスを持つパケットはそのパケットを受信したポートを除く全ポートに転送するので、未登録の端末があるとネットワーク上に流れるパケットの総量が顕著に増大し、通信障害の一因となる。従って、上記のようにハッシュ関数値の重複によって未登録にされる端末が存在するのは好ましくない。
【0013】
そこで、本発明の目的は、上記課題を解決し、可及的に小さい記憶容量でありながら端末の登録漏れを少なくすることのできる宛先判定回路を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するために本発明は、MACアドレスとポート番号とを対応付けて記憶し、MACアドレスに基づいてポート番号を読み出す宛先判定回路において、MACアドレスに基く複数種類のハッシュ関数値でそれぞれアクセスされる複数の記憶領域を設け、既に記憶されているMACアドレスと同種のハッシュ関数値が重複するMACアドレスは他種のハッシュ関数値でアクセスされる記憶領域に記憶させるようにしたものである。
【0015】
1種類のハッシュ関数値を分割して複数種類のハッシュ関数値を生成してもよい。
【0016】
MACアドレスの一部をハッシュ関数値としてもよい。
【0017】
ハッシュ関数の種類毎に桁数を異ならせてもよい。
【0018】
記憶領域毎に記憶の保存期限を異ならせてもよい。
【0019】
前記複数の記憶領域には、既に記憶されているMACアドレスがあるときは新しいMACアドレスは上書き記憶しない記憶領域を含んでもよい。
【0020】
前記複数の記憶領域には、既に記憶されているMACアドレスがあっても新しいMACアドレスを上書き記憶する記憶領域を含んでもよい。
【0021】
【発明の実施の形態】
以下、本発明の一実施形態を添付図面に基づいて詳述する。
【0022】
図1に示されるように、本発明に係る宛先判定回路1は、2種類のハッシュ関数を用いたもので、検索キーであるMACアドレスから第1のハッシュ関数値(f1検索キー)f1を計算する第1関数計算回路2aと、このハッシュ関数値f1をアドレスとしそのアドレスでアクセスされる領域にMACアドレスを記憶する第1検索キーテーブル(記憶領域のひとつ)3aと、同じ第1のハッシュ関数値f1をアドレスとしそのアドレスでアクセスされる領域にポート番号を記憶する第1ポートテーブル(記憶領域のひとつ)4aと、検索キーである上記MACアドレスから第2のハッシュ関数値(f2検索キー)f2を計算する第2関数計算回路2bと、このハッシュ関数値f2をアドレスとしそのアドレスでアクセスされる領域にMACアドレスを記憶する第2検索キーテーブル(記憶領域のひとつ)3bと、同じ第2のハッシュ関数値f2をアドレスとしそのアドレスでアクセスされる領域にポート番号を記憶する第2ポートテーブル(記憶領域のひとつ)4bとを備える。
【0023】
破線で囲った2つの部分は、容量や関数を除けばそれぞれ図1に示した従来の宛先判定回路と同じ構造であり、一方をメイン宛先判定回路1a、他方をサブ宛先判定回路1bとする。これらメイン宛先判定回路1a及びサブ宛先判定回路1bは互いに独立して並列動作し、各々ハッシュ関数値f1,f2でアクセスした領域に書き込み或いは読み出しをすることができる。なお、図1には省略したが、図3の比較回路35と同等の比較回路が備えられており、各々の検索キーテーブル3a,3bから読み出されたMACアドレスを検索キーであるMACアドレスとを比較し、検索キーテーブル3a,3bから読み出されたMACアドレスのいずれかが検索キーであるMACアドレスと一致したとき、MACアドレスが一致したほうのポートテーブル4a,4bから読み出されたポート番号が検索キーに対応した所望するポート番号である。双方の検索キーテーブル3a,3bにMACアドレスが記憶されていないか、読み出されたMACアドレスが検索キーであるMACアドレスと不一致であれば、その検索キーであるMACアドレスは未登録である。
【0024】
また、本発明に係る宛先判定回路1には、図示しないがハッシュ関数値が重複したときの処理を行う重複処理回路が備えられており、重複処理回路は次のような機能を有する。
【0025】
ハッシュ関数値f1でアクセスされた第1検索キーテーブル3a及び第1ポートテーブル4aに対し、既に記憶されているMACアドレス及びポート番号がない、即ち、空きであれば新しいMACアドレス及びポート番号を書き込むことをを許容する。ただし、ハッシュ関数値f2でアクセスされた第2検索キーテーブル3b及び第2ポートテーブル4bに既に記憶されているMACアドレス及びポート番号があって、この記憶されているMACアドレスが検索キーであるMACアドレスに一致していれば書き込みは実行されない。
【0026】
ハッシュ関数値f1でアクセスされた第1検索キーテーブル3a及び第1ポートテーブル4aに対し、既に記憶されているMACアドレス及びポート番号があるときは新しいMACアドレス及びポート番号は上書きしない。
【0027】
上記第1検索キーテーブル3a及び第1ポートテーブル4aへの新規な書き込みを行わないとき、ハッシュ関数値f2でアクセスされた第2検索キーテーブル3b及び第2ポートテーブル4bに対し、既に記憶されているMACアドレス及びポート番号がない空きであれば新しいMACアドレス及びポート番号を記憶する。
【0028】
上記第1検索キーテーブル3a及び第1ポートテーブル4aへの新規な書き込みを行わないとき、ハッシュ関数値f2でアクセスされた第2検索キーテーブル3b及び第2ポートテーブル4bに対し、既に記憶されているMACアドレス及びポート番号があっても、新しいMACアドレス及びポート番号を上書き記憶する。
【0029】
上記の関数計算回路2a,2b、比較回路、重複処理回路などは機能的な区分であって、これらの回路はCPU或いはFPGA(フィールドプログラマブルゲートアレイ)で実現するのが実用的である。
【0030】
本発明の宛先判定回路1を組み込んだスイッチングハブは、図2に示されるように、端末が接続される複数のポート21と、物理的なインタフェースを構成する物理層LSI22と、MACアドレスの抽出を行うMAC層LSI23と、ポート間のパケット転送処理を行うスイッチングLSI24と、宛先判定回路1とからなる。
【0031】
以下、スイッチングハブにおける本発明の宛先判定回路1の動作を登録処理(学習機能)と宛先判定処理(フィルタリング機能)に分けて説明する。
【0032】
まず、登録処理では、スイッチングハブはポート21に到着したパケットから送信元MACアドレスを読み取ってそのMACアドレスを検索キーとして宛先判定回路1に与える。宛先判定回路1では、メイン宛先判定回路1a及びサブ宛先判定回路1bが並列動作により、それぞれハッシュ関数値f1,f2の計算とテーブル3a,4a,3b,4bの検索を行う。
【0033】
メイン宛先判定回路1aにおいて、ハッシュ関数値f1でアクセスされた第1検索キーテーブル3a及び第1ポートテーブル4aに対し、既に記憶されているMACアドレス及びポート番号がなく、空きであれば新しいMACアドレス及びポート番号の書き込みを許容する。サブ宛先判定回路1bに当該MACアドレスが記憶されている場合を除き、書き込みが実行され、新しいMACアドレス及びポート番号が登録される。サブ宛先判定回路1bに当該MACアドレスが記憶されている場合は、既に登録済みということなので、メイン宛先判定回路1aへの二重登録を避けるべく、書き込みは実行しない。
【0034】
メイン宛先判定回路1aにおいて、ハッシュ関数値f1でアクセスされた第1検索キーテーブル3a及び第1ポートテーブル4aに対し、既に記憶されているMACアドレス及びポート番号があるときは新しいMACアドレス及びポート番号は上書きしない。即ち、新しいMACアドレス及びポート番号は登録されない。この場合、サブ宛先判定回路1bでの登録が許可される。
【0035】
メイン宛先判定回路1aでの登録ができなかった場合、サブ宛先判定回路1bでは、ハッシュ関数値f2でアクセスされた第2検索キーテーブル3b及び第2ポートテーブル4bに対し、新しいMACアドレス及びポート番号を上書き記憶する。即ち、新しいMACアドレス及びポート番号が登録される。
【0036】
ハッシュ関数値f2でアクセスされた第2検索キーテーブル3bに記憶されているMACアドレスが検索キーであるMACアドレスに一致していれば、サブ宛先判定回路1bに当該MACアドレスが記憶されていることになるので、メイン宛先判定回路1aのほうで空きがあって書き込みが許容されても書き込みは実行されない。
【0037】
このようにして、メイン宛先判定回路1aの記憶領域に既に記憶されているMACアドレスと第1のハッシュ関数値f1が重複するMACアドレスは第2のハッシュ関数値f2でアクセスされるサブ宛先判定回路1bの記憶領域に記憶される。簡単に言うと、まずメインのテーブルに登録を行い、メインのテーブルから溢れたものをサブのテーブルに登録することになる。
【0038】
今、MACアドレスXX:XX:…とMACアドレスYY:YY:…があって両者のハッシュ関数値f1が一致しているとき、このハッシュ関数とは異なるハッシュ関数で求めたハッシュ関数値f2も一致してしまうことはまれであるから、いずれのMACアドレスも登録漏れとなることが阻止される。
【0039】
この結果、スイッチングハブに接続し通信を行っている端末でありながらMACアドレスが未登録という端末の数が低減される。従来の宛先判定回路31ではハッシュ関数値fが1種類しかなかったため、記憶容量を節約するためにハッシュ関数値fを減らすと、それだけハッシュ関数値fが重複する機会が増えることになり、記憶容量の節約には限界があった。本発明の宛先判定回路1では、従来と同程度の記憶容量であってもハッシュ関数値f1が重複したMACアドレスをハッシュ関数値f2で救って登録することができるので、記憶容量の節約の限界を下げることができる。
【0040】
次に、宛先判定処理では、スイッチングハブはポートに到着したパケットから宛先アドレスを読み取ってその宛先アドレスを検索キーとして宛先判定回路1を与える。宛先判定回路1では、メイン宛先判定回路1a及びサブ宛先判定回路1bが並列動作により、それぞれハッシュ関数値f1,f2の計算とテーブル3a,4a,3b,4bの検索を行う。
【0041】
メイン宛先判定回路1aにおいてハッシュ関数値f1でアクセスされた第1検索キーテーブル3aにMACアドレスが記憶されていると、そのMACアドレスと検索キーであるMACアドレスとが図示しない比較回路で比較され、一致していれば、ハッシュ関数値f1でアクセスされた第1ポートテーブル4aに記憶されているポート番号が読み出され、宛先ポートのポート番号として宛先判定回路1から出力される。スイッチングハブは、このポート番号が示す宛先ポートにパケットを転送する。
【0042】
また、サブ宛先判定回路1bにおいてハッシュ関数値f2でアクセスされた第2検索キーテーブル3bにMACアドレスが記憶されていると、そのMACアドレスと検索キーであるMACアドレスとが図示しない比較回路で比較され、一致していれば、ハッシュ関数値f2でアクセスされた第2ポートテーブル4bに記憶されているポート番号が読み出され、宛先ポートのポート番号として宛先判定回路1から出力される。スイッチングハブは、このポート番号が示す宛先ポートにパケットを転送する。
【0043】
いずれの宛先判定回路1a,1bにおいてもハッシュ関数値f1,f2でアクセスされた検索キーテーブル3a,3bが空きであるか、記憶されているMACアドレスが検索キーであるMACアドレスと不一致であれば、ポート番号は宛先判定回路1から出力されない。スイッチングハブは、受信ポートを除く全てのポートにパケットを転送する。
【0044】
上記学習処理においてMACアドレスが未登録という端末の数が低減されているので、全ポートにパケットが転送されることが少なくなり、ネットワーク上に流れるパケットの総量の増大が抑制される。
【0045】
次に、記憶領域を実現する記憶装置の具体例を説明する。
【0046】
図1に示されるように、第1検索キーテーブル3aは第2検索キーテーブル3bよりも大きく描かれているが、これは第1検索キーテーブル3aのほうが第2検索キーテーブル3bよりも記憶容量が大きいことを表している。第1検索キーテーブル3aの記憶容量が大きいのは記憶領域のアドレスを多くしたからであり、このためにハッシュ関数値f1の桁数(図示例ではN)が大きくしてある。第2検索キーテーブル3bの記憶容量が小さいのは記憶領域のアドレスを少なくしたからであり、ハッシュ関数値f2の桁数(図示例ではK)も小さくてよい。
【0047】
このようにハッシュ関数の種類毎に桁数を異ならせ、記憶領域を大きいものと小さいものにしたのは、前述した登録処理においてメインのテーブルを優先的に登録先とし、サブのテーブルにはメインのテーブルから溢れたものだけを登録するようにしたからで、サブのテーブルは小さいもので十分だからである。
【0048】
第1検索キーテーブル3a及び第1ポートテーブル4aは、CPUやPGAとは別体のRAMで構成することで大きな記憶容量を確保することができる。一方、第2検索キーテーブル3b及び第2ポートテーブル4bは小さい記憶容量で十分なので、CPUやFPGAの内部に作られているRAM領域又はレジスタで構成することができる。また、メイン宛先判定回路1aはこれまで述べたハッシュ関数方式とし、サブ宛先判定回路1bはCAM方式としてもよい。
【0049】
次に、ハッシュ関数の具体例を説明する。
【0050】
第1のハッシュ関数値f1を生成するハッシュ関数として、従来から知られているCRC32を採用してもよい。第2のハッシュ関数値f2を生成するハッシュ関数にはCRC32より桁数の小さいCRCタイプのハッシュ関数を採用してもよい。
【0051】
2種類のハッシュ関数値f1,f2を個別に求めるのではなく、1種類のハッシュ関数値を分割して複数種類のハッシュ関数値を生成してもよい。例えば、CRC32を計算し、そのハッシュ関数値の上位22桁と下位10桁をハッシュ関数値f1,f2とする。この場合、第1検索キーテーブル3aには222個分の記憶容量を用意し、第2検索キーテーブル3bには210個分の記憶容量を用意することになる。
【0052】
ハッシュ関数は掛け算や足し算を伴わないものでも勿論使うことができる。MACアドレスに対してマスクをかけることにより、MACアドレスの一部、例えば、下19桁を取り出してハッシュ関数値とすることができる。第1のハッシュ関数にはCRC32を用い、第2のハッシュ関数にMACアドレスの下8桁を用いるものとし、2つのMACアドレス
XX:XX:XX:XX:XX:01
YY:YY:YY:YY:YY:02
において、たまたま両者の第1のハッシュ関数値f1が一致しているものとしたとき、第2のハッシュ関数値f2は、それぞれ01、02となり不一致である。このように2つのMACアドレスに対して第1のハッシュ関数値f1が一致しているときに第2のハッシュ関数値f2が不一致である確率が高いハッシュ関数の組を採用するのが望ましい。
【0053】
次に、保存期限について説明する。
【0054】
従来よりスイッチングハブでは宛先判定回路31の登録内容に対してエージングを行っている。エージングとは、記憶に対して保存期限を与え、記憶の経過時間が保存期限に達したら記憶を抹消することであり、スイッチングハブなどの中継装置では一旦登録された端末が接続ポートを変更した場合などにもパケットが中継できるよう、エージングを行う。
【0055】
本発明においてもエージングを行うが、記憶領域毎に記憶の保存期限を異ならせるとよい。好ましくは、メイン宛先判定回路1aにおける保存期限よりもサブ宛先判定回路1bにおける保存期限を短くする。これにより、同一MACアドレスがサブ宛先判定回路1bに登録されているためにメイン宛先判定回路1aに登録されないというケースを少なくすることができる。その結果、メイン宛先判定回路1aに新規な登録が行われる機会が多くなり、サブ宛先判定回路1bに登録された内容は長く残存しにくくなり、メインのテーブルから溢れた案件がサブのテーブルに登録される機会を多くすることができる。
【0056】
上記実施形態では、原初の検索キーがMACアドレスであるものとしたが、仮想LANアドレスなどのMAC以外のアドレスであっても本発明は実施することができる。
【0057】
【発明の効果】
本発明は次の如き優れた効果を発揮する。
【0058】
(1)端末の登録漏れを少なくすることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態を示す宛先判定回路の構成図である。
【図2】本発明の宛先判定回路を組み込んだスイッチングハブの構成図である。
【図3】従来の宛先判定回路の構成図である。
【符号の説明】
1 宛先判定回路
1a メイン宛先判定回路
1b サブ宛先判定回路
2a 第1関数計算回路
2b 第2関数計算回路
3a 第1検索キーテーブル(記憶領域)
3b 第2検索キーテーブル(記憶領域)
4a 第1ポートテーブル(記憶領域)
4b 第2ポートテーブル(記憶領域)
Claims (7)
- MACアドレスとポート番号とを対応付けて記憶し、MACアドレスに基づいてポート番号を読み出す宛先判定回路において、MACアドレスに基く複数種類のハッシュ関数値でそれぞれアクセスされる複数の記憶領域を設け、既に記憶されているMACアドレスと同種のハッシュ関数値が重複するMACアドレスは他種のハッシュ関数値でアクセスされる記憶領域に記憶させるようにしたことを特徴とする宛先判定回路。
- 1種類のハッシュ関数値を分割して複数種類のハッシュ関数値を生成することを特徴とする請求項1記載の宛先判定回路。
- MACアドレスの一部をハッシュ関数値とすることを特徴とする請求項1又は2記載の宛先判定回路。
- ハッシュ関数の種類毎に桁数を異ならせたことを特徴とする請求項1〜3いずれか記載の宛先判定回路。
- 記憶領域毎に記憶の保存期限を異ならせたことを特徴とする請求項1〜4いずれか記載の宛先判定回路。
- 前記複数の記憶領域には、既に記憶されているMACアドレスがあるときは新しいMACアドレスは上書き記憶しない記憶領域を含むことを特徴とする請求項1〜5いずれか記載の宛先判定回路。
- 前記複数の記憶領域には、既に記憶されているMACアドレスがあっても新しいMACアドレスを上書き記憶する記憶領域を含むことを特徴とする請求項1〜6いずれか記載の宛先判定回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003201709A JP2005045442A (ja) | 2003-07-25 | 2003-07-25 | 宛先判定回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003201709A JP2005045442A (ja) | 2003-07-25 | 2003-07-25 | 宛先判定回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005045442A true JP2005045442A (ja) | 2005-02-17 |
Family
ID=34261690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003201709A Pending JP2005045442A (ja) | 2003-07-25 | 2003-07-25 | 宛先判定回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005045442A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010050600A (ja) * | 2008-08-20 | 2010-03-04 | Fujitsu Ltd | 情報検索装置 |
JP2010233083A (ja) * | 2009-03-27 | 2010-10-14 | Toshiba Corp | ネットワークアドレス管理装置およびネットワークアドレス管理方法並びにネットワーク中継装置 |
JP5035410B2 (ja) * | 2008-03-03 | 2012-09-26 | 日本電気株式会社 | アドレス検索方法およびパケット処理装置 |
JP2015518317A (ja) * | 2012-04-03 | 2015-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | イーサネット(r)スイッチのための、ルックアップ・テーブルを使わない、レイヤ2でのパケット交換 |
JP2015154230A (ja) * | 2014-02-14 | 2015-08-24 | 富士通株式会社 | 制御方法、受信装置、及び通信システム |
JP2017519433A (ja) * | 2014-05-30 | 2017-07-13 | クアルコム,インコーポレイテッド | パケット処理のためのマルチテーブルハッシュベースのルックアップ |
JP2019041176A (ja) * | 2017-08-23 | 2019-03-14 | 株式会社ソフトクリエイト | 不正接続遮断装置及び不正接続遮断方法 |
CN112637072A (zh) * | 2020-12-23 | 2021-04-09 | 北京时代民芯科技有限公司 | 一种用于交换芯片地址存储及查找的快速并行电路及方法 |
-
2003
- 2003-07-25 JP JP2003201709A patent/JP2005045442A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5035410B2 (ja) * | 2008-03-03 | 2012-09-26 | 日本電気株式会社 | アドレス検索方法およびパケット処理装置 |
JP2010050600A (ja) * | 2008-08-20 | 2010-03-04 | Fujitsu Ltd | 情報検索装置 |
JP2010233083A (ja) * | 2009-03-27 | 2010-10-14 | Toshiba Corp | ネットワークアドレス管理装置およびネットワークアドレス管理方法並びにネットワーク中継装置 |
JP2015518317A (ja) * | 2012-04-03 | 2015-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | イーサネット(r)スイッチのための、ルックアップ・テーブルを使わない、レイヤ2でのパケット交換 |
US10148569B2 (en) | 2012-04-03 | 2018-12-04 | International Business Machines Corporation | Layer 2 packet switching without look-up table for Ethernet switches |
JP2015154230A (ja) * | 2014-02-14 | 2015-08-24 | 富士通株式会社 | 制御方法、受信装置、及び通信システム |
JP2017519433A (ja) * | 2014-05-30 | 2017-07-13 | クアルコム,インコーポレイテッド | パケット処理のためのマルチテーブルハッシュベースのルックアップ |
JP2019041176A (ja) * | 2017-08-23 | 2019-03-14 | 株式会社ソフトクリエイト | 不正接続遮断装置及び不正接続遮断方法 |
CN112637072A (zh) * | 2020-12-23 | 2021-04-09 | 北京时代民芯科技有限公司 | 一种用于交换芯片地址存储及查找的快速并行电路及方法 |
CN112637072B (zh) * | 2020-12-23 | 2022-08-02 | 北京时代民芯科技有限公司 | 一种用于交换芯片地址存储及查找的快速并行电路及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW558880B (en) | High speed MAC address search engine | |
US7437354B2 (en) | Architecture for network search engines with fixed latency, high capacity, and high throughput | |
US8181258B2 (en) | Access control list constructed as a tree of matching tables | |
US7715376B2 (en) | Routing system and method for managing forwarding information therein | |
JP4355188B2 (ja) | パケット転送装置 | |
US7555594B2 (en) | Range representation in a content addressable memory (CAM) using an improved encoding scheme | |
EP3451597B1 (en) | Packet forwarding | |
EP1919127B1 (en) | A data packet transmission method and a lan switch device based on the vlan | |
US20060265363A1 (en) | Network processor with single interface supporting tree search engine and cam | |
US20220029918A1 (en) | SRv6 with Micro Segment Identifiers | |
US11310158B2 (en) | Packet classification using fingerprint hash table | |
US7599364B2 (en) | Configurable network connection address forming hardware | |
TW200305321A (en) | Method and apparatus for memory efficient fast vlan lookups and inserts in hardware-based packet switches | |
US9742437B2 (en) | Method for lossless data compression/decompression and device thereof | |
JP2002510452A (ja) | 高性能多層スイッチ要素用探索エンジン・アーキテクチャ | |
US8923291B2 (en) | Communication apparatus and communication method | |
JP2005045442A (ja) | 宛先判定回路 | |
JP5954236B2 (ja) | ネットワーク中継装置 | |
US9270586B2 (en) | Method for abstracting datapath hardware elements | |
US8108762B2 (en) | Operating method and circuit for low density parity check (LDPC) decoder | |
CN108664518B (zh) | 一种实现查表处理的方法及装置 | |
US20040081150A1 (en) | Manufacture and method for accelerating network address translation | |
WO2016091027A1 (zh) | 一种网络地址转换与访问控制列表规则聚合方法和装置 | |
US10185783B2 (en) | Data processing device, data processing method, and non-transitory computer readable medium | |
US8199756B2 (en) | Forwarding apparatus, forwarding method, and computer product |