(57)【要約】【課題】ネットワークからのフレームを受信するか否かを判断させるための、宛先ＭＡＣアドレスのアドレスフィルタリングにおける精度を向上させる。【解決手段】２個のＭＡＣアドレスハッシュテーブル１Ａ、１Ｂと、それに対応して２個のＭＡＣアドレスハツシング部２７Ａ、２７Ｂを設け、特定ＭＡＣアドレス３と各ビットを反転した特定反転ＭＡＣアドレスとをそれぞれＭＡＣアドレスハッシュテーブル１Ａ、１Ｂに登録し、ＭＡＣアドレスハツシング部２７Ａ、２７Ｂの一方は、宛先ＭＡＣアドレス１２０を基にハッシュ処理を行ってＭＡＣアドレスハッシュテーブル１Ａを検索し、他方は、宛先ＭＡＣアドレス３の各ビットを反転した宛先反転ＭＡＣアドレス２１を基にハッシュ処理を行ってＭＡＣアドレスハッシュテーブル１Ｂを検索し、双方のハッシュ処理がヒットしたときのみ受信フレームの受け取り指令２２を出力する。【選択図】        図３
2004187114.tif 000002
【特許請求の範囲】
【請求項１】
ＭＡＣアドレスを宛先とする受信フレームの受け取り判断を、該宛先ＭＡＣアドレスを上記受信フレームから抽出し、特定ＭＡＣアドレスか否かを識別して行うアドレスフィルタリング装置において、上記特定ＭＡＣアドレスが登録される第１のＭＡＣアドレスハッシュテーブルと、上記特定ＭＡＣアドレスの各ビットを反転した特定反転ＭＡＣアドレスが登録される第２のＭＡＣアドレスハッシュテーブルと、上記特定ＭＡＣアドレス、特定反転ＭＡＣアドレスをそれぞれ上記第１、第２のＭＡＣアドレスハッシュテーブルに登録するアドレスハッシュ設定部と、上記宛先ＭＡＣアドレスを基にハッシュ処理を行って上記特定ＭＡＣアドレスが登録された上記第１のＭＡＣアドレスハッシュテーブルを検索する第１のハッシング手段と、上記宛先ＭＡＣアドレスの各ビットを反転した宛先反転ＭＡＣアドレスを生成し、該宛先反転ＭＡＣアドレスを基にハッシュ処理を行って上記特定反転ＭＡＣアドレスが登録された上記第２のＭＡＣアドレスハッシュテーブルを検索する第２のハッシング手段と、上記第１、第２のハッシング手段における双方のハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力する指令出力手段とを備えたことを特徴とするアドレスフィルタリング装置。
【請求項２】
ＭＡＣアドレスを宛先とする受信フレームの受け取り判断を、該宛先ＭＡＣアドレスを上記受信フレームから抽出し、特定ＭＡＣアドレスか否かを識別して行うアドレスフィルタリング装置において、ＭＡＣアドレスが登録されるＭＡＣアドレスハッシュテーブルと、ＭＡＣアドレスの所定ビット情報を１に指定するマスク情報を用い、上記特定ＭＡＣアドレスの上記所定ビット情報を１にした特定変成ＭＡＣアドレスを上記ＭＡＣアドレスハッシュテーブルに登録するアドレスハッシュ設定部と、上記マスク情報を用いて上記宛先ＭＡＣアドレスの上記所定ビット情報を１にした宛先変成ＭＡＣアドレスを生成し、該宛先変成ＭＡＣアドレスを基にハッシュ処理を行って上記特定変成ＭＡＣアドレスが登録された上記ＭＡＣアドレスハッシュテーブルを検索するハッシング手段と、上記ハッシング手段におけるハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力する指令出力手段とを備えたことを特徴とするアドレスフィルタリング装置。
【請求項３】
ＭＡＣアドレスを宛先とする受信フレームの受け取り判断を、該宛先ＭＡＣアドレスを上記受信フレームから抽出し、特定ＭＡＣアドレスか否かを識別して行うアドレスフィルタリング装置において、ＭＡＣアドレスが登録されるＭＡＣアドレスハッシュテーブルと、ＭＡＣアドレスの所定ビット情報を指定するマスク情報を用い、上記特定ＭＡＣアドレスの上記所定ビット情報を端部にシフトさせて所定値に設定した特定変成ＭＡＣアドレスを上記ＭＡＣアドレスハッシュテーブルに登録するアドレスハッシュ設定部と、上記マスク情報を用いて上記宛先ＭＡＣアドレスの上記所定ビット情報を端部にシフトさせて上記所定値に設定した宛先変成ＭＡＣアドレスを生成し、該宛先変成ＭＡＣアドレスを基にハッシュ処理を行って上記特定変成ＭＡＣアドレスが登録された上記ＭＡＣアドレスハッシュテーブルを検索するハッシング手段と、上記ハッシング手段におけるハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力する指令出力手段とを備えたことを特徴とするアドレスフィルタリング装置。
【請求項４】
上記特定ＭＡＣアドレスとしてマルチキャストアドレスを用い、上記ハッシュ処理を行って得る上記受け取り指令によりマルチキャストアドレスフィルタリングを行うことを特徴とする請求項１〜３のいずれかに記載のアドレスフィルタリング装置。
【請求項５】
上記マルチキャストアドレスフィルタリングと、ブロードキャストアドレスを用いたブロードキャストアドレスフィルタリングと、特定のユニキャストアドレスを用いたユニキャストアドレスフィルタリングとの３段階で上記宛先ＭＡＣアドレスのフィルタリングを行うことを特徴とする請求項４記載のアドレスフィルタリング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ネットワーク・インタフェース・カード（ＮＩＣ）で受信するフレームのＭＡＣアドレスをフィルタリングするアドレスフィルタリング装置に関するものである。
【０００２】
【従来の技術】
従来のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスフィルタリング回路では、ブロードキャスト／ユニキャスト／マルチキャストフィルタリングの３段階でフィルタリングを行って、受信フレームを受け取るか否かを判断する。マルチキャストアドレスによるフィルタリングは、ハッシング・アルゴリズムにより行い、即ち、受信フレームから抽出したＭＡＣアドレス値を、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）３２演算部で演算して得た結果の上位６ビットをポインタとして、ＭＡＣアドレスハッシング部に入力し、その値をフィルタする６４ビットの配列をインデックスする。ハッシング部によりハッシュがヒットしたことを示すハッシュ検索結果が出力されたときは、この受信フレームを受信ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）に書き込み、ハッシュがヒットしないとの検索結果が得られたときには、受信フレームを廃棄する（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平１１−２７３２４号公報（第４−第６頁、第２，第４図）
【０００４】
【発明が解決しようとする課題】
従来のＭＡＣアドレスフィルタリング回路は以上のように構成されているので、マルチキャストアドレスによるフィルタリングは、ハッシュ処理を使って登録されているＭＡＣアドレスの検索を行う。ＭＡＣアドレスは４８ビットであり、ＣＲＣ演算により３２ビットに変換し、その３２ビットの一部を用いてＭＡＣアドレスハッシュテーブルのインデックスとする。例えばインデックスが６ビットであるとすると、同じインデックス値に対応するＭＡＣアドレスは２４２個存在する。ハッシュ処理による検索でヒットした宛先ＭＡＣアドレスを持つフレームは一旦記憶され、Ｓ／Ｗにて宛先ＭＡＣアドレスのチェックを行い該当しないフレームについては廃棄する必要があるが、ＭＡＣアドレスハッシュテーブルの同じインデックス値に対応するＭＡＣアドレスが多数存在するため、所望の宛先ＭＡＣアドレスでない確率が高く、Ｓ／Ｗでの処理負荷が大きくなるという問題点があった。
【０００５】
この発明は、上記のような問題点を解消するために成されたものであって、ハッシュ処理を用いたＭＡＣアドレスの検索精度を向上させ、宛先ＭＡＣアドレスが登録された特定ＭＡＣアドレスか否かを信頼性良く識別することを目的とする。
【０００６】
【課題を解決するための手段】
この発明に係るアドレスフィルタリング装置は、ＭＡＣアドレスを宛先とする受信フレームの受け取り判断を、該宛先ＭＡＣアドレスを上記受信フレームから抽出し、特定ＭＡＣアドレスか否かを識別して行うもので、第１、第２のＭＡＣアドレスハッシュテーブルと、該第１、第２のＭＡＣアドレスハッシュテーブルにそれぞれＭＡＣアドレスを登録するためのアドレスハッシュ設定部と、ハッシュ処理を行って上記第１、第２のＭＡＣアドレスハッシュテーブルをそれぞれ検索する第１、第２のハッシング手段と、受信フレームの受け取り指令を出力する指令出力手段とを備える。上記第１のＭＡＣアドレスハッシュテーブルには、上記特定ＭＡＣアドレスが登録され、上記第２のＭＡＣアドレスハッシュテーブルには、上記特定ＭＡＣアドレスの各ビットを反転した特定反転ＭＡＣアドレスが登録される。上記アドレスハッシュ設定部は上記特定ＭＡＣアドレス、特定反転ＭＡＣアドレスをそれぞれ上記第１、第２のＭＡＣアドレスハッシュテーブルに登録する。第１のハッシング手段は、上記宛先ＭＡＣアドレスを基にハッシュ処理を行って上記特定ＭＡＣアドレスが登録された上記第１のＭＡＣアドレスハッシュテーブルを検索し、上記第２のハッシング手段は、上記宛先ＭＡＣアドレスの各ビットを反転した宛先反転ＭＡＣアドレスを生成し、該宛先反転ＭＡＣアドレスを基にハッシュ処理を行って上記特定反転ＭＡＣアドレスが登録された上記第２のＭＡＣアドレスハッシュテーブルを検索する。そして、上記指令出力手段は、上記第１、第２のハッシング手段における双方のハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力するものである。
【０００７】
【発明の実施の形態】
実施の形態１．
以下、この発明の実施の形態１を図について説明する。図１は、この発明の実施の形態１によるアドレスフィルタリング回路の構成を示す図である。
図に示すように、ＰＨＹデバイス（物理レイヤ）を介してネットワークから入力される受信フレーム１１４を一時的にフレーム格納部１１２にて格納し、フレーム格納部１１２は受信フレームを出力信号（受信フレーム信号）１１７、１１８として出力する。ＭＡＣアドレス抽出部１０４では、フレーム格納部１１２からの受信フレーム信号１１７を入力として、該受信フレーム信号１１７から宛先ＭＡＣアドレスを抽出し出力信号（宛先ＭＡＣアドレス信号）１２０として出力する。
ＡＮＤ回路１３３では、ＭＡＣアドレス抽出部１０４からの宛先ＭＡＣアドレス信号１２０とオール“１”との論理積をとり、宛先ＭＡＣアドレスがオール“１”のときに出力信号（ブロードキャストフィルタリング指令）１３５を有意とする。
自ＭＡＣアドレス記億部１０８では自ＭＡＣアドレスを保持しており、この自ＭＡＣアドレス記億部１０８からの自ＭＡＣアドレス信号１２３と、ＭＡＣアドレス抽出部１０４からの宛先ＭＡＣアドレス信号１２０とを入力として、比較１１１では、自ＭＡＣアドレス信号１２３と宛先ＭＡＣアドレス信号１２０とを比較し、アドレスが一致している場合には出力信号（ユニキャストフィルタリング指令）１２９を有意とする。
【０００８】
また、図に示すように、第１のハッシング手段としてのＭＡＣアドレスハッシングＡ部２７Ａと、第２のハッシング手段としてのＭＡＣアドレスハッシングＢ部２７Ｂと、これら２つのハッシング部２７Ａ、２７Ｂのそれぞれに対応するＣＲＣ３２演算部１０５Ａ、１０５Ｂを備える。ＣＲＣ３２演算部１０５Ａでは、ＭＡＣアドレス抽出部１０４からの宛先ＭＡＣアドレス信号１２０を入力として、宛先ＭＡＣアドレスに対してＣＲＣ演算を行い、ＭＡＣアドレスハッシングＡ部２７Ａでは、ＣＲＣ演算結果１２４Ａをインデックスとしてハッシュ処理を行い、その結果ヒットしたときに出力信号１３０Ａを有意とする。
ＭＡＣアドレス抽出部１０４からの宛先ＭＡＣアドレス信号１２０はビット否定部２０にも入力され、ビット否定部２０は、宛先ＭＡＣアドレスの各ビットのロジック０、１を反転した宛先反転ＭＡＣアドレス信号２１を出力する。ＣＲＣ３２演算部１０５Ｂでは、ビット否定部２０からの宛先反転ＭＡＣアドレス信号２１を入力として、宛先反転ＭＡＣアドレスに対してＣＲＣ演算を行い、ＭＡＣアドレスハッシングＢ部２７Ｂでは、ＣＲＣ演算結果１２４Ｂをインデックスとしてハッシュ処理を行い、その結果ヒットしたときに出力信号１３０Ｂを有意とする。なお、ハッシュ処理に用いるハッシュテーブルについては後述する。
ＭＡＣアドレスハッシング部２７Ａ、２７Ｂの出力信号１３０Ａ、１３０Ｂは、指令出力手段としてのＡＮＤ回路２６に入力され、ＡＮＤ回路２６は論理積をとりマルチキャストフィルタリング指令となる受信フレームの受け取り指令信号２２を出力する。
【０００９】
一方、ＣＲＣ３２検証部１０６では、フレーム格納部１１２からの受信フレーム信号１１８を入力として、該受信フレーム信号１１８に対してＣＲＣ演算を行い、その結果が、後述する受信フレームのＦＣＳフィールドに設定された値と一致するときに正常と判断し、正常と判断された受信フレーム信号１２５を出力する。フレーム書き込み制御部１１３では、ブロードキャストフィルタリング指令１３５、ユニキャストフィルタリング指令１２９、受け取り指令信号（マルチキャストフィルタリング指令）２２のいずれかが有意となるとき、受信フレーム信号１２５を受信ＦＩＦＯに出力するとともに書き込みを行う。
【００１０】
図２はネットワーク上で送受信されるフレームの構成を示す図である。図において、フレーム９は、宛先ＭＡＣアドレス１０、発信元ＭＡＣアドレス１１、タイプ１２、データ１３、およびＦＣＳ（フレームチェツクシーケンス）１４の各フィールドで構成される。
【００１１】
図３は、ＭＡＣアドレスハッシング部２７Ａ、２７Ｂで行うハッシュ処理のためのＭＡＣアドレスハッシュ回路の構成図である。なお、このＭＡＣアドレスハッシュ回路は、回路の一部を図１では図示を省略したが、図１で示したアドレスフィルタリング回路に含まれるものである。
図に示すように、ＭＡＣアドレスハッシングＡ部２７Ａでは、ＣＲＣ演算結果１２４Ａをインデックス６Ａとして、ハッシュ処理によりＭＡＣアドレスハッシュテーブル１Ａを検索し、ＭＡＣアドレスハッシングＢ部２７Ｂでは、ＣＲＣ演算結果１２４Ｂをインデックス６Ｂとして、ハッシュ処理によりＭＡＣアドレスハッシュテーブル１Ｂを検索する。７Ａ、７Ｂはインデックス６Ａ、６Ｂを基に、ＭＡＣアドレスハッシュテーブル１Ａ、１Ｂをそれぞれアクセスした結果、ヒットした（インデックスで参照されるビットがハッシュテーブルに設定されている）ときに有意となる信号である。
【００１２】
また、ＭＡＣアドレスハッシュテーブル１Ａ、１Ｂにアクセスし登録設定を行うＭＡＣアドレスハッシュ設定部２８を備え、ＭＡＣアドレスハッシュ設定部２８は、ＣＰＵ等から出力される特定のマルチキャストアドレスである特定ＭＡＣアドレス信号３をＣＲＣ３２演算部１０５ＣにてＣＲＣ演算した結果４を入力として、ＭＡＣアドレスハッシュテーブル１Ａに対して、特定ＭＡＣアドレス３をインデックス（特定ＭＡＣアドレス登録信号）５Ａを用いて登録し、ＭＡＣアドレスハッシュテーブル１Ｂに対して、特定ＭＡＣアドレス３の各ビットを反転した特定反転ＭＡＣアドレスをインデックス（特定反転ＭＡＣアドレス登録信号）５Ｂを用いて登録する。８Ａ、８ＢはＭＡＣアドレスハッシュテーブル１Ａ、１Ｂにそれぞれ登録を行うことを示す制御信号であり、２９はＭＡＣアドレスハッシュテーブル１Ａ、１Ｂを識別するテーブル指示信号である。
【００１３】
マルチキャストアドレスによるマルチキャストフィルタリングの動作、即ち、受け取り指令信号（マルチキャストフィルタリング指令）２２の出力に係る動作について図１、図３に基づいて以下に詳述する。
アドレスフィルタリング回路では、ネットワークからフレームを受信するに先立って、特定ＭＡＣアドレスを予め登録する。即ち、ＣＰＵから出力される特定ＭＡＣアドレス信号３をＣＲＣ３２演算部１０５ＣにてＣＲＣ演算し、ＭＡＣアドレスハッシュ設定部２８は、ＭＡＣアドレスハッシュテーブル１Ａに対して、特定ＭＡＣアドレス３を特定ＭＡＣアドレス登録信号５Ａを用いて登録し、ＭＡＣアドレスハッシュテーブル１Ｂに対して、特定ＭＡＣアドレス３の各ビットのロジック０、１を反転した特定反転ＭＡＣアドレスを特定反転ＭＡＣアドレス登録信号５Ｂを用いて登録する。
【００１４】
一方、ネットワークから入力される受信フレームから抽出された宛先ＭＡＣアドレス信号１２０は、ＣＲＣ演算されて、ＭＡＣアドレスハッシングＡ部２７Ａでは、ＣＲＣ演算結果１２４Ａをインデックス６Ａとして、ハッシュ処理により特定ＭＡＣアドレス３が登録されたＭＡＣアドレスハッシュテーブル１Ａを検索し、ヒットしたときに出力信号１３０Ａを有意とする。同時に、宛先ＭＡＣアドレス信号１２０の各ビットのロジック０、１を反転した宛先反転ＭＡＣアドレス信号２１を生成してＣＲＣ演算を行い、ＭＡＣアドレスハッシングＢ部２７Ｂでは、ＣＲＣ演算結果１２４Ｂをインデックス６Ｂとして、ハッシュ処理により特定反転ＭＡＣアドレスが登録されたＭＡＣアドレスハッシュテーブル１Ｂを検索し、ヒットしたときに出力信号１３０Ｂを有意とする。２つの出力信号１３０Ａ、１３０Ｂの双方が有意の時、ＡＮＤ回路２６は受け取り指令信号２２を出力する。
【００１５】
なお、端末装置に実装されるＮＩＣではユニキャストアドレスは自ＭＡＣアドレスだけであるため、ＣＰＵから受け取ってＭＡＣアドレスハッシュテーブル１Ａ、１Ｂに登録する特定ＭＡＣアドレス３は通常マルチキャストアドレスであるが、ユニキャストアドレスを用いることも可能である。
【００１６】
この実施の形態では、２個のＭＡＣアドレスハッシュテーブル１Ａ、１Ｂを設け、それぞれに対応してＭＡＣアドレスハツシング部２７Ａ、２７Ｂを設け、両方でヒットしたときのみ受け取り指令２２を出力するようにしたため、ハッシュ処理を用いた検索精度を向上させることができ、宛先ＭＡＣアドレスが登録された特定ＭＡＣアドレスか否かを信頼性良く識別できる。
またアドレスフィルタリングは、ブロードキャスト／ユニキャスト／マルチキャストフィルタリングの３段階で行うため、効率的にアドレスフィルタリングが行え、マルチキャストフィルタリングの精度が向上するため、全体のフィルタリング精度が向上し、信頼性の高いアドレスフィルタリング回路が得られる。
さらに、受け取り指令２２により一旦記憶された受信フレームは、その後、Ｓ／Ｗにて宛先ＭＡＣアドレスのチェックを行い該当しないフレームについては廃棄する必要があるが、所望の宛先ＭＡＣアドレスである確率が増大するため、Ｓ／Ｗでの処理負荷が低減できる。
【００１７】
実施の形態２．
以下、この発明の実施の形態２を図に基づいて説明する。図４は、この発明の実施の形態２によるアドレスフィルタリング回路の構成を示す図である。また、図５は、ハッシュ処理のためのＭＡＣアドレスハッシュ回路の構成図である。なお、このＭＡＣアドレスハッシュ回路は、回路の一部を図４では図示を省略したが、図４で示したアドレスフィルタリング回路に含まれるものである。
上記実施の形態１では、２個のＭＡＣアドレスハッシュテーブル１Ａ、１Ｂを設け、それぞれに対応してＭＡＣアドレスハツシング部２７Ａ、２７Ｂを設けたが、この実施の形態では、ＭＡＣアドレスハッシュテーブル１、ＭＡＣアドレスハッシング部１１２はそれぞれ１個のみで、ＣＲＣ演算の前処理として後述するマスク処理を行う。
【００１８】
図に示すように、ネットワークからフレームを受信するに先立って、特定ＭＡＣアドレスを予め登録する。ＣＰＵから出力される特定ＭＡＣアドレス信号３はＣＲＣ演算されるに先立って、マスク処理部１６Ｂにてマスク処理される。即ち、マスク処理部１６Ｂでは、図６に示すように、ＣＰＵから特定ＭＡＣアドレス信号３と共に、ＭＡＣアドレスの所定ビット情報を１に指定するマスク情報２３を入力し、ＯＲ回路２４にてこれらの論理和をとり、特定ＭＡＣアドレス信号３の所定ビット情報を１に指定した特定変性ＭＡＣアドレス信号１７Ｂを出力する。マスク情報２３の各ビットの意味は、“０”はマスクなし、“１”はマスクありである。“０”を指定したビットについてはＭＡＣアドレスの値がマスク処理部１６Ｂの出力となり、“１”を指定したビットについてはＭＡＣアドレスの値に関わらずマスク処理部１６Ｂの出力は“１”となる。マスクを行う必要がない場合にはマスク情報２３はすべで“０”とする。マスク処理部１６Ｂからの特定変性ＭＡＣアドレス信号１７ＢはＣＲＣ３２演算部１０５ＣにてＣＲＣ演算され、ＭＡＣアドレスハッシュ設定部２は、ＣＲＣ演算結果４を入力として、ＭＡＣアドレスハッシュテーブル１Ａに対して、特定変成ＭＡＣアドレス１７Ｂをインデックス５を用いて登録する。８はＭＡＣアドレスハッシュテーブル１に登録を行うことを示す制御信号である。
【００１９】
一方、ネットワークから入力される受信フレームから抽出された宛先ＭＡＣアドレス信号１２０も同様に、ＣＲＣ演算されるに先立って、マスク処理部１６Ａにてマスク処理される。即ち、マスク処理部１６Ａでは、ＣＰＵから宛先ＭＡＣアドレス信号１２０と共に、マスク情報２３を入力し、ＯＲ回路２４にてこれらの論理和をとり、宛先ＭＡＣアドレス信号１２０の所定ビット情報を１に指定した宛先変性ＭＡＣアドレス信号１７Ａを出力する。マスク処理部１６Ａからの宛先変性ＭＡＣアドレス信号１７ＡはＣＲＣ３２演算部１０５にてＣＲＣ演算されて、ＭＡＣアドレスハッシング部１１２では、ＣＲＣ演算結果１２４をインデックス６として、ハッシュ処理により特定変成ＭＡＣアドレス１７Ｂが登録されたＭＡＣアドレスハッシュテーブル１を検索し、ヒットしたときに有意となる受け取り指令信号（マルチキャストフィルタリング指令）１３０を出力する。７はインデックス６を基に、ＭＡＣアドレスハッシュテーブル１をアクセスした結果、ヒットした（インデックスで参照されるビットがハッシュテーブルに設定されている）ときに有意となる信号である。
【００２０】
ＣＲＣ３２検証部１０６では、上記実施の形態１と同様に、受信フレーム信号１１８を入力として、該受信フレーム信号１１８に対してＣＲＣ演算を行って正常か否か判断し、正常と判断された受信フレーム信号１２５を出力する。フレーム書き込み制御部１１３では、上記実施の形態１で示したように出力されたブロードキャストフィルタリング指令１３５、ユニキャストフィルタリング指令１２９、および上記マスク処理を用いたハッシュ処理により出力された受け取り指令信号（マルチキャストフィルタリング指令）１３０のいずれかが有意となるとき、受信フレーム信号１２５を受信ＦＩＦＯに出力するとともに書き込みを行う。
【００２１】
この実施の形態によれば、マスク情報２３によりマスク処理を行うため、共通のビットパターンを持つ複数の特定ＭＡＣアドレス３を１つのＭＡＣアドレスである特定変成ＭＡＣアドレス１７Ｂで表し、一括してＭＡＣアドレスハッシングテーブル１に登録できる。例えば、ＭＡＣアドレス４８ビットのうち、所定位置の２ビット分が任意で他の４６ビットが固定であるとき、所定位置の２ビットを“１１”とすることで“００”〜“１１”までの４通りのアドレスを１通りで登録できる。このように登録数を削減でき、ハッシュ処理が誤ってヒットする確率を減らすことができる。このため、ハッシュ処理を用いた検索精度を向上させることができ、宛先ＭＡＣアドレスが登録された特定ＭＡＣアドレスか否かを信頼性良く識別でき、実施の形態１と同様の効果が得られる。
【００２２】
実施の形態３．
以下、この発明の実施の形態３を図に基づいて説明する。図７は、この発明の実施の形態３によるアドレスフィルタリング回路の構成を示す図である。また、図８は、ハッシュ処理のためのＭＡＣアドレスハッシュ回路の構成図である。なお、このＭＡＣアドレスハッシュ回路は、回路の一部を図７では図示を省略したが、図７で示したアドレスフィルタリング回路に含まれるものである。
上記実施の形態２では、ＭＡＣアドレスの所定ビット情報を１に指定するマスク処理を用いたが、この実施の形態では、ＣＲＣ演算の前処理としてＭＡＣアドレスの所定ビット情報をシフトさせる処理を行う。
【００２３】
図に示すように、ネットワークからフレームを受信するに先立って、特定ＭＡＣアドレスを予め登録する。ＣＰＵから出力される特定ＭＡＣアドレス信号３はＣＲＣ演算されるに先立って、マスクシフト部１８Ｂにてシフト処理される。即ち、マスクシフト１８Ｂでは、図９に示すように、ＣＰＵから特定ＭＡＣアドレス信号３と共に、ＭＡＣアドレスの所定ビット情報を指定するマスク情報２３Ａを用い、特定ＭＡＣアドレス信号３の所定ビット情報を端部（この場合左端）にシフトさせて所定値（この場合０）に設定して、特定変性ＭＡＣアドレス信号１９Ｂを出力する。マスク情報２３Ａの各ビットの意味は、“０”はマスクなし、“１”はマスクありである。“１”を指定したビットについてはＭＡＣアドレスの該当ビットは削除しビットのシフトを行う。“０”を指定したビットについてはＭＡＣアドレスの値を出力とする。マスクを行う必要がない場合にはマスク情報２３Ａはすべで“０”とする。
マスクシフト部１８Ｂからの特定変性ＭＡＣアドレス信号１９ＢはＣＲＣ３２演算部１０５ＣにてＣＲＣ演算され、ＭＡＣアドレスハッシュ設定部２は、ＣＲＣ演算結果４を入力として、ＭＡＣアドレスハッシュテーブル１Ａに対して、特定変成ＭＡＣアドレス１７Ｂをインデックス５を用いて登録する。
【００２４】
一方、ネットワークから入力される受信フレームから抽出された宛先ＭＡＣアドレス信号１２０も同様に、ＣＲＣ演算されるに先立って、マスクシフト部１８Ａにてシフト処理される。即ち、マスクシフト部１８Ａでは、ＣＰＵから宛先ＭＡＣアドレス信号１２０と共に、マスク情報２３Ａを入力し、宛先ＭＡＣアドレス信号１２０の所定ビット情報を端部（この場合左端）にシフトさせて所定値（この場合０）に設定して、宛先変性ＭＡＣアドレス信号１９Ａを出力する。マスクシフト部１８Ａからの宛先変性ＭＡＣアドレス信号１９ＡはＣＲＣ３２演算部１０５にてＣＲＣ演算されて、ＭＡＣアドレスハッシング部１１２では、ＣＲＣ演算結果１２４をインデックス６として、ハッシュ処理により特定変成ＭＡＣアドレス１９Ｂが登録されたＭＡＣアドレスハッシュテーブル１を検索し、ヒットしたときに有意となる受け取り指令信号（マルチキャストフィルタリング指令）１３０を出力する。
【００２５】
ＣＲＣ３２検証部１０６では、上記実施の形態１と同様に、受信フレーム信号１１８を入力として、該受信フレーム信号１１８に対してＣＲＣ演算を行って正常か否か判断し、正常と判断された受信フレーム信号１２５を出力する。フレーム書き込み制御部１１３では、上記実施の形態１で示したように出力されたブロードキャストフィルタリング指令１３５、ユニキャストフィルタリング指令１２９、および上記マスク情報２３Ａによるシフト処理を用いたハッシュ処理により出力された受け取り指令信号（マルチキャストフィルタリング指令）１３０のいずれかが有意となるとき、受信フレーム信号１２５を受信ＦＩＦＯに出力するとともに書き込みを行う。
【００２６】
この発明によれば、マスク情報２３Ａによりシフト処理を行うため、共通のビットパターンを持つ複数の特定ＭＡＣアドレス３を１つのＭＡＣアドレスである特定変成ＭＡＣアドレス１９Ｂで表し、一括してＭＡＣアドレスハッシングテーブル１に登録できるため、登録数を削減でき、ハッシュ処理が誤ってヒットする確率を減らすことができる。このため、ハッシュ処理を用いた検索精度を向上させることができ、宛先ＭＡＣアドレスが登録された特定ＭＡＣアドレスか否かを信頼性良く識別でき、実施の形態１と同様の効果が得られる。
【００２７】
【発明の効果】
この発明に係るアドレスフィルタリング装置は、ＭＡＣアドレスを宛先とする受信フレームの受け取り判断を、該宛先ＭＡＣアドレスを上記受信フレームから抽出し、特定ＭＡＣアドレスか否かを識別して行うもので、第１、第２のＭＡＣアドレスハッシュテーブルと、該第１、第２のＭＡＣアドレスハッシュテーブルにそれぞれＭＡＣアドレスを登録するためのアドレスハッシュ設定部と、ハッシュ処理を行って上記第１、第２のＭＡＣアドレスハッシュテーブルをそれぞれ検索する第１、第２のハッシング手段と、受信フレームの受け取り指令を出力する指令出力手段とを備える。上記第１のＭＡＣアドレスハッシュテーブルには、上記特定ＭＡＣアドレスが登録され、上記第２のＭＡＣアドレスハッシュテーブルには、上記特定ＭＡＣアドレスの各ビットを反転した特定反転ＭＡＣアドレスが登録される。上記アドレスハッシュ設定部は上記特定ＭＡＣアドレス、特定反転ＭＡＣアドレスをそれぞれ上記第１、第２のＭＡＣアドレスハッシュテーブルに登録する。第１のハッシング手段は、上記宛先ＭＡＣアドレスを基にハッシュ処理を行って上記特定ＭＡＣアドレスが登録された上記第１のＭＡＣアドレスハッシュテーブルを検索し、上記第２のハッシング手段は、上記宛先ＭＡＣアドレスの各ビットを反転した宛先反転ＭＡＣアドレスを生成し、該宛先反転ＭＡＣアドレスを基にハッシュ処理を行って上記特定反転ＭＡＣアドレスが登録された上記第２のＭＡＣアドレスハッシュテーブルを検索する。そして、上記指令出力手段は、上記第１、第２のハッシング手段における双方のハッシュ処理がヒットしたときのみ上記受信フレームの受け取り指令を出力するため、ハッシュ処理を用いた検索精度を向上させることができ、宛先ＭＡＣアドレスが登録された特定ＭＡＣアドレスか否かを信頼性良く識別できる。
【図面の簡単な説明】
【図１】この発明の実施の形態１によるアドレスフィルタリング回路の構成図である。
【図２】この発明の実施の形態１によるフレーム構成を示す図である。
【図３】この発明の実施の形態１によるＭＡＣアドレスハッシュ回路の構成図である。
【図４】この発明の実施の形態２によるアドレスフィルタリング回路の構成図である。
【図５】この発明の実施の形態２によるＭＡＣアドレスハッシュ回路の構成図である。
【図６】この発明の実施の形態２によるマスク処理部を説明する図である。
【図７】この発明の実施の形態３によるアドレスフィルタリング回路の構成図である。
【図８】この発明の実施の形態３によるＭＡＣアドレスハッシュ回路の構成図である。
【図９】この発明の実施の形態３によるマスク処理部を説明する図である。
【符号の説明】
１，１Ａ，１Ｂ  ＭＡＣアドレスハッシュテーブル、
２  ＭＡＣアドレスハッシュ設定部、３  特定ＭＡＣアドレス信号、
５Ａ  特定ＭＡＣアドレス登録信号、５Ｂ  特定反転ＭＡＣアドレス登録信号、
１７Ａ，１９Ａ  宛先変成ＭＡＣアドレス信号、
１７Ｂ，１９Ｂ  特定変成ＭＡＣアドレス信号、
２１  宛先反転ＭＡＣアドレス信号、２２  受け取り指令信号、
２３，２３Ａ  マスク情報、２６  指令出力手段としてのＡＮＤ回路、
２７Ａ，２７Ｂ  ハッシング手段としてのＭＡＣアドレスハッシング部、
２８  ＭＡＣアドレスハッシュ設定部、
１１２  ハッシング手段としてのＭＡＣアドレスハッシング部、
１１７，１１８，１２５  受信フレーム信号、
１２０  宛先ＭＡＣアドレス信号、１２９  ユニキャストフィルタリング指令、
１３０  受け取り指令信号、１３５  ブロードキャストフィルタリング指令。
【図１】
2004187114.tif 000003
【図２】
2004187114.tif 000004
【図３】
2004187114.tif 000005
【図４】
2004187114.tif 000006
【図５】
2004187114.tif 000007
【図６】
2004187114.tif 000008
【図７】
2004187114.tif 000009
【図８】
2004187114.tif 000010
【図９】
2004187114.tif 000011