JP2004187114A - アドレスフィルタリング装置 - Google Patents
アドレスフィルタリング装置 Download PDFInfo
- Publication number
- JP2004187114A JP2004187114A JP2002353244A JP2002353244A JP2004187114A JP 2004187114 A JP2004187114 A JP 2004187114A JP 2002353244 A JP2002353244 A JP 2002353244A JP 2002353244 A JP2002353244 A JP 2002353244A JP 2004187114 A JP2004187114 A JP 2004187114A
- Authority
- JP
- Japan
- Prior art keywords
- mac address
- address
- hash
- specific
- destination
- 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アドレスのアドレスフィルタリングにおける精度を向上させる。
【解決手段】2個のMACアドレスハッシュテーブル1A、1Bと、それに対応して2個のMACアドレスハツシング部27A、27Bを設け、特定MACアドレス3と各ビットを反転した特定反転MACアドレスとをそれぞれMACアドレスハッシュテーブル1A、1Bに登録し、MACアドレスハツシング部27A、27Bの一方は、宛先MACアドレス120を基にハッシュ処理を行ってMACアドレスハッシュテーブル1Aを検索し、他方は、宛先MACアドレス3の各ビットを反転した宛先反転MACアドレス21を基にハッシュ処理を行ってMACアドレスハッシュテーブル1Bを検索し、双方のハッシュ処理がヒットしたときのみ受信フレームの受け取り指令22を出力する。
【選択図】 図3
【解決手段】2個のMACアドレスハッシュテーブル1A、1Bと、それに対応して2個のMACアドレスハツシング部27A、27Bを設け、特定MACアドレス3と各ビットを反転した特定反転MACアドレスとをそれぞれMACアドレスハッシュテーブル1A、1Bに登録し、MACアドレスハツシング部27A、27Bの一方は、宛先MACアドレス120を基にハッシュ処理を行ってMACアドレスハッシュテーブル1Aを検索し、他方は、宛先MACアドレス3の各ビットを反転した宛先反転MACアドレス21を基にハッシュ処理を行ってMACアドレスハッシュテーブル1Bを検索し、双方のハッシュ処理がヒットしたときのみ受信フレームの受け取り指令22を出力する。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
この発明は、ネットワーク・インタフェース・カード(NIC)で受信するフレームのMACアドレスをフィルタリングするアドレスフィルタリング装置に関するものである。
【0002】
【従来の技術】
従来のMAC(Media Access Control)アドレスフィルタリング回路では、ブロードキャスト/ユニキャスト/マルチキャストフィルタリングの3段階でフィルタリングを行って、受信フレームを受け取るか否かを判断する。マルチキャストアドレスによるフィルタリングは、ハッシング・アルゴリズムにより行い、即ち、受信フレームから抽出したMACアドレス値を、CRC(Cyclic Redundancy Check)32演算部で演算して得た結果の上位6ビットをポインタとして、MACアドレスハッシング部に入力し、その値をフィルタする64ビットの配列をインデックスする。ハッシング部によりハッシュがヒットしたことを示すハッシュ検索結果が出力されたときは、この受信フレームを受信FIFO(First In First Out)に書き込み、ハッシュがヒットしないとの検索結果が得られたときには、受信フレームを廃棄する(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開平11−27324号公報(第4−第6頁、第2,第4図)
【0004】
【発明が解決しようとする課題】
従来のMACアドレスフィルタリング回路は以上のように構成されているので、マルチキャストアドレスによるフィルタリングは、ハッシュ処理を使って登録されているMACアドレスの検索を行う。MACアドレスは48ビットであり、CRC演算により32ビットに変換し、その32ビットの一部を用いてMACアドレスハッシュテーブルのインデックスとする。例えばインデックスが6ビットであるとすると、同じインデックス値に対応するMACアドレスは242個存在する。ハッシュ処理による検索でヒットした宛先MACアドレスを持つフレームは一旦記憶され、S/Wにて宛先MACアドレスのチェックを行い該当しないフレームについては廃棄する必要があるが、MACアドレスハッシュテーブルの同じインデックス値に対応するMACアドレスが多数存在するため、所望の宛先MACアドレスでない確率が高く、S/Wでの処理負荷が大きくなるという問題点があった。
【0005】
この発明は、上記のような問題点を解消するために成されたものであって、ハッシュ処理を用いたMACアドレスの検索精度を向上させ、宛先MACアドレスが登録された特定MACアドレスか否かを信頼性良く識別することを目的とする。
【0006】
【課題を解決するための手段】
この発明に係るアドレスフィルタリング装置は、MACアドレスを宛先とする受信フレームの受け取り判断を、該宛先MACアドレスを上記受信フレームから抽出し、特定MACアドレスか否かを識別して行うもので、第1、第2のMACアドレスハッシュテーブルと、該第1、第2のMACアドレスハッシュテーブルにそれぞれMACアドレスを登録するためのアドレスハッシュ設定部と、ハッシュ処理を行って上記第1、第2のMACアドレスハッシュテーブルをそれぞれ検索する第1、第2のハッシング手段と、受信フレームの受け取り指令を出力する指令出力手段とを備える。上記第1のMACアドレスハッシュテーブルには、上記特定MACアドレスが登録され、上記第2のMACアドレスハッシュテーブルには、上記特定MACアドレスの各ビットを反転した特定反転MACアドレスが登録される。上記アドレスハッシュ設定部は上記特定MACアドレス、特定反転MACアドレスをそれぞれ上記第1、第2のMACアドレスハッシュテーブルに登録する。第1のハッシング手段は、上記宛先MACアドレスを基にハッシュ処理を行って上記特定MACアドレスが登録された上記第1のMACアドレスハッシュテーブルを検索し、上記第2のハッシング手段は、上記宛先MACアドレスの各ビットを反転した宛先反転MACアドレスを生成し、該宛先反転MACアドレスを基にハッシュ処理を行って上記特定反転MACアドレスが登録された上記第2のMACアドレスハッシュテーブルを検索する。そして、上記指令出力手段は、上記第1、第2のハッシング手段における双方のハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力するものである。
【0007】
【発明の実施の形態】
実施の形態1.
以下、この発明の実施の形態1を図について説明する。図1は、この発明の実施の形態1によるアドレスフィルタリング回路の構成を示す図である。
図に示すように、PHYデバイス(物理レイヤ)を介してネットワークから入力される受信フレーム114を一時的にフレーム格納部112にて格納し、フレーム格納部112は受信フレームを出力信号(受信フレーム信号)117、118として出力する。MACアドレス抽出部104では、フレーム格納部112からの受信フレーム信号117を入力として、該受信フレーム信号117から宛先MACアドレスを抽出し出力信号(宛先MACアドレス信号)120として出力する。
AND回路133では、MACアドレス抽出部104からの宛先MACアドレス信号120とオール“1”との論理積をとり、宛先MACアドレスがオール“1”のときに出力信号(ブロードキャストフィルタリング指令)135を有意とする。
自MACアドレス記億部108では自MACアドレスを保持しており、この自MACアドレス記億部108からの自MACアドレス信号123と、MACアドレス抽出部104からの宛先MACアドレス信号120とを入力として、比較111では、自MACアドレス信号123と宛先MACアドレス信号120とを比較し、アドレスが一致している場合には出力信号(ユニキャストフィルタリング指令)129を有意とする。
【0008】
また、図に示すように、第1のハッシング手段としてのMACアドレスハッシングA部27Aと、第2のハッシング手段としてのMACアドレスハッシングB部27Bと、これら2つのハッシング部27A、27Bのそれぞれに対応するCRC32演算部105A、105Bを備える。CRC32演算部105Aでは、MACアドレス抽出部104からの宛先MACアドレス信号120を入力として、宛先MACアドレスに対してCRC演算を行い、MACアドレスハッシングA部27Aでは、CRC演算結果124Aをインデックスとしてハッシュ処理を行い、その結果ヒットしたときに出力信号130Aを有意とする。
MACアドレス抽出部104からの宛先MACアドレス信号120はビット否定部20にも入力され、ビット否定部20は、宛先MACアドレスの各ビットのロジック0、1を反転した宛先反転MACアドレス信号21を出力する。CRC32演算部105Bでは、ビット否定部20からの宛先反転MACアドレス信号21を入力として、宛先反転MACアドレスに対してCRC演算を行い、MACアドレスハッシングB部27Bでは、CRC演算結果124Bをインデックスとしてハッシュ処理を行い、その結果ヒットしたときに出力信号130Bを有意とする。なお、ハッシュ処理に用いるハッシュテーブルについては後述する。
MACアドレスハッシング部27A、27Bの出力信号130A、130Bは、指令出力手段としてのAND回路26に入力され、AND回路26は論理積をとりマルチキャストフィルタリング指令となる受信フレームの受け取り指令信号22を出力する。
【0009】
一方、CRC32検証部106では、フレーム格納部112からの受信フレーム信号118を入力として、該受信フレーム信号118に対してCRC演算を行い、その結果が、後述する受信フレームのFCSフィールドに設定された値と一致するときに正常と判断し、正常と判断された受信フレーム信号125を出力する。フレーム書き込み制御部113では、ブロードキャストフィルタリング指令135、ユニキャストフィルタリング指令129、受け取り指令信号(マルチキャストフィルタリング指令)22のいずれかが有意となるとき、受信フレーム信号125を受信FIFOに出力するとともに書き込みを行う。
【0010】
図2はネットワーク上で送受信されるフレームの構成を示す図である。図において、フレーム9は、宛先MACアドレス10、発信元MACアドレス11、タイプ12、データ13、およびFCS(フレームチェツクシーケンス)14の各フィールドで構成される。
【0011】
図3は、MACアドレスハッシング部27A、27Bで行うハッシュ処理のためのMACアドレスハッシュ回路の構成図である。なお、このMACアドレスハッシュ回路は、回路の一部を図1では図示を省略したが、図1で示したアドレスフィルタリング回路に含まれるものである。
図に示すように、MACアドレスハッシングA部27Aでは、CRC演算結果124Aをインデックス6Aとして、ハッシュ処理によりMACアドレスハッシュテーブル1Aを検索し、MACアドレスハッシングB部27Bでは、CRC演算結果124Bをインデックス6Bとして、ハッシュ処理によりMACアドレスハッシュテーブル1Bを検索する。7A、7Bはインデックス6A、6Bを基に、MACアドレスハッシュテーブル1A、1Bをそれぞれアクセスした結果、ヒットした(インデックスで参照されるビットがハッシュテーブルに設定されている)ときに有意となる信号である。
【0012】
また、MACアドレスハッシュテーブル1A、1Bにアクセスし登録設定を行うMACアドレスハッシュ設定部28を備え、MACアドレスハッシュ設定部28は、CPU等から出力される特定のマルチキャストアドレスである特定MACアドレス信号3をCRC32演算部105CにてCRC演算した結果4を入力として、MACアドレスハッシュテーブル1Aに対して、特定MACアドレス3をインデックス(特定MACアドレス登録信号)5Aを用いて登録し、MACアドレスハッシュテーブル1Bに対して、特定MACアドレス3の各ビットを反転した特定反転MACアドレスをインデックス(特定反転MACアドレス登録信号)5Bを用いて登録する。8A、8BはMACアドレスハッシュテーブル1A、1Bにそれぞれ登録を行うことを示す制御信号であり、29はMACアドレスハッシュテーブル1A、1Bを識別するテーブル指示信号である。
【0013】
マルチキャストアドレスによるマルチキャストフィルタリングの動作、即ち、受け取り指令信号(マルチキャストフィルタリング指令)22の出力に係る動作について図1、図3に基づいて以下に詳述する。
アドレスフィルタリング回路では、ネットワークからフレームを受信するに先立って、特定MACアドレスを予め登録する。即ち、CPUから出力される特定MACアドレス信号3をCRC32演算部105CにてCRC演算し、MACアドレスハッシュ設定部28は、MACアドレスハッシュテーブル1Aに対して、特定MACアドレス3を特定MACアドレス登録信号5Aを用いて登録し、MACアドレスハッシュテーブル1Bに対して、特定MACアドレス3の各ビットのロジック0、1を反転した特定反転MACアドレスを特定反転MACアドレス登録信号5Bを用いて登録する。
【0014】
一方、ネットワークから入力される受信フレームから抽出された宛先MACアドレス信号120は、CRC演算されて、MACアドレスハッシングA部27Aでは、CRC演算結果124Aをインデックス6Aとして、ハッシュ処理により特定MACアドレス3が登録されたMACアドレスハッシュテーブル1Aを検索し、ヒットしたときに出力信号130Aを有意とする。同時に、宛先MACアドレス信号120の各ビットのロジック0、1を反転した宛先反転MACアドレス信号21を生成してCRC演算を行い、MACアドレスハッシングB部27Bでは、CRC演算結果124Bをインデックス6Bとして、ハッシュ処理により特定反転MACアドレスが登録されたMACアドレスハッシュテーブル1Bを検索し、ヒットしたときに出力信号130Bを有意とする。2つの出力信号130A、130Bの双方が有意の時、AND回路26は受け取り指令信号22を出力する。
【0015】
なお、端末装置に実装されるNICではユニキャストアドレスは自MACアドレスだけであるため、CPUから受け取ってMACアドレスハッシュテーブル1A、1Bに登録する特定MACアドレス3は通常マルチキャストアドレスであるが、ユニキャストアドレスを用いることも可能である。
【0016】
この実施の形態では、2個のMACアドレスハッシュテーブル1A、1Bを設け、それぞれに対応してMACアドレスハツシング部27A、27Bを設け、両方でヒットしたときのみ受け取り指令22を出力するようにしたため、ハッシュ処理を用いた検索精度を向上させることができ、宛先MACアドレスが登録された特定MACアドレスか否かを信頼性良く識別できる。
またアドレスフィルタリングは、ブロードキャスト/ユニキャスト/マルチキャストフィルタリングの3段階で行うため、効率的にアドレスフィルタリングが行え、マルチキャストフィルタリングの精度が向上するため、全体のフィルタリング精度が向上し、信頼性の高いアドレスフィルタリング回路が得られる。
さらに、受け取り指令22により一旦記憶された受信フレームは、その後、S/Wにて宛先MACアドレスのチェックを行い該当しないフレームについては廃棄する必要があるが、所望の宛先MACアドレスである確率が増大するため、S/Wでの処理負荷が低減できる。
【0017】
実施の形態2.
以下、この発明の実施の形態2を図に基づいて説明する。図4は、この発明の実施の形態2によるアドレスフィルタリング回路の構成を示す図である。また、図5は、ハッシュ処理のためのMACアドレスハッシュ回路の構成図である。なお、このMACアドレスハッシュ回路は、回路の一部を図4では図示を省略したが、図4で示したアドレスフィルタリング回路に含まれるものである。
上記実施の形態1では、2個のMACアドレスハッシュテーブル1A、1Bを設け、それぞれに対応してMACアドレスハツシング部27A、27Bを設けたが、この実施の形態では、MACアドレスハッシュテーブル1、MACアドレスハッシング部112はそれぞれ1個のみで、CRC演算の前処理として後述するマスク処理を行う。
【0018】
図に示すように、ネットワークからフレームを受信するに先立って、特定MACアドレスを予め登録する。CPUから出力される特定MACアドレス信号3はCRC演算されるに先立って、マスク処理部16Bにてマスク処理される。即ち、マスク処理部16Bでは、図6に示すように、CPUから特定MACアドレス信号3と共に、MACアドレスの所定ビット情報を1に指定するマスク情報23を入力し、OR回路24にてこれらの論理和をとり、特定MACアドレス信号3の所定ビット情報を1に指定した特定変性MACアドレス信号17Bを出力する。マスク情報23の各ビットの意味は、“0”はマスクなし、“1”はマスクありである。“0”を指定したビットについてはMACアドレスの値がマスク処理部16Bの出力となり、“1”を指定したビットについてはMACアドレスの値に関わらずマスク処理部16Bの出力は“1”となる。マスクを行う必要がない場合にはマスク情報23はすべで“0”とする。マスク処理部16Bからの特定変性MACアドレス信号17BはCRC32演算部105CにてCRC演算され、MACアドレスハッシュ設定部2は、CRC演算結果4を入力として、MACアドレスハッシュテーブル1Aに対して、特定変成MACアドレス17Bをインデックス5を用いて登録する。8はMACアドレスハッシュテーブル1に登録を行うことを示す制御信号である。
【0019】
一方、ネットワークから入力される受信フレームから抽出された宛先MACアドレス信号120も同様に、CRC演算されるに先立って、マスク処理部16Aにてマスク処理される。即ち、マスク処理部16Aでは、CPUから宛先MACアドレス信号120と共に、マスク情報23を入力し、OR回路24にてこれらの論理和をとり、宛先MACアドレス信号120の所定ビット情報を1に指定した宛先変性MACアドレス信号17Aを出力する。マスク処理部16Aからの宛先変性MACアドレス信号17AはCRC32演算部105にてCRC演算されて、MACアドレスハッシング部112では、CRC演算結果124をインデックス6として、ハッシュ処理により特定変成MACアドレス17Bが登録されたMACアドレスハッシュテーブル1を検索し、ヒットしたときに有意となる受け取り指令信号(マルチキャストフィルタリング指令)130を出力する。7はインデックス6を基に、MACアドレスハッシュテーブル1をアクセスした結果、ヒットした(インデックスで参照されるビットがハッシュテーブルに設定されている)ときに有意となる信号である。
【0020】
CRC32検証部106では、上記実施の形態1と同様に、受信フレーム信号118を入力として、該受信フレーム信号118に対してCRC演算を行って正常か否か判断し、正常と判断された受信フレーム信号125を出力する。フレーム書き込み制御部113では、上記実施の形態1で示したように出力されたブロードキャストフィルタリング指令135、ユニキャストフィルタリング指令129、および上記マスク処理を用いたハッシュ処理により出力された受け取り指令信号(マルチキャストフィルタリング指令)130のいずれかが有意となるとき、受信フレーム信号125を受信FIFOに出力するとともに書き込みを行う。
【0021】
この実施の形態によれば、マスク情報23によりマスク処理を行うため、共通のビットパターンを持つ複数の特定MACアドレス3を1つのMACアドレスである特定変成MACアドレス17Bで表し、一括してMACアドレスハッシングテーブル1に登録できる。例えば、MACアドレス48ビットのうち、所定位置の2ビット分が任意で他の46ビットが固定であるとき、所定位置の2ビットを“11”とすることで“00”〜“11”までの4通りのアドレスを1通りで登録できる。このように登録数を削減でき、ハッシュ処理が誤ってヒットする確率を減らすことができる。このため、ハッシュ処理を用いた検索精度を向上させることができ、宛先MACアドレスが登録された特定MACアドレスか否かを信頼性良く識別でき、実施の形態1と同様の効果が得られる。
【0022】
実施の形態3.
以下、この発明の実施の形態3を図に基づいて説明する。図7は、この発明の実施の形態3によるアドレスフィルタリング回路の構成を示す図である。また、図8は、ハッシュ処理のためのMACアドレスハッシュ回路の構成図である。なお、このMACアドレスハッシュ回路は、回路の一部を図7では図示を省略したが、図7で示したアドレスフィルタリング回路に含まれるものである。
上記実施の形態2では、MACアドレスの所定ビット情報を1に指定するマスク処理を用いたが、この実施の形態では、CRC演算の前処理としてMACアドレスの所定ビット情報をシフトさせる処理を行う。
【0023】
図に示すように、ネットワークからフレームを受信するに先立って、特定MACアドレスを予め登録する。CPUから出力される特定MACアドレス信号3はCRC演算されるに先立って、マスクシフト部18Bにてシフト処理される。即ち、マスクシフト18Bでは、図9に示すように、CPUから特定MACアドレス信号3と共に、MACアドレスの所定ビット情報を指定するマスク情報23Aを用い、特定MACアドレス信号3の所定ビット情報を端部(この場合左端)にシフトさせて所定値(この場合0)に設定して、特定変性MACアドレス信号19Bを出力する。マスク情報23Aの各ビットの意味は、“0”はマスクなし、“1”はマスクありである。“1”を指定したビットについてはMACアドレスの該当ビットは削除しビットのシフトを行う。“0”を指定したビットについてはMACアドレスの値を出力とする。マスクを行う必要がない場合にはマスク情報23Aはすべで“0”とする。
マスクシフト部18Bからの特定変性MACアドレス信号19BはCRC32演算部105CにてCRC演算され、MACアドレスハッシュ設定部2は、CRC演算結果4を入力として、MACアドレスハッシュテーブル1Aに対して、特定変成MACアドレス17Bをインデックス5を用いて登録する。
【0024】
一方、ネットワークから入力される受信フレームから抽出された宛先MACアドレス信号120も同様に、CRC演算されるに先立って、マスクシフト部18Aにてシフト処理される。即ち、マスクシフト部18Aでは、CPUから宛先MACアドレス信号120と共に、マスク情報23Aを入力し、宛先MACアドレス信号120の所定ビット情報を端部(この場合左端)にシフトさせて所定値(この場合0)に設定して、宛先変性MACアドレス信号19Aを出力する。マスクシフト部18Aからの宛先変性MACアドレス信号19AはCRC32演算部105にてCRC演算されて、MACアドレスハッシング部112では、CRC演算結果124をインデックス6として、ハッシュ処理により特定変成MACアドレス19Bが登録されたMACアドレスハッシュテーブル1を検索し、ヒットしたときに有意となる受け取り指令信号(マルチキャストフィルタリング指令)130を出力する。
【0025】
CRC32検証部106では、上記実施の形態1と同様に、受信フレーム信号118を入力として、該受信フレーム信号118に対してCRC演算を行って正常か否か判断し、正常と判断された受信フレーム信号125を出力する。フレーム書き込み制御部113では、上記実施の形態1で示したように出力されたブロードキャストフィルタリング指令135、ユニキャストフィルタリング指令129、および上記マスク情報23Aによるシフト処理を用いたハッシュ処理により出力された受け取り指令信号(マルチキャストフィルタリング指令)130のいずれかが有意となるとき、受信フレーム信号125を受信FIFOに出力するとともに書き込みを行う。
【0026】
この発明によれば、マスク情報23Aによりシフト処理を行うため、共通のビットパターンを持つ複数の特定MACアドレス3を1つのMACアドレスである特定変成MACアドレス19Bで表し、一括してMACアドレスハッシングテーブル1に登録できるため、登録数を削減でき、ハッシュ処理が誤ってヒットする確率を減らすことができる。このため、ハッシュ処理を用いた検索精度を向上させることができ、宛先MACアドレスが登録された特定MACアドレスか否かを信頼性良く識別でき、実施の形態1と同様の効果が得られる。
【0027】
【発明の効果】
この発明に係るアドレスフィルタリング装置は、MACアドレスを宛先とする受信フレームの受け取り判断を、該宛先MACアドレスを上記受信フレームから抽出し、特定MACアドレスか否かを識別して行うもので、第1、第2のMACアドレスハッシュテーブルと、該第1、第2のMACアドレスハッシュテーブルにそれぞれMACアドレスを登録するためのアドレスハッシュ設定部と、ハッシュ処理を行って上記第1、第2のMACアドレスハッシュテーブルをそれぞれ検索する第1、第2のハッシング手段と、受信フレームの受け取り指令を出力する指令出力手段とを備える。上記第1のMACアドレスハッシュテーブルには、上記特定MACアドレスが登録され、上記第2のMACアドレスハッシュテーブルには、上記特定MACアドレスの各ビットを反転した特定反転MACアドレスが登録される。上記アドレスハッシュ設定部は上記特定MACアドレス、特定反転MACアドレスをそれぞれ上記第1、第2のMACアドレスハッシュテーブルに登録する。第1のハッシング手段は、上記宛先MACアドレスを基にハッシュ処理を行って上記特定MACアドレスが登録された上記第1のMACアドレスハッシュテーブルを検索し、上記第2のハッシング手段は、上記宛先MACアドレスの各ビットを反転した宛先反転MACアドレスを生成し、該宛先反転MACアドレスを基にハッシュ処理を行って上記特定反転MACアドレスが登録された上記第2のMACアドレスハッシュテーブルを検索する。そして、上記指令出力手段は、上記第1、第2のハッシング手段における双方のハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力するため、ハッシュ処理を用いた検索精度を向上させることができ、宛先MACアドレスが登録された特定MACアドレスか否かを信頼性良く識別できる。
【図面の簡単な説明】
【図1】この発明の実施の形態1によるアドレスフィルタリング回路の構成図である。
【図2】この発明の実施の形態1によるフレーム構成を示す図である。
【図3】この発明の実施の形態1によるMACアドレスハッシュ回路の構成図である。
【図4】この発明の実施の形態2によるアドレスフィルタリング回路の構成図である。
【図5】この発明の実施の形態2によるMACアドレスハッシュ回路の構成図である。
【図6】この発明の実施の形態2によるマスク処理部を説明する図である。
【図7】この発明の実施の形態3によるアドレスフィルタリング回路の構成図である。
【図8】この発明の実施の形態3によるMACアドレスハッシュ回路の構成図である。
【図9】この発明の実施の形態3によるマスク処理部を説明する図である。
【符号の説明】
1,1A,1B MACアドレスハッシュテーブル、
2 MACアドレスハッシュ設定部、3 特定MACアドレス信号、
5A 特定MACアドレス登録信号、5B 特定反転MACアドレス登録信号、
17A,19A 宛先変成MACアドレス信号、
17B,19B 特定変成MACアドレス信号、
21 宛先反転MACアドレス信号、22 受け取り指令信号、
23,23A マスク情報、26 指令出力手段としてのAND回路、
27A,27B ハッシング手段としてのMACアドレスハッシング部、
28 MACアドレスハッシュ設定部、
112 ハッシング手段としてのMACアドレスハッシング部、
117,118,125 受信フレーム信号、
120 宛先MACアドレス信号、129 ユニキャストフィルタリング指令、
130 受け取り指令信号、135 ブロードキャストフィルタリング指令。
【発明の属する技術分野】
この発明は、ネットワーク・インタフェース・カード(NIC)で受信するフレームのMACアドレスをフィルタリングするアドレスフィルタリング装置に関するものである。
【0002】
【従来の技術】
従来のMAC(Media Access Control)アドレスフィルタリング回路では、ブロードキャスト/ユニキャスト/マルチキャストフィルタリングの3段階でフィルタリングを行って、受信フレームを受け取るか否かを判断する。マルチキャストアドレスによるフィルタリングは、ハッシング・アルゴリズムにより行い、即ち、受信フレームから抽出したMACアドレス値を、CRC(Cyclic Redundancy Check)32演算部で演算して得た結果の上位6ビットをポインタとして、MACアドレスハッシング部に入力し、その値をフィルタする64ビットの配列をインデックスする。ハッシング部によりハッシュがヒットしたことを示すハッシュ検索結果が出力されたときは、この受信フレームを受信FIFO(First In First Out)に書き込み、ハッシュがヒットしないとの検索結果が得られたときには、受信フレームを廃棄する(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開平11−27324号公報(第4−第6頁、第2,第4図)
【0004】
【発明が解決しようとする課題】
従来のMACアドレスフィルタリング回路は以上のように構成されているので、マルチキャストアドレスによるフィルタリングは、ハッシュ処理を使って登録されているMACアドレスの検索を行う。MACアドレスは48ビットであり、CRC演算により32ビットに変換し、その32ビットの一部を用いてMACアドレスハッシュテーブルのインデックスとする。例えばインデックスが6ビットであるとすると、同じインデックス値に対応するMACアドレスは242個存在する。ハッシュ処理による検索でヒットした宛先MACアドレスを持つフレームは一旦記憶され、S/Wにて宛先MACアドレスのチェックを行い該当しないフレームについては廃棄する必要があるが、MACアドレスハッシュテーブルの同じインデックス値に対応するMACアドレスが多数存在するため、所望の宛先MACアドレスでない確率が高く、S/Wでの処理負荷が大きくなるという問題点があった。
【0005】
この発明は、上記のような問題点を解消するために成されたものであって、ハッシュ処理を用いたMACアドレスの検索精度を向上させ、宛先MACアドレスが登録された特定MACアドレスか否かを信頼性良く識別することを目的とする。
【0006】
【課題を解決するための手段】
この発明に係るアドレスフィルタリング装置は、MACアドレスを宛先とする受信フレームの受け取り判断を、該宛先MACアドレスを上記受信フレームから抽出し、特定MACアドレスか否かを識別して行うもので、第1、第2のMACアドレスハッシュテーブルと、該第1、第2のMACアドレスハッシュテーブルにそれぞれMACアドレスを登録するためのアドレスハッシュ設定部と、ハッシュ処理を行って上記第1、第2のMACアドレスハッシュテーブルをそれぞれ検索する第1、第2のハッシング手段と、受信フレームの受け取り指令を出力する指令出力手段とを備える。上記第1のMACアドレスハッシュテーブルには、上記特定MACアドレスが登録され、上記第2のMACアドレスハッシュテーブルには、上記特定MACアドレスの各ビットを反転した特定反転MACアドレスが登録される。上記アドレスハッシュ設定部は上記特定MACアドレス、特定反転MACアドレスをそれぞれ上記第1、第2のMACアドレスハッシュテーブルに登録する。第1のハッシング手段は、上記宛先MACアドレスを基にハッシュ処理を行って上記特定MACアドレスが登録された上記第1のMACアドレスハッシュテーブルを検索し、上記第2のハッシング手段は、上記宛先MACアドレスの各ビットを反転した宛先反転MACアドレスを生成し、該宛先反転MACアドレスを基にハッシュ処理を行って上記特定反転MACアドレスが登録された上記第2のMACアドレスハッシュテーブルを検索する。そして、上記指令出力手段は、上記第1、第2のハッシング手段における双方のハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力するものである。
【0007】
【発明の実施の形態】
実施の形態1.
以下、この発明の実施の形態1を図について説明する。図1は、この発明の実施の形態1によるアドレスフィルタリング回路の構成を示す図である。
図に示すように、PHYデバイス(物理レイヤ)を介してネットワークから入力される受信フレーム114を一時的にフレーム格納部112にて格納し、フレーム格納部112は受信フレームを出力信号(受信フレーム信号)117、118として出力する。MACアドレス抽出部104では、フレーム格納部112からの受信フレーム信号117を入力として、該受信フレーム信号117から宛先MACアドレスを抽出し出力信号(宛先MACアドレス信号)120として出力する。
AND回路133では、MACアドレス抽出部104からの宛先MACアドレス信号120とオール“1”との論理積をとり、宛先MACアドレスがオール“1”のときに出力信号(ブロードキャストフィルタリング指令)135を有意とする。
自MACアドレス記億部108では自MACアドレスを保持しており、この自MACアドレス記億部108からの自MACアドレス信号123と、MACアドレス抽出部104からの宛先MACアドレス信号120とを入力として、比較111では、自MACアドレス信号123と宛先MACアドレス信号120とを比較し、アドレスが一致している場合には出力信号(ユニキャストフィルタリング指令)129を有意とする。
【0008】
また、図に示すように、第1のハッシング手段としてのMACアドレスハッシングA部27Aと、第2のハッシング手段としてのMACアドレスハッシングB部27Bと、これら2つのハッシング部27A、27Bのそれぞれに対応するCRC32演算部105A、105Bを備える。CRC32演算部105Aでは、MACアドレス抽出部104からの宛先MACアドレス信号120を入力として、宛先MACアドレスに対してCRC演算を行い、MACアドレスハッシングA部27Aでは、CRC演算結果124Aをインデックスとしてハッシュ処理を行い、その結果ヒットしたときに出力信号130Aを有意とする。
MACアドレス抽出部104からの宛先MACアドレス信号120はビット否定部20にも入力され、ビット否定部20は、宛先MACアドレスの各ビットのロジック0、1を反転した宛先反転MACアドレス信号21を出力する。CRC32演算部105Bでは、ビット否定部20からの宛先反転MACアドレス信号21を入力として、宛先反転MACアドレスに対してCRC演算を行い、MACアドレスハッシングB部27Bでは、CRC演算結果124Bをインデックスとしてハッシュ処理を行い、その結果ヒットしたときに出力信号130Bを有意とする。なお、ハッシュ処理に用いるハッシュテーブルについては後述する。
MACアドレスハッシング部27A、27Bの出力信号130A、130Bは、指令出力手段としてのAND回路26に入力され、AND回路26は論理積をとりマルチキャストフィルタリング指令となる受信フレームの受け取り指令信号22を出力する。
【0009】
一方、CRC32検証部106では、フレーム格納部112からの受信フレーム信号118を入力として、該受信フレーム信号118に対してCRC演算を行い、その結果が、後述する受信フレームのFCSフィールドに設定された値と一致するときに正常と判断し、正常と判断された受信フレーム信号125を出力する。フレーム書き込み制御部113では、ブロードキャストフィルタリング指令135、ユニキャストフィルタリング指令129、受け取り指令信号(マルチキャストフィルタリング指令)22のいずれかが有意となるとき、受信フレーム信号125を受信FIFOに出力するとともに書き込みを行う。
【0010】
図2はネットワーク上で送受信されるフレームの構成を示す図である。図において、フレーム9は、宛先MACアドレス10、発信元MACアドレス11、タイプ12、データ13、およびFCS(フレームチェツクシーケンス)14の各フィールドで構成される。
【0011】
図3は、MACアドレスハッシング部27A、27Bで行うハッシュ処理のためのMACアドレスハッシュ回路の構成図である。なお、このMACアドレスハッシュ回路は、回路の一部を図1では図示を省略したが、図1で示したアドレスフィルタリング回路に含まれるものである。
図に示すように、MACアドレスハッシングA部27Aでは、CRC演算結果124Aをインデックス6Aとして、ハッシュ処理によりMACアドレスハッシュテーブル1Aを検索し、MACアドレスハッシングB部27Bでは、CRC演算結果124Bをインデックス6Bとして、ハッシュ処理によりMACアドレスハッシュテーブル1Bを検索する。7A、7Bはインデックス6A、6Bを基に、MACアドレスハッシュテーブル1A、1Bをそれぞれアクセスした結果、ヒットした(インデックスで参照されるビットがハッシュテーブルに設定されている)ときに有意となる信号である。
【0012】
また、MACアドレスハッシュテーブル1A、1Bにアクセスし登録設定を行うMACアドレスハッシュ設定部28を備え、MACアドレスハッシュ設定部28は、CPU等から出力される特定のマルチキャストアドレスである特定MACアドレス信号3をCRC32演算部105CにてCRC演算した結果4を入力として、MACアドレスハッシュテーブル1Aに対して、特定MACアドレス3をインデックス(特定MACアドレス登録信号)5Aを用いて登録し、MACアドレスハッシュテーブル1Bに対して、特定MACアドレス3の各ビットを反転した特定反転MACアドレスをインデックス(特定反転MACアドレス登録信号)5Bを用いて登録する。8A、8BはMACアドレスハッシュテーブル1A、1Bにそれぞれ登録を行うことを示す制御信号であり、29はMACアドレスハッシュテーブル1A、1Bを識別するテーブル指示信号である。
【0013】
マルチキャストアドレスによるマルチキャストフィルタリングの動作、即ち、受け取り指令信号(マルチキャストフィルタリング指令)22の出力に係る動作について図1、図3に基づいて以下に詳述する。
アドレスフィルタリング回路では、ネットワークからフレームを受信するに先立って、特定MACアドレスを予め登録する。即ち、CPUから出力される特定MACアドレス信号3をCRC32演算部105CにてCRC演算し、MACアドレスハッシュ設定部28は、MACアドレスハッシュテーブル1Aに対して、特定MACアドレス3を特定MACアドレス登録信号5Aを用いて登録し、MACアドレスハッシュテーブル1Bに対して、特定MACアドレス3の各ビットのロジック0、1を反転した特定反転MACアドレスを特定反転MACアドレス登録信号5Bを用いて登録する。
【0014】
一方、ネットワークから入力される受信フレームから抽出された宛先MACアドレス信号120は、CRC演算されて、MACアドレスハッシングA部27Aでは、CRC演算結果124Aをインデックス6Aとして、ハッシュ処理により特定MACアドレス3が登録されたMACアドレスハッシュテーブル1Aを検索し、ヒットしたときに出力信号130Aを有意とする。同時に、宛先MACアドレス信号120の各ビットのロジック0、1を反転した宛先反転MACアドレス信号21を生成してCRC演算を行い、MACアドレスハッシングB部27Bでは、CRC演算結果124Bをインデックス6Bとして、ハッシュ処理により特定反転MACアドレスが登録されたMACアドレスハッシュテーブル1Bを検索し、ヒットしたときに出力信号130Bを有意とする。2つの出力信号130A、130Bの双方が有意の時、AND回路26は受け取り指令信号22を出力する。
【0015】
なお、端末装置に実装されるNICではユニキャストアドレスは自MACアドレスだけであるため、CPUから受け取ってMACアドレスハッシュテーブル1A、1Bに登録する特定MACアドレス3は通常マルチキャストアドレスであるが、ユニキャストアドレスを用いることも可能である。
【0016】
この実施の形態では、2個のMACアドレスハッシュテーブル1A、1Bを設け、それぞれに対応してMACアドレスハツシング部27A、27Bを設け、両方でヒットしたときのみ受け取り指令22を出力するようにしたため、ハッシュ処理を用いた検索精度を向上させることができ、宛先MACアドレスが登録された特定MACアドレスか否かを信頼性良く識別できる。
またアドレスフィルタリングは、ブロードキャスト/ユニキャスト/マルチキャストフィルタリングの3段階で行うため、効率的にアドレスフィルタリングが行え、マルチキャストフィルタリングの精度が向上するため、全体のフィルタリング精度が向上し、信頼性の高いアドレスフィルタリング回路が得られる。
さらに、受け取り指令22により一旦記憶された受信フレームは、その後、S/Wにて宛先MACアドレスのチェックを行い該当しないフレームについては廃棄する必要があるが、所望の宛先MACアドレスである確率が増大するため、S/Wでの処理負荷が低減できる。
【0017】
実施の形態2.
以下、この発明の実施の形態2を図に基づいて説明する。図4は、この発明の実施の形態2によるアドレスフィルタリング回路の構成を示す図である。また、図5は、ハッシュ処理のためのMACアドレスハッシュ回路の構成図である。なお、このMACアドレスハッシュ回路は、回路の一部を図4では図示を省略したが、図4で示したアドレスフィルタリング回路に含まれるものである。
上記実施の形態1では、2個のMACアドレスハッシュテーブル1A、1Bを設け、それぞれに対応してMACアドレスハツシング部27A、27Bを設けたが、この実施の形態では、MACアドレスハッシュテーブル1、MACアドレスハッシング部112はそれぞれ1個のみで、CRC演算の前処理として後述するマスク処理を行う。
【0018】
図に示すように、ネットワークからフレームを受信するに先立って、特定MACアドレスを予め登録する。CPUから出力される特定MACアドレス信号3はCRC演算されるに先立って、マスク処理部16Bにてマスク処理される。即ち、マスク処理部16Bでは、図6に示すように、CPUから特定MACアドレス信号3と共に、MACアドレスの所定ビット情報を1に指定するマスク情報23を入力し、OR回路24にてこれらの論理和をとり、特定MACアドレス信号3の所定ビット情報を1に指定した特定変性MACアドレス信号17Bを出力する。マスク情報23の各ビットの意味は、“0”はマスクなし、“1”はマスクありである。“0”を指定したビットについてはMACアドレスの値がマスク処理部16Bの出力となり、“1”を指定したビットについてはMACアドレスの値に関わらずマスク処理部16Bの出力は“1”となる。マスクを行う必要がない場合にはマスク情報23はすべで“0”とする。マスク処理部16Bからの特定変性MACアドレス信号17BはCRC32演算部105CにてCRC演算され、MACアドレスハッシュ設定部2は、CRC演算結果4を入力として、MACアドレスハッシュテーブル1Aに対して、特定変成MACアドレス17Bをインデックス5を用いて登録する。8はMACアドレスハッシュテーブル1に登録を行うことを示す制御信号である。
【0019】
一方、ネットワークから入力される受信フレームから抽出された宛先MACアドレス信号120も同様に、CRC演算されるに先立って、マスク処理部16Aにてマスク処理される。即ち、マスク処理部16Aでは、CPUから宛先MACアドレス信号120と共に、マスク情報23を入力し、OR回路24にてこれらの論理和をとり、宛先MACアドレス信号120の所定ビット情報を1に指定した宛先変性MACアドレス信号17Aを出力する。マスク処理部16Aからの宛先変性MACアドレス信号17AはCRC32演算部105にてCRC演算されて、MACアドレスハッシング部112では、CRC演算結果124をインデックス6として、ハッシュ処理により特定変成MACアドレス17Bが登録されたMACアドレスハッシュテーブル1を検索し、ヒットしたときに有意となる受け取り指令信号(マルチキャストフィルタリング指令)130を出力する。7はインデックス6を基に、MACアドレスハッシュテーブル1をアクセスした結果、ヒットした(インデックスで参照されるビットがハッシュテーブルに設定されている)ときに有意となる信号である。
【0020】
CRC32検証部106では、上記実施の形態1と同様に、受信フレーム信号118を入力として、該受信フレーム信号118に対してCRC演算を行って正常か否か判断し、正常と判断された受信フレーム信号125を出力する。フレーム書き込み制御部113では、上記実施の形態1で示したように出力されたブロードキャストフィルタリング指令135、ユニキャストフィルタリング指令129、および上記マスク処理を用いたハッシュ処理により出力された受け取り指令信号(マルチキャストフィルタリング指令)130のいずれかが有意となるとき、受信フレーム信号125を受信FIFOに出力するとともに書き込みを行う。
【0021】
この実施の形態によれば、マスク情報23によりマスク処理を行うため、共通のビットパターンを持つ複数の特定MACアドレス3を1つのMACアドレスである特定変成MACアドレス17Bで表し、一括してMACアドレスハッシングテーブル1に登録できる。例えば、MACアドレス48ビットのうち、所定位置の2ビット分が任意で他の46ビットが固定であるとき、所定位置の2ビットを“11”とすることで“00”〜“11”までの4通りのアドレスを1通りで登録できる。このように登録数を削減でき、ハッシュ処理が誤ってヒットする確率を減らすことができる。このため、ハッシュ処理を用いた検索精度を向上させることができ、宛先MACアドレスが登録された特定MACアドレスか否かを信頼性良く識別でき、実施の形態1と同様の効果が得られる。
【0022】
実施の形態3.
以下、この発明の実施の形態3を図に基づいて説明する。図7は、この発明の実施の形態3によるアドレスフィルタリング回路の構成を示す図である。また、図8は、ハッシュ処理のためのMACアドレスハッシュ回路の構成図である。なお、このMACアドレスハッシュ回路は、回路の一部を図7では図示を省略したが、図7で示したアドレスフィルタリング回路に含まれるものである。
上記実施の形態2では、MACアドレスの所定ビット情報を1に指定するマスク処理を用いたが、この実施の形態では、CRC演算の前処理としてMACアドレスの所定ビット情報をシフトさせる処理を行う。
【0023】
図に示すように、ネットワークからフレームを受信するに先立って、特定MACアドレスを予め登録する。CPUから出力される特定MACアドレス信号3はCRC演算されるに先立って、マスクシフト部18Bにてシフト処理される。即ち、マスクシフト18Bでは、図9に示すように、CPUから特定MACアドレス信号3と共に、MACアドレスの所定ビット情報を指定するマスク情報23Aを用い、特定MACアドレス信号3の所定ビット情報を端部(この場合左端)にシフトさせて所定値(この場合0)に設定して、特定変性MACアドレス信号19Bを出力する。マスク情報23Aの各ビットの意味は、“0”はマスクなし、“1”はマスクありである。“1”を指定したビットについてはMACアドレスの該当ビットは削除しビットのシフトを行う。“0”を指定したビットについてはMACアドレスの値を出力とする。マスクを行う必要がない場合にはマスク情報23Aはすべで“0”とする。
マスクシフト部18Bからの特定変性MACアドレス信号19BはCRC32演算部105CにてCRC演算され、MACアドレスハッシュ設定部2は、CRC演算結果4を入力として、MACアドレスハッシュテーブル1Aに対して、特定変成MACアドレス17Bをインデックス5を用いて登録する。
【0024】
一方、ネットワークから入力される受信フレームから抽出された宛先MACアドレス信号120も同様に、CRC演算されるに先立って、マスクシフト部18Aにてシフト処理される。即ち、マスクシフト部18Aでは、CPUから宛先MACアドレス信号120と共に、マスク情報23Aを入力し、宛先MACアドレス信号120の所定ビット情報を端部(この場合左端)にシフトさせて所定値(この場合0)に設定して、宛先変性MACアドレス信号19Aを出力する。マスクシフト部18Aからの宛先変性MACアドレス信号19AはCRC32演算部105にてCRC演算されて、MACアドレスハッシング部112では、CRC演算結果124をインデックス6として、ハッシュ処理により特定変成MACアドレス19Bが登録されたMACアドレスハッシュテーブル1を検索し、ヒットしたときに有意となる受け取り指令信号(マルチキャストフィルタリング指令)130を出力する。
【0025】
CRC32検証部106では、上記実施の形態1と同様に、受信フレーム信号118を入力として、該受信フレーム信号118に対してCRC演算を行って正常か否か判断し、正常と判断された受信フレーム信号125を出力する。フレーム書き込み制御部113では、上記実施の形態1で示したように出力されたブロードキャストフィルタリング指令135、ユニキャストフィルタリング指令129、および上記マスク情報23Aによるシフト処理を用いたハッシュ処理により出力された受け取り指令信号(マルチキャストフィルタリング指令)130のいずれかが有意となるとき、受信フレーム信号125を受信FIFOに出力するとともに書き込みを行う。
【0026】
この発明によれば、マスク情報23Aによりシフト処理を行うため、共通のビットパターンを持つ複数の特定MACアドレス3を1つのMACアドレスである特定変成MACアドレス19Bで表し、一括してMACアドレスハッシングテーブル1に登録できるため、登録数を削減でき、ハッシュ処理が誤ってヒットする確率を減らすことができる。このため、ハッシュ処理を用いた検索精度を向上させることができ、宛先MACアドレスが登録された特定MACアドレスか否かを信頼性良く識別でき、実施の形態1と同様の効果が得られる。
【0027】
【発明の効果】
この発明に係るアドレスフィルタリング装置は、MACアドレスを宛先とする受信フレームの受け取り判断を、該宛先MACアドレスを上記受信フレームから抽出し、特定MACアドレスか否かを識別して行うもので、第1、第2のMACアドレスハッシュテーブルと、該第1、第2のMACアドレスハッシュテーブルにそれぞれMACアドレスを登録するためのアドレスハッシュ設定部と、ハッシュ処理を行って上記第1、第2のMACアドレスハッシュテーブルをそれぞれ検索する第1、第2のハッシング手段と、受信フレームの受け取り指令を出力する指令出力手段とを備える。上記第1のMACアドレスハッシュテーブルには、上記特定MACアドレスが登録され、上記第2のMACアドレスハッシュテーブルには、上記特定MACアドレスの各ビットを反転した特定反転MACアドレスが登録される。上記アドレスハッシュ設定部は上記特定MACアドレス、特定反転MACアドレスをそれぞれ上記第1、第2のMACアドレスハッシュテーブルに登録する。第1のハッシング手段は、上記宛先MACアドレスを基にハッシュ処理を行って上記特定MACアドレスが登録された上記第1のMACアドレスハッシュテーブルを検索し、上記第2のハッシング手段は、上記宛先MACアドレスの各ビットを反転した宛先反転MACアドレスを生成し、該宛先反転MACアドレスを基にハッシュ処理を行って上記特定反転MACアドレスが登録された上記第2のMACアドレスハッシュテーブルを検索する。そして、上記指令出力手段は、上記第1、第2のハッシング手段における双方のハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力するため、ハッシュ処理を用いた検索精度を向上させることができ、宛先MACアドレスが登録された特定MACアドレスか否かを信頼性良く識別できる。
【図面の簡単な説明】
【図1】この発明の実施の形態1によるアドレスフィルタリング回路の構成図である。
【図2】この発明の実施の形態1によるフレーム構成を示す図である。
【図3】この発明の実施の形態1によるMACアドレスハッシュ回路の構成図である。
【図4】この発明の実施の形態2によるアドレスフィルタリング回路の構成図である。
【図5】この発明の実施の形態2によるMACアドレスハッシュ回路の構成図である。
【図6】この発明の実施の形態2によるマスク処理部を説明する図である。
【図7】この発明の実施の形態3によるアドレスフィルタリング回路の構成図である。
【図8】この発明の実施の形態3によるMACアドレスハッシュ回路の構成図である。
【図9】この発明の実施の形態3によるマスク処理部を説明する図である。
【符号の説明】
1,1A,1B MACアドレスハッシュテーブル、
2 MACアドレスハッシュ設定部、3 特定MACアドレス信号、
5A 特定MACアドレス登録信号、5B 特定反転MACアドレス登録信号、
17A,19A 宛先変成MACアドレス信号、
17B,19B 特定変成MACアドレス信号、
21 宛先反転MACアドレス信号、22 受け取り指令信号、
23,23A マスク情報、26 指令出力手段としてのAND回路、
27A,27B ハッシング手段としてのMACアドレスハッシング部、
28 MACアドレスハッシュ設定部、
112 ハッシング手段としてのMACアドレスハッシング部、
117,118,125 受信フレーム信号、
120 宛先MACアドレス信号、129 ユニキャストフィルタリング指令、
130 受け取り指令信号、135 ブロードキャストフィルタリング指令。
Claims (5)
- MACアドレスを宛先とする受信フレームの受け取り判断を、該宛先MACアドレスを上記受信フレームから抽出し、特定MACアドレスか否かを識別して行うアドレスフィルタリング装置において、上記特定MACアドレスが登録される第1のMACアドレスハッシュテーブルと、上記特定MACアドレスの各ビットを反転した特定反転MACアドレスが登録される第2のMACアドレスハッシュテーブルと、上記特定MACアドレス、特定反転MACアドレスをそれぞれ上記第1、第2のMACアドレスハッシュテーブルに登録するアドレスハッシュ設定部と、上記宛先MACアドレスを基にハッシュ処理を行って上記特定MACアドレスが登録された上記第1のMACアドレスハッシュテーブルを検索する第1のハッシング手段と、上記宛先MACアドレスの各ビットを反転した宛先反転MACアドレスを生成し、該宛先反転MACアドレスを基にハッシュ処理を行って上記特定反転MACアドレスが登録された上記第2のMACアドレスハッシュテーブルを検索する第2のハッシング手段と、上記第1、第2のハッシング手段における双方のハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力する指令出力手段とを備えたことを特徴とするアドレスフィルタリング装置。
- MACアドレスを宛先とする受信フレームの受け取り判断を、該宛先MACアドレスを上記受信フレームから抽出し、特定MACアドレスか否かを識別して行うアドレスフィルタリング装置において、MACアドレスが登録されるMACアドレスハッシュテーブルと、MACアドレスの所定ビット情報を1に指定するマスク情報を用い、上記特定MACアドレスの上記所定ビット情報を1にした特定変成MACアドレスを上記MACアドレスハッシュテーブルに登録するアドレスハッシュ設定部と、上記マスク情報を用いて上記宛先MACアドレスの上記所定ビット情報を1にした宛先変成MACアドレスを生成し、該宛先変成MACアドレスを基にハッシュ処理を行って上記特定変成MACアドレスが登録された上記MACアドレスハッシュテーブルを検索するハッシング手段と、上記ハッシング手段におけるハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力する指令出力手段とを備えたことを特徴とするアドレスフィルタリング装置。
- MACアドレスを宛先とする受信フレームの受け取り判断を、該宛先MACアドレスを上記受信フレームから抽出し、特定MACアドレスか否かを識別して行うアドレスフィルタリング装置において、MACアドレスが登録されるMACアドレスハッシュテーブルと、MACアドレスの所定ビット情報を指定するマスク情報を用い、上記特定MACアドレスの上記所定ビット情報を端部にシフトさせて所定値に設定した特定変成MACアドレスを上記MACアドレスハッシュテーブルに登録するアドレスハッシュ設定部と、上記マスク情報を用いて上記宛先MACアドレスの上記所定ビット情報を端部にシフトさせて上記所定値に設定した宛先変成MACアドレスを生成し、該宛先変成MACアドレスを基にハッシュ処理を行って上記特定変成MACアドレスが登録された上記MACアドレスハッシュテーブルを検索するハッシング手段と、上記ハッシング手段におけるハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力する指令出力手段とを備えたことを特徴とするアドレスフィルタリング装置。
- 上記特定MACアドレスとしてマルチキャストアドレスを用い、上記ハッシュ処理を行って得る上記受け取り指令によりマルチキャストアドレスフィルタリングを行うことを特徴とする請求項1〜3のいずれかに記載のアドレスフィルタリング装置。
- 上記マルチキャストアドレスフィルタリングと、ブロードキャストアドレスを用いたブロードキャストアドレスフィルタリングと、特定のユニキャストアドレスを用いたユニキャストアドレスフィルタリングとの3段階で上記宛先MACアドレスのフィルタリングを行うことを特徴とする請求項4記載のアドレスフィルタリング装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002353244A JP2004187114A (ja) | 2002-12-05 | 2002-12-05 | アドレスフィルタリング装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002353244A JP2004187114A (ja) | 2002-12-05 | 2002-12-05 | アドレスフィルタリング装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004187114A true JP2004187114A (ja) | 2004-07-02 |
Family
ID=32754573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002353244A Pending JP2004187114A (ja) | 2002-12-05 | 2002-12-05 | アドレスフィルタリング装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004187114A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007208632A (ja) * | 2006-02-01 | 2007-08-16 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
JP2016509822A (ja) * | 2013-03-06 | 2016-03-31 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | イーサネットパケットの転送 |
-
2002
- 2002-12-05 JP JP2002353244A patent/JP2004187114A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007208632A (ja) * | 2006-02-01 | 2007-08-16 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
US7961614B2 (en) | 2006-02-01 | 2011-06-14 | Sony Corporation | Information processing device, information processing method, and recording medium for reducing consumption of memory capacity |
JP2016509822A (ja) * | 2013-03-06 | 2016-03-31 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | イーサネットパケットの転送 |
US9985818B2 (en) | 2013-03-06 | 2018-05-29 | Alibaba Group Holding Limited | Forwarding ethernet packets |
US10608866B2 (en) | 2013-03-06 | 2020-03-31 | Alibaba Group Holding Limited | Forwarding Ethernet packets |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dai et al. | Bloom filter with noisy coding framework for multi-set membership testing | |
US7526709B2 (en) | Error detection and correction in a CAM | |
US7548944B2 (en) | Statistics collection framework for a network processor | |
US20140307737A1 (en) | Exact Match Lookup with Variable Key Sizes | |
US20030048785A1 (en) | Network processor with single interface supporting tree search engine and CAM | |
US8370274B2 (en) | Apparatuses and methods for deterministic pattern matching | |
US9210082B2 (en) | High speed network bridging | |
US20180219800A1 (en) | Apparatus and method for scalable and flexible access control list lookup in a network switch | |
US6954823B1 (en) | Search engine device and method for generating output search responses from multiple input search responses | |
KR20180080684A (ko) | 메모리에 저장된 데이터 검색 방법 및 시스템 | |
US10243590B1 (en) | Detection of errors in a ternary content addressable memory | |
US10795580B2 (en) | Content addressable memory system | |
JP3604548B2 (ja) | アドレス一致検出装置、通信制御システム及びアドレス一致検出方法 | |
JP2004187114A (ja) | アドレスフィルタリング装置 | |
US9104866B2 (en) | Pattern matching engine, terminal apparatus using the same, and method thereof | |
KR100268221B1 (ko) | 순회 여분 검사를 이용한 랜 스위치의 맥 주소 해슁 방법 및장치 | |
CN113051569A (zh) | 一种病毒检测方法、装置、电子设备及存储介质 | |
JP3558151B2 (ja) | データ検索回路 | |
JP5249859B2 (ja) | スイッチング装置およびスイッチング方法 | |
US10684961B1 (en) | External memory protection for content addressable memory | |
TWI276955B (en) | Method, apparatus, machine accessible medium, and system for performing inserts and lookups in memory | |
JP2002374289A (ja) | 検索システム及びそれに用いる検索条件cam登録方法並びにそのプログラム | |
WO2024016863A1 (zh) | 规则查找方法、装置、设备及计算机可读存储介质 | |
CN111177198B (zh) | 一种用于芯片的内容查找方法 | |
JPS62115554A (ja) | マルチプロセツサシステムにおける記憶保護方式 |