(57)【要約】      （修正有）【課題】スイッチの入力ポートにおいて一定のフレームをフィルタリングする方法を提供する。【解決手段】複数のポートを有するスイッチング装置である。ポートはフレームを受信し、アドレッシング情報がフィルタリングエントリーの１つと一致する場合にはフレームをドロップし、一致しなかった場合にはスイッチングコアに転送する。スイッチングコアは、フレームバッファと、複数のルーティングエントリーであってそれぞれ出力ポートとドロップ条件とのうち少なくとも１つを示すルーティングエントリーを保持する転送データベースと、フレームバッファ中のフレームのヘッダからアドレッシング情報を識別し、アドレッシング情報に対応する転送データベース中のルーティングエントリーの１つを識別する。ルーティングエントリーがドロップ条件を示す場合にはフレームをドロップし、ドロップ条件を示すキャッシュ更新を、フレームを受け取ったポートに通知する。【選択図】図１
2006295937.tif 000002
【特許請求の範囲】
【請求項１】
スイッチング装置であって、
複数のポートを有し、
前記ポートはそれぞれ１つ以上のフィルタリングエントリーを有するキャッシュを有し、
前記ポートはそれぞれ、ペイロードとアドレッシング情報を指定したヘッダとを含むフレームを受信し、前記アドレッシング情報が前記フィルタリングエントリーの１つと一致するか判断し、前記アドレッシング情報が前記フィルタリングエントリーの１つと一致した場合には前記フレームをドロップし、前記アドレッシング情報が前記フィルタリングエントリーの１つと一致しなかった場合には前記フレームをスイッチングコアに転送するように動作可能であり、
前記スイッチングコアは、
前記ポートから転送されたフレームを格納するように動作可能なフレームバッファと、
複数のルーティングエントリーであってそれぞれ出力ポートとドロップ条件とのうち少なくとも１つを示すルーティングエントリーを保持するように動作可能な転送データベースと、
前記フレームバッファ中のフレームのそれぞれについて、前記フレームのヘッダからアドレッシング情報を識別し、前記アドレッシング情報に対応する前記転送データベース中のルーティングエントリーの１つを識別し、対応するルーティングエントリーが出力ポートを示す場合には前記フレームを前記示された出力ポートに転送し、対応するルーティングエントリーがドロップ条件を示す場合には前記フレームをドロップし、前記ドロップ条件を示すキャッシュ更新を前記フレームを受け取ったポートに通知するように動作可能であることを特徴とするスイッチング装置。
【請求項２】
請求項１に記載のスイッチング装置であって、
前記ポートはそれぞれキャッシュ更新に応じて選択されたフィルタリングエントリーを更新するようにさらに動作可能であることを特徴とするスイッチング装置。
【請求項３】
請求項１に記載のスイッチング装置であって、
単一チップに実装されており、それぞれのポートは毎秒１０ギガビット以上で動作可能であることを特徴とするスイッチング装置。
【請求項４】
請求項１に記載のスイッチング装置であって、
前記コントローラは、前記転送データベースに対する更新を受け取り、前記更新に応じて前記転送データベースを修正し、前記更新が前記ルーティングエントリーの１つにより示された少なくとも１つのドロップ条件を修正することを判断し、１つ以上の前記ポートに前記修正されたドロップ条件を示すキャッシュ更新を通知するようにさらに動作可能であり、
前記修正されたドロップ条件を示す前記キャッシュ更新を受け取る前記１つ以上のポートは、前記キャッシュ更新に応じてルーティングエントリーを更新するようにさらに動作可能であり、
前記転送データベースと前記ポートにおける動作順序は、前記転送データベースと各ポート中のキャッシュとの間のコヒーレンスを維持するようにミラーされることを特徴とするスイッチング装置。
【請求項５】
請求項１に記載のスイッチング装置であって、
前記ドロップ条件のうちの少なくとも１つは、仮想ローカルエリアネットワーク（ＶＬＡＮ）アドレッシング違反とＭＳＴＰポート状態違反のうちの選択された１つに対応することを特徴とするスイッチング装置。
【請求項６】
請求項５に記載のスイッチング装置であって、
前記ＶＬＡＮアドレッシング違反は、入来ポートＶＬＡＮアドレッシング違反及び出退ポートＶＬＡＮアドレッシング違反のうち選択された１つを含むことを特徴とするスイッチング装置。
【請求項７】
請求項１に記載のスイッチング装置であって、
前記アドレッシング情報はソースアドレス及び宛先アドレスを含み、
前記コントローラは、前記転送データベースにアクセスして、前記ソースアドレス及び前記宛先アドレスのうちの１つがドロップ条件を有するか判断することを特徴とするスイッチング装置。
【請求項８】
フレーム処理方法であって、
スイッチのポートにおいてペイロードとアドレッシング情報を指定するヘッダとを含むフレームを受信するステップと、
前記ポートと関連するキャッシュに複数のフィルタリングエントリーを保持するステップと、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致するか判断するステップと、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致する場合、前記フレームをドロップするステップと、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致しない場合、前記フレームをスイッチングコアに転送するステップと、
前記スイッチングコア内のフレームバッファに前記ポート及び複数の他のポートから転送されたフレームを格納するステップと、
それぞれ少なくとも出力ポートとドロップ条件の１つを含む複数のルーティングエントリーを転送データベースに保持するステップと、
前記フレームバッファ中の各フレームについて、
前記フレームのヘッダからアドレッシング情報を識別するステップと、
前記アドレッシング情報に対応する前記転送データベース中のルーティングエントリーの１つを特定するステップと、
前記対応するルーティングエントリーが出力ポートを示す場合、前記フレームを前記示された出力ポートに転送するステップと、
前記対応するルーティングエントリーがドロップ条件を示す場合、前記フレームをドロップし、前記フレームを受信したポートに前記ドロップ条件を示すキャッシュ更新を通知するステップと、を有することを特徴とする方法。
【請求項９】
フレーム処理プログラムであって、
前記プログラムは媒体中に符号化されており、実行されたときに、
スイッチのポートにおいてペイロードとアドレッシング情報を指定するヘッダとを含むフレームを受信し、
前記ポートと関連するキャッシュに複数のフィルタリングエントリーを保持し、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致するか判断し、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致する場合、前記フレームをドロップし、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致しない場合、前記フレームをスイッチングコアに転送し、
前記スイッチングコア内のフレームバッファに前記ポート及び複数の他のポートから転送されたフレームを格納し、
それぞれ少なくとも出力ポートとドロップ条件の１つを含む複数のルーティングエントリーを転送データベースに保持し、
前記フレームバッファ中の各フレームについて、
前記フレームのヘッダからアドレッシング情報を識別し、
前記アドレッシング情報に対応する前記転送データベース中のルーティングエントリーの１つを特定し、
前記対応するルーティングエントリーが出力ポートを示す場合、前記フレームを前記示された出力ポートに転送し、
前記対応するルーティングエントリーがドロップ条件を示す場合、前記フレームをドロップし、前記フレームを受信したポートに前記ドロップ条件を示すキャッシュ更新を通知するように動作可能であることを特徴とするロジック。
【請求項１０】
フレーム処理システムであって、
スイッチのポートにおいてペイロードとアドレッシング情報を指定するヘッダとを含むフレームを受信する手段と、
前記ポートと関連するキャッシュに複数のフィルタリングエントリーを保持する手段と、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致するか判断する手段と、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致する場合、前記フレームをドロップする手段と、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致しない場合、前記フレームをスイッチングコアに転送する手段と、
前記スイッチングコア内のフレームバッファに前記ポート及び複数の他のポートから転送されたフレームを格納する手段と、
それぞれ少なくとも出力ポートとドロップ条件の１つを含む複数のルーティングエントリーを転送データベースに保持する手段と、
前記フレームバッファ中の各フレームについて、
前記フレームのヘッダからアドレッシング情報を識別する手段と、
前記アドレッシング情報に対応する前記転送データベース中のルーティングエントリーの１つを特定する手段と、
前記対応するルーティングエントリーが出力ポートを示す場合、前記フレームを前記示された出力ポートに転送する手段と、
前記対応するルーティングエントリーがドロップ条件を示す場合、前記フレームをドロップし、前記フレームを受信したポートに前記ドロップ条件を示すキャッシュ更新を通知する手段と、を有することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信に関し、特に、スイッチの入力ポートにおけるフレームフィルタリングに関する。
【背景技術】
【０００２】
ネットワークにおいて、スイッチは異なるネットワークコンポーネント間のネットワークトラフィックをルーティングする。一般的に、これらのスイッチはトラフィックをどう処理するかを示すデータベースを保持している。
【発明の開示】
【課題を解決するための手段】
【０００３】
本発明により、スイッチの入力ポートにおいて一定のフレームをフィルタリングする方法を提供する。実施形態によると、入力ポートにおいてフレームドロップ決定を可能とすることにより、入力ポートにおいてフレームをフィルタリングする方法と装置を提供する。入力ポートはフィルタリング情報を記憶し、一定のフィルタリング決定をする。この決定には、例えば、ＶＬＡＮアドレッシング違反を伴うフィルタをドロップする決定を含んでもよい。
【０００４】
一実施形態によると、スイッチング装置は複数のポートを有する。各ポートはキャッシュを有し、そのキャッシュは１つ以上のフィルタリングエントリーを有する。各ポートはペイロードと、アドレッシング情報を指定するヘッダとを含むフレームを受信する。各ポートは、そのアドレッシング情報がフィルタリングエントリーの１つと一致するかどうか判断し、アドレッシング情報がフィルタリングエントリーの１つと一致する場合、そのフレームをドロップし、そのアドレッシング情報がフィルタリングエントリーの１つと一致しない場合、そのフレームをスイッチングコアに転送する。スイッチング装置は、スイッチングコアも有する。スイッチングコアは、ポートから転送されたフレームを格納することができるフレームバッファを有する。スイッチング装置は、また、複数のルーティングエントリーを保持できる転送データベースも有する。各ルーティングエントリーは、出力ポート及びドロップ条件のうち少なくとも１つを示す。スイッチング装置はコントローラも有する。フレームバッファの各フレームについて、コントローラは、前記フレームのヘッダからアドレッシング情報を識別し、前記アドレッシング情報に対応する前記転送データベース中のルーティングエントリーの１つを特定し、前記対応するルーティングエントリーが出力ポートを示す場合、前記フレームを前記示された出力ポートに転送し、前記対応するルーティングエントリーがドロップ条件を示す場合、前記フレームをドロップし、前記フレームを受信したポートに前記ドロップ条件を示すキャッシュ更新を通知することができる。
【発明の効果】
【０００５】
本発明の実施形態は、様々な技術的利点を提供する。例えば、これらは、スイッチの入力ポートがそのスイッチの中央または共有の構成要素にアクセスすることなしに無効のフレームをドロップすることができるメカニズムを提供する。入力ポートがフレームをドロップすることができるので、スイッチの転送データベースへのアクセス回数を減らすことができる。一部の実施形態において、スイッチのフレームバッファに必要なメモリ容量を減らすことができる。一般的に、スイッチがフレームの適当な出力ポートを決定する間、フレームバッファがそのフレームを記憶する。入力ポートにおけるフレームドロップ決定を可能とすることにより、フレームバッファは、スイッチがドロップする必要があると判断する一定のフレームを記憶しなくても済む。よって、必要なフレームバッファのサイズを小さくすることができる。実施形態によっては、入力ポートにより記憶されたフィルタリング情報を選択して転送データベースとフレームバッファの使用を減らすと共に、入力ポートのサイズを最小化する。また、一部の実施形態においては、転送データベースへのアクセス回数が減るので、スイッチのスループットが高くなる。最後に、実施形態によっては、スイッチコアが、転送データベースと各ポートのキャッシュとの間のコヒーレンスを維持する。よって、入力ポートにあるキャッシュを更新することなしに、転送データベースを更新することができる。
【０００６】
本発明の他の技術的利点は、以下の図面、説明、及び請求項から当業者には明らかであろう。さらにまた、具体的な利点を上記したが、実施形態によっては、上記の利点の全て含むものもあり、一部のみ含むものもあり、またはまったく含まないものもある。
【発明を実施するための最良の形態】
【０００７】
図１は、入力ポートにおいてフレームフィルタリングすることにより、フレームを拡張フィルタリングするスイッチ１０を示す図である。図示したように、スイッチ１０はポート１２とスイッチコア３０とを含み、スイッチコア３０はコントローラ１４とスイッチメモリ１６とを含む。スイッチ１０は、図示はしていないが、スイッチングファブリックを含んでいてもよく、このスイッチングファブリックにより接続されて、いずれかのポート１２から、スイッチコア３０、コントローラ１４、スイッチメモリ１６、いずれかまたはすべてのポート１２までのフレーム転送が行われる。スイッチコア３０が、スイッチングファブリックやポート間のフレーム転送をする何らかの好適な構成要素を含んでいてもよい。一般的に、スイッチ１０内の構成要素は協働して、ポート１２に特定のフィルタリング決定をさせることにより、ポート１２において一部のフレームをフィルタする。
【０００８】
各ポート１２は、任意の適当な制御ロジックを含む、フレームを送受信するハードウェアを表している。例えば、ポート１２は、フレームを受信して送信する入力モジュールと出力モジュールとを含んでもよい。フレームという用語は、本明細書においては、アドレッシング情報を含む任意の情報セグメントを意味している。例えば、フレームにはイーサネット（登録商標）フレーム、インターネットプロトコル（ＩＰ）パケット、非同期転送モード（ＡＴＭ）セル、及び／またはその他任意の好適な情報セグメントが含まれる。
【０００９】
図示したように、各ポート１２はポートメモリ１８を含み、そのポートメモリ１８は入力バッファ２０とキャッシュ２２とを含む。入力バッファ２０は対応するポート１２が受信したフレームを格納する。一部の実施形態において、フレームは、スイッチメモリ１６に送られて格納されるまで、入力バッファ２０に格納される。入力バッファ２０は、ポート１２がフレームを処理するまで、そのフレームを格納する。特定の実施形態においては、ポート１２がフレームを受信したときに、そのフレームのヘッダを処理する。それゆえ、フレームを入力バッファ２０に格納することなく、ヘッダに基づいてドロップ決定をすることが可能である。入力バッファ２０は、ポートメモリ１８中の１つの論理ブロックとして示したが、言うまでもなくこれは論理的な描写であり、ポート１２が受信したフレームをバッファするためのどのような構造であっても、どのような動作をするものであってもよい。
【００１０】
キャッシュ２２はフィルタリング情報を保持し、ポート１２におけるフレームフィルタリング決定を可能とする。特定の実施形態においては、キャッシュ２２がスイッチメモリ１６にある転送データベース２６からフィルタリング情報を受け取る。キャッシュ２２は異なるいろいろな方法でフィルタリング情報を格納している。例えば、フィルタリング情報はドロップ条件を含むエントリーとして構成されている。一部の実施形態においては、エントリーはテーブル、データベース、ファイル等に格納される。特定の実施形態において、キャッシュ２２中のエントリーはフレームのヘッダに格納されたアドレスに対応する。一部の実施形態において、各エントリーはそのフィルタリング条件が満たされた時に取るべき動作を指示するものである。また、他の実施形態においては、ポート１２はエントリーが満たされると同じ動作を実行する。特定の実施形態において、ドロップ条件は、例えば次のような動作をすべきことを示している：フレームをドロップする；フレームがブリッジプロトコルデータユニット（ＢＰＤＵ）フレーム（すなわち、設定フレーム）でなければドロップする；フレームをドロップするが学習はする。例えば、キャッシュ２２中の特定のエントリー中のドロップ条件は、そのフィルタリング条件を満たす全てのフレームをさらに別の動作をすることなくドロップすべきことを示している。キャッシュ２２中の他のエントリー中の異なるドロップ条件は、そのフィルタリング条件を満たすすべてのフレームをドロップし、ソースアドレスをスイッチコア３０に送って学習させることを示している。
【００１１】
キャッシュ２２の長さはいろいろである。一部の実施形態において、キャッシュ２２中のエントリー数はスイッチ１０全体のサイズを最小化するように選択される。特定の実施形態において、キャッシュ２２のサイズは所与の数（例えば４つ）のエントリーのみを許容するように設定される。比較的小さいキャッシュ２２を適当なサイズを有する他の構成要素と組み合わせて使用することにより、高速スイッチの全ての構成要素を仮想的に単一チップ上に実装して、毎秒１０ギガビット以上のスピードで動作させることも可能である。一部の実施形態において、キャッシュ２２中のフィルタリング情報は、フレームのヘッダに含まれる情報に対するフレームフィルタリング条件を指定する。
【００１２】
一部の実施形態において、キャッシュ２２は、１つ以上の仮想的ローカルエリアネットワーク（ＶＬＡＮ）に対応するフィルタリング条件を保持する。フレーム違反を識別するため、キャッシュ２２は、フィルタリング条件に違反するＶＬＡＮアドレスをリストにして、または集めて保持している。例えば、キャッシュ２２は、各エントリーに対してＶＬＡＮ−ＩＤ、ポート状態、及び有効ビットを示すテーブルを含んでいてもよい。キャッシュ２２中のエントリーは、一般的に、転送データベース２６から選択された情報をミラー（ｍｉｒｒｏｒ）するものである。キャッシュ２２の例を説明したが、言うまでもなく、キャッシュ２２をどのように構成して、どのように動作させて、対応するポート１２にフレームフィルタリング決定を可能とする情報を保持してもよい。
【００１３】
動作中、ポート１２はフレームを受信して入力バッファ２０に格納する。ポート１２は、次に、キャッシュ２２にアクセスして、キャッシュ２２中のエントリーがフレームヘッダ中の情報と一致するかどうか判断する。一部の実施形態において、キャッシュ２２中の各エントリーは、ＶＬＡＮアドレスに対応する。ポート１２は、フレームのヘッダに含まれるアドレスがキャッシュ２２中のエントリーのどれかに一致するかどうか、判断する。ヘッダ中のアドレスがキャッシュ２２中のエントリーに一致する場合、ポート１２はキャッシュ２２中のエントリーに示されたようにフレームに作用する。特定の実施形態において、キャッシュ２２は、フレームをドロップすべき状況を指定するエントリーのみを含む。例えば、キャッシュ２２は、そのポートに関連したフィルタリング条件に違反するＶＬＡＮアドレスのリストを含む。これらの場合、フレームのヘッダ中のアドレスがキャッシュ２２中のエントリーに一致する場合、入力ポート１２はそのフレームをドロップする。ポート１２は、そのフレームを入力バッファ２０から取り除くか、さもなければそのフレームがドロップされたことを表示する。一方、フレームヘッダ中のアドレスに対応するキャッシュ２２中のエントリーが見つからなければ、そのフレームはスイッチコア３０に送られる。スイッチコア３０の動作は以下に説明する。
【００１４】
ポート１２は、特定の設定とモジュールの構成を含む単一の構成要素として示したが、留意すべきことは、これは論理的な描写であり、ポート１２の構成要素と機能は構成要素の好適ないかなる集まり及び配置によるものであってもよい。ポート１２のいろいろな構成要素により実行される機能は、フレームを送受信してフレームフィルタリング決定をするいかなる好適な装置または構成要素により達成することもできる。
【００１５】
一般的に、コントローラ１４はスイッチ１０の動作を管理する。例えば、コントローラ１４は、ポート１２とスイッチコア３０の間のフレーム転送を管理し、スイッチメモリ１６にアクセスして受信フレームの適切な出力ポート１２を決定し、スイッチメモリ16に格納された情報に基づいてフレームのドロップ条件を判断する。特定の例として、コントローラ１４は、受信ポート１２からスイッチコア３０への受信フレームの転送を管理し、スイッチメモリ１６に格納されたフィルタリング条件に違反するフレームのヘッダ中の情報を識別し、フレームをドロップするように命じる。
【００１６】
図示したように、スイッチ１０は少なくとも３つのポート１２ａ、１２ｂ及び１２ｎを含む。各ポート１２は、独立して情報を受信して処理するように動作可能である。一部の実施形態において、スイッチ１０は仮想ローカルエリアネットワーク（ＶＬＡＮ）を利用する環境で動作するように構成されている。ＶＬＡＮ環境においては、ポート１２は異なるＶＬＡＮに属していてもよい。コントローラ１４は、スイッチメモリ１６に格納されたフィルタリング条件に違反ＶＬＡＮアドレスを有するフレームをドロップする。フレームがフィルタリング条件に違反するのは、例えば、侵入違反（ingress violation）、放出違反（egress violation）、プロトコル違反（マルチプルスパニングツリープロトコル（ＭＳＴＰ）ポート状態違反等）、またはスイッチ１０により監視されているその他の違反をした場合などである。
【００１７】
例として、ポート１２ａと１２ｂが１つのＶＬＡＮ「グループＡ」に属し、ポート１２ｂと１２ｎが別のＶＬＡＮ「グループＢ」に属し、ポート１２ｎが第３のＶＬＡＮ「グループＣ」に属しているとする。ヘッダがＶＬＡＮグループＣのソースアドレスを指定するフレームをポート１２ａが受信すると、ポート１２ａはＶＬＡＮグループＡにしか属していないのでそのフレームは侵入違反をしている。フレーム受信後、ポート１２ａは、キャッシュ２２ａにアクセスして、フレームの１つ以上のアドレスがキャッシュ２２ａ中のエントリーと一致するかどうか判断する。一致するエントリーが見つからなければ、ポート１２ａはそのフレームをスイッチコア３０に転送し、スイッチコア３０がそのフレームをスイッチメモリ１６に格納する。コントローラ１４は、スイッチメモリ１６にアクセスしてそのフレームが侵入違反をしていることを識別した後、スイッチコア３０にそのフレームをドロップするように命令する。
【００１８】
他の例として、ポート１２ｂは、ＶＬＡＮグループＢの学習状態にある時にＶＬＡＮグループＢに宛てられたフレームを受信したとする。学習状態においては、スイッチ１０は、入来フレームをドロップするが、そのフレームのソースアドレスを学習し、転送データベース２６にエントリーを追加・修正してそのソースアドレスを含める。フレーム受信後、ポート１２ｂはキャッシュ２２ｂをチェックする。キャッシュ２２ｂは、フレームはドロップするが、そのフレームのソースアドレスは学習のため転送データベース２６に送ることを示していることがある。他方、ポート１２ｂは、ＶＬＡＮグループＡに宛てられたフレームを受信した時、キャッシュ２２ｂをチェックする。キャッシュ２２ｂにＶＬＡＮグループＡに関する情報がない場合、そのフレームはスイッチコア３０に転送される。
【００１９】
実施形態によっては、コントローラ１４はキャッシュ２２に格納されたフィルタリング情報の更新もする。上記の例において、コントローラ１４は、ポート１２ａにフレームをコントローラ１４に転送させ、後で侵入違反としてそのフレームをドロップしてもよい。コントローラ１４は、次に、このドロップ条件のエントリーをキャッシュ２２ａに追加するようにポート１２ａに命じるキャッシュ更新をポート１２ａに送る。一部の実施形態において、コントローラ１４はキャッシュ２２に直接エントリーを追加する。エントリーは、ポート１２ａが受信したＶＬＡＮグループＣからのソースアドレスを有するフレームはドロップすべきことを指示している。キャッシュ２２中にこのエントリーがあると、ポート１２ａは、将来、同様の違反をしているフレームに対してローカルでドロップ決定をする。
【００２０】
前掲の例は侵入違反をしている受信フレームの処理方法に関する詳細を与えるものであるが、スイッチ１０は、その構成要素が前述の方法または同様な方法を用いていろいろなタイプの違反を処理することを想定している。
【００２１】
コントローラ１４は、スイッチメモリ１６により保持されたフィルタリングまたはルーティング情報の変化に応じて、キャッシュ２２により格納されたフィルタリング情報を更新してもよい。一部の実施形態において、フィルタリングまたはルーティング情報の更新（例えば、ＶＬＡＮメンバーの変更）後、コントローラ１４は、どのポート１２がキャッシュ更新を受け取るべきかを決定する。コントローラ１４は、次に、適当なポート１２にキャッシュ更新を送る。他の実施形態においては、コントローラ１４は、全てのポート１２にキャッシュ更新を送る。更新を受け取ると、ポート１２はその更新に含まれるフィルタリング情報をキャッシュ２２中のポート１２により保持された情報と比較する。ポート１２が更新情報に対応するエントリーをキャッシュ２２に有している場合、ポート１２は受け取ったキャッシュ更新に従ってキャッシュ２２中のエントリーを更新する。ポート１２がキャッシュ２２中に対応するエントリーを有しない場合、ポート１２はキャッシュ更新を受け取っても何も動作しないことを選択することもできる。
【００２２】
コントローラ１４は単一の構成要素が様々な動作を実行するとして図示し、説明したが、留意すべきことは、この描写はスイッチ１０内の動作を分かりやすく説明するための論理的な描写であり、コントローラ１４の機能を構成要素またはロジックのいかなる好適な集まり及び構成により提供してもよいことである。例えば、コントローラ１４により実行されると説明した動作は、ポート１２、スイッチメモリ１６、またはスイッチ１０中のその他の構成要素やロジックにより実行されてもよい。本明細書においては、コントローラ１４は、スイッチ１０のいかなる制御ロジックや回路をも含み、記述し、参照することを意図している。
【００２３】
図示した実施形態において、スイッチ１０はスイッチメモリ１６も含む。スイッチメモリ１６は、図示したように、フレームバッファ２４、転送データベース２６、及びファームウェア２８を含む。スイッチメモリ１６にある情報は個別のファイル、フォルダ、またはその他の記憶要素として図示したが、言うまでもなく、説明した情報は適当ないかなる方法で格納することもできる。このように、スイッチメモリ１６は、適当な制御ロジックも含めて、情報を格納するいかなる好適なハードウェアをも表している。
【００２４】
フレームバッファ２４は、スイッチコア３０内にフレームを格納し、一方、コントローラ１４はフレームの適当な処理の仕方を決定する。特に、フレームバッファ２４がフレームを格納し、フレームを受け取る１つ以上の出力ポートを決定する。実施形態によっては、フレームバッファ２４は、フレームのヘッダとペイロードを別々に格納し、またはフレームのヘッダのコピーを別に格納する。これにより、コントローラ１４はヘッダに含まれた情報を別途、素早く処理することができるようになる。一部の実施形態において、フレームバッファ２４は、ポート１２の１つから、フレームまたはそのペイロードを直接受け取る。実施形態によっては、フレームはポート１２から受け取られるが、フレームのヘッダはスイッチコア３０により処理される。従って、スイッチコア３０は、フレームをフレームバッファ２４に格納することを要せずしてヘッダに基づいてドロップ決定をすることができる。フレームバッファ２４は、スイッチメモリ１６中の１つのロジック要素として示したが、言うまでもなく、様々な方法で構成してもよいし、いかなる好適な仕方で情報を格納してもよい。
【００２５】
転送データベース２６は、転送及びルーティング情報を保持し、ポート１２間におけるフレームのスイッチングを制御する。例えば、転送データベース２６は、フレーム中のアドレッシング情報に基づいてポート１２間における受信フレームの転送を可能とするテーブルまたはその他の好適な情報構造体を含んでいてもよい。コントローラ１４は、次に、転送データベース２６にアクセスして、フレームのルーティング情報を取得する。また、転送データベース２６はドロップ条件を示すものであってもよい。例えば、転送データベース２６は、いろいろなタイプのドロップ条件を指示する多数のエントリーを含んでいてもよい。
【００２６】
実施形態によっては、転送データベース２６は複数のエントリーにより構成されており、一部のエントリーは宛先アドレスを有するフレームに対して適当な出力ポート１２を指定している。エントリーは、実行すべき様々な動作を指定するドロップ条件を示す。その動作には、例えば、フレームをドロップする；フレームがブリッジプロトコルデータユニット（ＢＰＤＵ）フレーム（すなわち、設定フレーム）でない場合、フレームをドロップする；フレームをドロップするが学習する；及びフレームを適当な出力ポート１２に転送する等の動作が含まれる。エントリーは、特定のアドレッシング情報を有するフレームを破棄することを示していてもよい。例えば、各エントリーはＶＬＡＮアドレスを指定してもよい。コントローラ１４は、フレームヘッダにより指定されたＶＬＡＮアドレスに対応するエントリーにアクセスする。そのエントリーがそのフレームをドロップすべきことを示していない場合、コントローラ１４は、転送データベース２６中の宛先アドレスに対応するエントリーにより指定された１つ以上の適当な出力ポート１２へのフレームバッファ２４からのフレーム転送を制御する。
【００２７】
ドロップ条件は、スイッチ１０にフレームをドロップすべきと判断させるフレームの特徴または特性である。例えば、ＶＬＡＮ環境のドロップ条件には次の条件が含まれてもよい：フレーム中のＶＬＡＮアドレスに対応するＶＬＡＮテーブルエントリーが無効である；ＶＬＡＮメンバーシップがすべてゼロである；ＶＬＡＮメンバーシップが「ワンホット」（１メンバーのみを含む）である；ＭＳＴＰのポート状態が入力ポートにおけるフィルタリングを要する等。これらは個別的な例であって、ドロップ条件にはスイッチ１０にフレームをドロップすべきであると判断させる、フレームのいかなる特徴または特性が含まれていてもよい。他の実施形態において、フレームのアドレス以外の態様または特徴をドロップ条件としてチェックする。実施形態によっては、コントローラ１４は、転送データベース２６にアクセスすることにより、フレームにあるドロップ条件を検出する。コントローラ１４は、次に、フレームバッファ２４からドロップしたフレームの削除を指示する。フレームバッファ２４からの削除には、フレームを消去すること、または単にそのフレームの記憶位置が使用可能であることを示すことが含まれる。別の実施形態においては、コントローラ１４は、転送データベース２６の適当なエントリーにアクセスして、帰ってきた情報を使用して、フレームがドロップ条件を満たすかどうか判断する。実施形態によっては、フレームをドロップする前に、フレームまたはそのデータに対していろいろな動作を実行する。その動作は、例えば、学習などである。
【００２８】
ファームウェア２８は、実行された時にスイッチ１０における様々な構成要素の動作を制御する好適なプログラム、ソフトウェア、ハードウェア、ロジック、または回路を含む。ファームウェア２８は、スイッチメモリ１６以外のスイッチ１０の他の部分に含まれていてもよい。また、ファームウェア２８は、スイッチメモリ１６またはスイッチに含まれていてもいなくてもよい。
【００２９】
図示して説明したフレームの拡張フィルタリングシステムの実施形態は、全てを含むことを意図したものではない。スイッチ１０は構成要素の一定の設定と配置を含むものとして示したが、留意すべきことは、この描写は論理的なものであり、スイッチ１０の構成要素と機能は論理的及び物理的に適宜結合しても、分離しても、分散していてもよいということである。また、スイッチ１０の機能性は、構成要素のいかなる好適な集まりと配置により定常することもできる。さらにまた、事実上、スイッチ１０の全ての構成要素は単一チップ上で実施してもよい。スイッチ１０のいろいろな構成要素により実行される機能は、ポート１２に限定されたフィルタリング決定をさせることにより、フレームの拡張フィルタリングを提供するいかなる好適なデバイスやロジックでも達成することもできる。
【００３０】
図２は、入力ポート１２におけるフレームドロップ決定を可能とすることにより、フレームを拡張フィルタリングする方法５０を示すフローチャートである。左側５２には、入力ポート１２で実行される動作と機能が示されている。右側５４には、スイッチコア３０により実行される動作と機能が示されている。一部の実施形態において、これらの動作と機能は、コントローラ１４及び／またはスイッチメモリ１６により実行されてもよい。
【００３１】
ステップ５６において、入力ポート１２はフレームを受信する。ステップ５８において、そのフレームは入力バッファ２０に格納される。次に、ステップ６０において、入力ポート１２は、キャッシュ２２がフレームヘッダの態様に対応するエントリーを有するか判断するため、キャッシュ２２中のフレームのヘッダの１つ以上のアドレスをルックアップする。他の実施形態においては、入力ポート１２は、キャッシュ２２中のフレームの他の態様をルックアップし、キャッシュがフレームに対応するエントリーを有するか判断する。ステップ６２において、入力ポート１２は、フレームヘッダ中のアドレスがキャッシュ２２中のエントリーに対応するか判断する。対応する場合、ステップ６４において、入力ポート１２はそのフレームをドロップする。一部の実施形態において、入力ポート１２は、入力バッファ２０からそのフレームを削除することによりそのフレームをドロップする。これは適当な方法を用いて実現することができる。他の実施形態において、キャッシュ２２は、そのフレームに実行すべき動作または機能を指示する。例えば、キャッシュ２２は、そのフレームのソースアドレスを動的学習のために転送データベース２６に送ることを指示するものでもよい。また、キャッシュ２２は、ＢＰＤＵフレーム以外の全てのフレームをドロップすることを指示するものであってもよい。他の例として、キャッシュ２２は、フレームを入力ポート１２で返送することを指示するものであってもよい。言うまでもなく、キャッシュ２２は、そのエントリーに対応するフレームに対して実行されるべきいかなる適当な動作を指示するものであってもよい。フレームアドレスがキャッシュ２２中のエントリーに対応しない場合、ステップ６６に進む。
【００３２】
ステップ６６において、スイッチコア３０は、入力ポート１２からフレームを受け取り、フレームバッファ２４にそのフレームを格納する。ステップ６８において、コントローラ１４は、フレームヘッダ中のアドレッシング情報と、転送データベース２６中の対応するアドレッシングエントリーにアクセスする。ステップ７０において、転送データベース２６からのアドレッシング情報に基づき、コントローラ１４は、そのフレームをドロップすべきかどうか判断する。コントローラ１４は、ステップ７０においてそのフレームをドロップすべきと判断した時、転送データベース２６中の情報に基づいて、そのフレームのために適当な出力ポートを特定する。次に、コントローラ１４は、ステップ７４において、そのフレームを出力ポート１２に転送し、ステップ５６に戻り、入力ポート１２がフレームを受け取る。
【００３３】
コントローラ１４は、ステップ７０においてフレームをドロップすべきであると判断すると、ステップ７６においてフレームバッファ２４からフレームを削除する。例えば、フレームをドロップするかどうかは、フレームのタイプに基づいてもよい。例えば、フレームは、それが設定フレームであるということを除いてドロップ条件を満たしているかも知れない。この場合、コントローラ１４は、そのフレームが設定フレームであるので、そのフレームをドロップしないと判断する。また、コントローラ１４は、キャッシュ２２に関して説明したのと同様に、フレームまたはそのデータに追加的動作を実行してもよい。次に、ステップ７８において、コントローラ１４は、どの入力ポート１２がキャッシュ更新を受け取るかを決定する。この決定後、ステップ８０において、コントローラ１４は、その入力ポートにキャッシュ更新を送る。更新を受け取った後、入力ポート１２は、キャッシュ２２を修正してコントローラ１４から受け取った更新を組み込む。一部の実施形態において、キャッシュ２２は、エントリーを追加、削除、及びまたは修正することにより修正される。次に、ステップ５６に戻り、入力ポート１２がフレームを受信する。
【００３４】
図２を参照して説明した方法は、単なる例示であり、言うまでもなく、動作の仕方および動作を実行するデバイスは適宜修正することができる。例えば、コントローラ１４が方法５０の多数の動作を実行すると説明したが、言うまでもなく、コントローラ１４により実行されると説明した機能はいかなる好適な構成要素またはロジックにより達成されてもよい。また、本方法は、特定のステップを具体的な順序で実行すると説明したが、当然のことながら、スイッチ１０は、これらのステップの一部または全部をいかなる動作可能な順序で実行する、またはまったく実行しない構成要素のいかなる好適な集まり及び配置も想定している。
【００３５】
図３は、転送データベース２６に更新を反映する、入力ポート１２の１つに対応するキャッシュ２２の更新方法１００を示すフローチャートである。左側１０２には、入力ポート１２において実行される動作と機能が示されている。右側１０４には、スイッチコア３０において実行される動作と機能が示されている。一部の実施形態において、これらの動作と機能は、コントローラ１４及び／またはスイッチメモリ１６により実行される。
【００３６】
ステップ１０６において、コントローラ１４は転送データベース更新を受け取る。転送データベース更新は、転送データベース２６に格納されたフィルタリングまたはルーティング情報を修正する。次に、ステップ１０８において、コントローラ１４は転送データベース２６を修正して、受け取った更新を反映させる。ステップ１１０において、コントローラ１４は、入力ポート１２の全てに更新を送る。ポート１２に送られた更新は、スイッチメモリ１６にある転送データベース２６に更新を通知する。他の実施形態においては、コントローラ１４は、どの入力ポート１２が更新を受け取るかを判断し、その入力ポート１２のみに更新を送る。
【００３７】
ステップ１１２において、入力ポート１２は更新を受け取る。次に、ステップ１１４において、入力ポート１２は、その更新がキャッシュ２２中のエントリーに影響するか判断する。その更新により影響を受けるエントリーがキャッシュ２２になければ、方法１００はここで終了する。更新がエントリーに影響する場合、ステップ１１６において、入力ポート１２は、その更新に従ってキャッシュエントリーを修正する。入力ポート１２は、そのエントリーを変更、削除、及び／または新しいエントリーを追加することにより、キャッシュエントリーを修正する。キャッシュ２２中のエントリーを修正した後、方法１００は終了する。
【００３８】
実施形態によっては、図２と３を参照して説明した方法は、転送データベース２６とポート１２における動作の順序を同一にして、転送データベース２６と各ポート１２のキャッシュ２２間のコヒーレンスを維持するように構成する。例えば、転送データベース２６に（図２のステップ６８のように）アクセスし、次に、（図３のステップ１０８のように）転送データベース２６を修正した場合、キャッシュ２２は、転送データベース２６がアクセス及び修正されたのと同じ順序で、アクセスの結果と修正を受ける（それぞれ図２のステップ８２と、図３のステップ１１６）。一部の実施形態において、これは、転送データベース２６とキャッシュ２２との間に１つの通信経路を設けることにより達成することができる。しかし、図２と３の方法を構成するために、キャッシュのコヒーレンスを補償するいかなる方法または設計を実施してもよい。
【００３９】
図３を参照して説明した方法は単なる例示であって、当然のことながら、上記動作を実行するように示した動作の仕方及びデバイスは、適宜修正することができる。本方法は、特定のステップを具体的な順序で実行するものとして説明したが、当然のことながら、スイッチ１０は、スイッチ１０は、これらのステップの一部または全部を動作可能な順序で実行する、または実行しない構成要素のいかなる好適な集まり及び配置をも想定したものである。
【００４０】
本発明をいくつかの実施形態により説明したが、当業者は多数の変更や修正に想到するであろう。本発明は、添付した請求項の範囲に入るこのような変更と修正も含むものである。
【００４１】
なお、本開示にあたり、以下の付記を記す。
（付記１）
スイッチング装置であって、
複数のポートを有し、
前記ポートはそれぞれ１つ以上のフィルタリングエントリーを有するキャッシュを有し、
前記ポートはそれぞれ、ペイロードとアドレッシング情報を指定したヘッダとを含むフレームを受信し、前記アドレッシング情報が前記フィルタリングエントリーの１つと一致するか判断し、前記アドレッシング情報が前記フィルタリングエントリーの１つと一致した場合には前記フレームをドロップし、前記アドレッシング情報が前記フィルタリングエントリーの１つと一致しなかった場合には前記フレームをスイッチングコアに転送するように動作可能であり、
前記スイッチングコアは、
前記ポートから転送されたフレームを格納するように動作可能なフレームバッファと、
複数のルーティングエントリーであってそれぞれ出力ポートとドロップ条件とのうち少なくとも１つを示すルーティングエントリーを保持するように動作可能な転送データベースと、
前記フレームバッファ中のフレームのそれぞれについて、前記フレームのヘッダからアドレッシング情報を識別し、前記アドレッシング情報に対応する前記転送データベース中のルーティングエントリーの１つを識別し、対応するルーティングエントリーが出力ポートを示す場合には前記フレームを前記示された出力ポートに転送し、対応するルーティングエントリーがドロップ条件を示す場合には前記フレームをドロップし、前記ドロップ条件を示すキャッシュ更新を前記フレームを受け取ったポートに通知するように動作可能であることを特徴とするスイッチング装置。
（付記２）
付記１に記載のスイッチング装置であって、
前記ポートはそれぞれキャッシュ更新に応じて選択されたフィルタリングエントリーを更新するようにさらに動作可能であることを特徴とするスイッチング装置。
（付記３）
付記１に記載のスイッチング装置であって、
単一チップに実装されており、それぞれのポートは毎秒１０ギガビット以上で動作可能であることを特徴とするスイッチング装置。
（付記４）
付記１に記載のスイッチング装置であって、
前記コントローラは、前記転送データベースに対する更新を受け取り、前記更新に応じて前記転送データベースを修正し、前記更新が前記ルーティングエントリーの１つにより示された少なくとも１つのドロップ条件を修正することを判断し、１つ以上の前記ポートに前記修正されたドロップ条件を示すキャッシュ更新を通知するようにさらに動作可能であり、
前記修正されたドロップ条件を示す前記キャッシュ更新を受け取る前記１つ以上のポートは、前記キャッシュ更新に応じてルーティングエントリーを更新するようにさらに動作可能であり、
前記転送データベースと前記ポートにおける動作順序は、前記転送データベースと各ポート中のキャッシュとの間のコヒーレンスを維持するようにミラーされることを特徴とするスイッチング装置。
（付記５）
付記１に記載のスイッチング装置であって、
前記ドロップ条件のうちの少なくとも１つは、仮想ローカルエリアネットワーク（ＶＬＡＮ）アドレッシング違反とＭＳＴＰポート状態違反のうちの選択された１つに対応することを特徴とするスイッチング装置。
（付記６）
付記５に記載のスイッチング装置であって、
前記ＶＬＡＮアドレッシング違反は、入来ポートＶＬＡＮアドレッシング違反及び出退ポートＶＬＡＮアドレッシング違反のうち選択された１つを含むことを特徴とするスイッチング装置。
（付記７）
付記１に記載のスイッチング装置であって、
前記アドレッシング情報はソースアドレス及び宛先アドレスを含み、
前記コントローラは、前記転送データベースにアクセスして、前記ソースアドレス及び前記宛先アドレスのうちの１つがドロップ条件を有するか判断することを特徴とするスイッチング装置。
（付記８）
フレーム処理方法であって、
スイッチのポートにおいてペイロードとアドレッシング情報を指定するヘッダとを含むフレームを受信するステップと、
前記ポートと関連するキャッシュに複数のフィルタリングエントリーを保持するステップと、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致するか判断するステップと、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致する場合、前記フレームをドロップするステップと、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致しない場合、前記フレームをスイッチングコアに転送するステップと、
前記スイッチングコア内のフレームバッファに前記ポート及び複数の他のポートから転送されたフレームを格納するステップと、
それぞれ少なくとも出力ポートとドロップ条件の１つを含む複数のルーティングエントリーを転送データベースに保持するステップと、
前記フレームバッファ中の各フレームについて、
前記フレームのヘッダからアドレッシング情報を識別するステップと、
前記アドレッシング情報に対応する前記転送データベース中のルーティングエントリーの１つを特定するステップと、
前記対応するルーティングエントリーが出力ポートを示す場合、前記フレームを前記示された出力ポートに転送するステップと、
前記対応するルーティングエントリーがドロップ条件を示す場合、前記フレームをドロップし、前記フレームを受信したポートに前記ドロップ条件を示すキャッシュ更新を通知するステップと、を有することを特徴とする方法。
（付記９）
付記８に記載の方法であって、
キャッシュ更新の受け取りに応じて前記ポート中のフィルタリングエントリーを更新するステップをさらに有することを特徴とする方法。
（付記１０）
付記８に記載の方法であって、
前記転送データベースに対する更新を受け取るステップと、
前記更新に応じて前記転送データベースを修正するステップと、
前記更新が前記ルーティングエントリーの１つにより示された少なくとも１つのドロップ条件を修正することを判断するステップと、
前記修正されたドロップ条件示すキャッシュ更新を前記ポートに通知するステップと、
前記キャッシュ更新に応じて、前記キャッシュ更新を受け取るポートのルーティングエントリーを更新するステップと、
前記転送データベース及び前記ポートにおける動作順序を一致（mirroring）させて、前記転送データベースと各ポートのキャッシュの間のコヒーレンスを維持するステップと、をさらに有することを特徴とする方法。
（付記１１）
付記８に記載の方法であって、
前記ドロップ条件の少なくとも１つは、仮想ローカルエリアネットワーク（ＶＬＡＮ）アドレッシング違反及びＭＳＴＰポート状態違反のうち選択された１つに対応することを特徴とする方法。
（付記１２）
付記１１に記載の方法であって、
前記ＶＬＡＮアドレッシング違反は、入来ポートＶＬＡＮアドレッシング違反及び出退ポートＶＬＡＮアドレッシング違反のうち選択された１つを含むことを特徴とする方法。
（付記１３）
付記８に記載の方法であって、
前記転送データベースにアクセスしてソースアドレスと宛先アドレスのうち１つがドロップ条件を有するか判断するステップをさらに有し、
前記アドレッシング情報は、前記ソースアドレスと前記宛先アドレスを含むことを特徴とする方法。
（付記１４）
フレーム処理ロジックであって、
前記ロジックは媒体中に符号化されており、実行されたときに、
スイッチのポートにおいてペイロードとアドレッシング情報を指定するヘッダとを含むフレームを受信し、
前記ポートと関連するキャッシュに複数のフィルタリングエントリーを保持し、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致するか判断し、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致する場合、前記フレームをドロップし、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致しない場合、前記フレームをスイッチングコアに転送し、
前記スイッチングコア内のフレームバッファに前記ポート及び複数の他のポートから転送されたフレームを格納し、
それぞれ少なくとも出力ポートとドロップ条件の１つを含む複数のルーティングエントリーを転送データベースに保持し、
前記フレームバッファ中の各フレームについて、
前記フレームのヘッダからアドレッシング情報を識別し、
前記アドレッシング情報に対応する前記転送データベース中のルーティングエントリーの１つを特定し、
前記対応するルーティングエントリーが出力ポートを示す場合、前記フレームを前記示された出力ポートに転送し、
前記対応するルーティングエントリーがドロップ条件を示す場合、前記フレームをドロップし、前記フレームを受信したポートに前記ドロップ条件を示すキャッシュ更新を通知するように動作可能であることを特徴とするロジック。
（付記１５）
付記１４に記載のロジックであって、
キャッシュ更新に応じて前記ポート中のフィルタリングエントリーを更新するようにさらに動作可能であることを特徴とするロジック。
（付記１６）
付記１４に記載のロジックであって、
前記転送データベースに対する更新を受け取り、
前記更新に応じて前記転送データベースを修正し、
前記更新が前記ルーティングエントリーの１つにより示された少なくとも１つのドロップ条件を修正することを判断し、
前記修正されたドロップ条件示すキャッシュ更新を前記ポートに通知し、
前記キャッシュ更新に応じて、前記キャッシュ更新を受け取るポートのルーティングエントリーを更新し、
前記転送データベース及び前記ポートにおける動作順序を一致（mirroring）させて、前記転送データベースと各ポートのキャッシュの間のコヒーレンスを維持するようにさらに動作可能であることを特徴とするロジック。
（付記１７）
付記１４に記載のロジックであって、
前記ドロップ条件の少なくとも１つは、仮想ローカルエリアネットワーク（ＶＬＡＮ）アドレッシング違反及びＭＳＴＰポート状態違反のうち選択された１つに対応することを特徴とするロジック。
（付記１８）
付記１７に記載のロジックであって、
前記ＶＬＡＮアドレッシング違反は、入来ポートＶＬＡＮアドレッシング違反及び出退ポートＶＬＡＮアドレッシング違反のうち選択された１つを含むことを特徴とするロジック。
（付記１９）
付記１４に記載のロジックであって、
前記転送データベースにアクセスしてソースアドレスと宛先アドレスのうち１つがドロップ条件を有するか判断するようにさらに動作可能であり、
前記アドレッシング情報は、前記ソースアドレスと前記宛先アドレスを含むことを特徴とするロジック。
（付記２０）
フレーム処理システムであって、
スイッチのポートにおいてペイロードとアドレッシング情報を指定するヘッダとを含むフレームを受信する手段と、
前記ポートと関連するキャッシュに複数のフィルタリングエントリーを保持する手段と、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致するか判断する手段と、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致する場合、前記フレームをドロップする手段と、
前記アドレッシング情報が前記フィルタリングエントリーの１つと一致しない場合、前記フレームをスイッチングコアに転送する手段と、
前記スイッチングコア内のフレームバッファに前記ポート及び複数の他のポートから転送されたフレームを格納する手段と、
それぞれ少なくとも出力ポートとドロップ条件の１つを含む複数のルーティングエントリーを転送データベースに保持する手段と、
前記フレームバッファ中の各フレームについて、
前記フレームのヘッダからアドレッシング情報を識別する手段と、
前記アドレッシング情報に対応する前記転送データベース中のルーティングエントリーの１つを特定する手段と、
前記対応するルーティングエントリーが出力ポートを示す場合、前記フレームを前記示された出力ポートに転送する手段と、
前記対応するルーティングエントリーがドロップ条件を示す場合、前記フレームをドロップし、前記フレームを受信したポートに前記ドロップ条件を示すキャッシュ更新を通知する手段と、を有することを特徴とするシステム。
【図面の簡単な説明】
【００４２】
【図１】スイッチの入力ポートにおけるフレームフィルタリングにより、フレームの拡張フィルタリングを行うスイッチを示すブロック図である。
【図２】入力ポートにおいてフレームをドロップする決定を可能とすることによりスイッチの入力ポートにおけるフレームフィルタリング方法を示すフローチャートである。
【図３】転送データベースへの更新を反映するために入力ポートのキャッシュを更新する方法を示すフローチャートである。
【符号の説明】
【００４３】
１０  スイッチ
１２  ポート
１８  ポートメモリ
２０  入力バッファ
２２  キャッシュ
３０  スイッチコア
１４  コントローラ
１６  スイッチメモリ
２４  フレームバッファ
２６  転送データベース
２８  ファームウェア
５２  入力ポート
５４  スイッチコア
【図１】
2006295937.tif 000003
【図２】
2006295937.tif 000004
【図３】
2006295937.tif 000005