(57)【要約】パケット識別モジュールは、受取られたデータパケットがルータから発信されたかどうかを判断するよう構成される。パケット識別モジュールが、受取られたデータパケットがルータ以外のネットワークノードからのものであると特定すると、スイッチモジュールは、このデータパケットのレイヤ２アドレスおよび関連するレイヤ３アドレスを、関連するレイヤ２−レイヤ３アドレス対としてアドレステーブルに選択的に記憶する。関連するレイヤ２−レイヤ３アドレスの選択的記憶は、データパケットのインターネットプロトコル（ＩＰ）−メディアアクセス制御（ＭＡＣ）関連の学習とも称される。非ルータポートからの選択されたデータパケットのＩＰ−ＭＡＣ関連の選択的学習により、アドレステーブルをオーバーフローさせるおそれが減じられる。さらに、学習されたＩＰ−ＭＡＣ関連を用いることにより、ネットワークスイッチは、ルータをバイパスし待ち時間を減じてレイヤ３データパケットを交換することができる。
2004515088.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークスイッチにおける方法であって、
ネットワークスイッチの１つのポートによってデータパケットを受取るステップと、
１つのポートがデータパケットをルータから受取ったかどうか判断するステップと、
アドレステーブルに、データパケットからのレイヤ２アドレスおよび関連するレイヤ３アドレスを、関連するレイヤ２−レイヤ３アドレス対として、１つのポートがデータパケットをルータ以外のネットワークノードから受取ったという判断に基づいて選択的に記憶するステップとを含む、方法。
【請求項２】
選択的に記憶するステップは、１つのポートがデータパケットをルータ以外のネットワークノードから受取ったという判断に基づき、およびデータパケット内の宛先レイヤ２アドレスがルータを特定するという判断に応答して、レイヤ２アドレスおよび関連するレイヤ３アドレスを、関連するレイヤ２−レイヤ３アドレス対として記憶するステップを含む、請求項１に記載の方法。
【請求項３】
レイヤ２アドレスおよび関連するレイヤ３アドレスは出所アドレスである、請求項２に記載の方法。
【請求項４】
ネットワークスイッチは、第１のサブネットワークと第２のサブネットワークとにそれぞれ結合された第２のポートと第３のポートとを含む、請求項１に記載の方法。
【請求項５】
データパケットが、第２のポートと第３のポートとの間でのデータパケットの転送を特定するアドレス情報を含むかどうかを判断するステップをさらに含む、請求項４に記載の方法。
【請求項６】
選択的に記憶するステップは、１つのポートがデータパケットをルータ以外のネットワークノードから受取ったという判断に基づき、およびデータパケットが第２のポートと第３のポートとの間でのデータパケットの転送を特定するアドレス情報を含むことに応答して、レイヤ２アドレスおよび関連するレイヤ３アドレスを、関連するレイヤ２−レイヤ３アドレス対として記憶するステップを含む、請求項５に記載の方法。
【請求項７】
ネットワークスイッチ内のポート識別モジュールにより、データパケットが第２のポートと第３のポートとの間でのデータパケットの転送を特定するアドレス情報を含むと判断するステップをさらに含み、第２のポートと第３のポートとは、それぞれ第１および第２のサブネットワークに結合される、請求項２に記載の方法。
【請求項８】
複数のデータパケットを受取りかつ伝送するための複数のポートを含み、前記複数のポートのうちの１つのポートはルータに結合され、さらに、
受取られたデータパケットがルータからのものであるかどうかを判断するよう構成されるパケット識別モジュールと、
受取られたデータパケットがルータ以外のネットワークノードから受取られていることに基づき、受取られたデータパケットからのレイヤ２アドレスおよび関連するレイヤ３アドレスを、関連するレイヤ２−レイヤ３アドレス対としてアドレステーブルに選択的に記憶するよう構成されるスイッチモジュールとを含む、ネットワークスイッチ。
【請求項９】
パケット識別モジュールは、受取られたデータパケットがルータの宛先アドレスを特定するアドレス情報を含むかどうか判断するよう構成され、
スイッチモジュールは、受取られたデータパケットがネットワークノードから受取られていることに基づき、およびアドレス情報がルータの宛先アドレスを含むことに応答して、受取られたデータパケットからのレイヤ２アドレスおよび関連するレイヤ３アドレスを、関連するレイヤ２−レイヤ３アドレス対として選択的に記憶するよう構成される、請求項８に記載のネットワークスイッチ。
【請求項１０】
レイヤ２アドレスおよび関連するレイヤ３アドレスは出所アドレスである、請求項８に記載のネットワークスイッチ。
【請求項１１】
複数のポートのうちの第２のポートは第１のサブネットワークに結合され、
複数のポートのうちの第３のポートは第２のサブネットワークに結合され、
前記パケット識別モジュールは、受取られたデータパケットが第１のサブネットワークと第２のサブネットワークとの間での受取られたデータパケットの転送を特定するアドレス情報を含むかどうか判断するよう構成される、請求項８に記載のネットワークスイッチ。
【請求項１２】
スイッチモジュールは、受取られたデータパケットがネットワークノードから受取られていることに基づき、およびアドレス情報が第１のサブネットワークと第２のサブネットワークとの間での受取られたデータパケットの転送を特定することに応答して、受取られたデータパケットのレイヤ２アドレスおよび関連するレイヤ３アドレスを、関連するレイヤ２−レイヤ３アドレス対として選択的に記憶する、請求項１１に記載のネットワークスイッチ。
【請求項１３】
第１のサブネットワークに結合された、複数のポートのうちの第２のポートと、
第２のサブネットワークに結合された、複数のポートのうちの第３のポートと、
受取られたデータパケットが第１のサブネットワークと第２のサブネットワークとの間での受取られたデータパケットの転送を特定するアドレス情報を含むかどうか判断するよう構成される前記パケット識別モジュールとをさらに含む、請求項８に記載のネットワークスイッチ。
【請求項１４】
複数のポートの各ポートはパケット識別モジュールを含むよう構成される、請求項８に記載のネットワークスイッチ。
【発明の詳細な説明】
【０００１】
【発明の分野】
この発明は、データパケットをサブネットワークとルータとの間で切換えるように構成されたノンブロッキングネットワークスイッチにおいてデータパケットのネットワークアドレスを学習することに関する。
【０００２】
【背景技術】
ローカルエリアネットワークはネットワークケーブルまたは他の媒体を用いてネットワーク上のステーションをリンクする。各ローカルエリアネットワークアーキテクチャは、各ネットワークノードのネットワークインターフェイス装置がネットワーク媒体にアクセスできるようにするメディアアクセス制御（ＭＡＣ）を用いる。
【０００３】
イーサネット（Ｒ）プロトコルＩＥＥＥ８０２．３は、データパケットを伝送するための半二重メディアアクセスメカニズムおよび全二重メディアアクセスメカニズムを特定するよう発展した。全二重メディアアクセスメカニズムは２つのネットワーク要素間、たとえば、ネットワークノードと切換えハブとの間にツーウェイのポイントツーポイント通信リンクをもたらす。
【０００４】
切換えローカルエリアネットワークは、より高速の接続性、より柔軟な切換え性能、およびより複雑なネットワークアーキテクチャに適応する能力に対する、増大する需要に直面している。たとえば、本願出願人に譲渡された米国特許第５，９５３，３３５は、異なったネットワークノード間でレイヤ２タイプのイーサネット（Ｒ）（ＩＥＥＥ８０２．３）データパケットを切換えるように構成されたネットワークスイッチを開示し、受取られたデータパケットは、（ルータを介した）別のサブネットワークまたは所与のグループのステーションを特定する、ＩＥＥＥ８０２．１ｑに従ったＶＬＡＮ（仮想ＬＡＮ）タグ付きフレームを含むことができる。切換えはレイヤ２レベルで生じるので、データパケットをサブネットワーク間で転送するために、典型的にはルータが必要である。
【０００５】
レイヤ３（たとえば、インターネットプロトコル）処理を含むようにネットワークスイッチの切換え性能を高める努力は、典型的には、レイヤ３アドレスを学習するためのネットワークアドレステーブルのＣＰＵベースの制御を必要とする。たとえば、ルータは所与のアドレス分解プロトコルに基づいてレイヤ２−レイヤ３の関連づけを行なうことができる。典型的に、ルータはＬＡＮに対してボトルネックである。なぜなら、現在のレイヤ２スイッチは、好ましくはノンブロッキングモードで動作するよう構成されており、データパケットは、データパケットが受取られるのと同じ速度でネットワークスイッチから出力され得るからである。したがって、レイヤ２−レイヤ３切換え能力を有するスイッチを用いることにより、ルータをオフロードし、待ち時間を減じることができる。加えて、レイヤ２スイッチにおける、受取られたデータパケットの各々のメディアアクセス制御（「ＭＡＣ」）アドレスを学習する従来の学習技術は、レイヤ３の切換えにおいて実用的ではない。なぜなら、レイヤ３の学習はネットワークスイッチ内のアドレステーブルをすぐに溢れさせるおそれがあるためである。
【０００６】
【発明の概要】
ネットワークスイッチが、１００Ｍｂｐｓおよびギガビットのリンク用に、データパケットをブロックすることなくレイヤ２およびレイヤ３の切換えのためのネットワークアドレスの自動学習をもたらすことを可能にする構成に対する必要性がある。
【０００７】
また、ノンブロッキングネットワークスイッチが、ワイヤ速度で入来するデータパケットのレイヤ２アドレスおよび関連するレイヤ３アドレスを、ネットワークスイッチアドレステーブルを溢れさせることなく選択的に学習できるようにする構成に対する必要性がある。
【０００８】
これらおよび他の必要性は、データパケットを切換えるためのネットワークスイッチが、複数のデータパケットを受取りかつ伝送するための複数のポートを含む、この発明によって達成される。入来するデータパケットは、受取られたデータパケットがネットワークスイッチに接続されたルータから受取られているかどうかを判断するパケット識別モジュールによって評価される。受取られたデータパケットがルータ以外のネットワークノードからのものである場合、スイッチモジュールは、受取られたデータパケットのレイヤ２出所アドレスおよび関連するレイヤ３出所アドレスを、関連するレイヤ２−レイヤ３アドレス対としてアドレステーブルに選択的に記憶する。したがって、アドレステーブルでのオーバーフロー状態のおそれが減じられる。なぜなら、アドレステーブルが含むエントリがより少なくなるからである。
【０００９】
この発明の一局面は、データパケットをネットワークスイッチポートで切換える方法を提供する。この方法は、ネットワークスイッチの１つのポートによってデータパケットを受取るステップと、１つのポートがデータパケットをルータから受取ったかどうか判断するステップとを含む。この方法はまた、アドレステーブルに、データパケットからのレイヤ２出所アドレスおよび関連するレイヤ３出所アドレスを、関連するレイヤ２−レイヤ３アドレス対として、１つのポートがルータ以外のネットワークノードからデータパケットを受取ったという判断に基づいて選択的に記憶するステップを含む。したがって、アドレステーブルが含むエントリは少なくなり、したがって、アドレステーブルでのオーバーフローのおそれが減じられる。
【００１０】
この発明の他の局面は、ネットワークスイッチポートで受取られたデータパケットを切換えるためのネットワークスイッチを提供する。ネットワークスイッチは、複数のデータパケットを受取りかつ伝送するための複数のポートを含み、複数のポートのうちの１つのポートがルータに結合されており、ネットワークスイッチはさらに、パケット識別モジュールと、スイッチモジュールとを含む。パケット識別モジュールは、受取られたデータパケットがルータからのものであるかどうか判断するよう構成される。スイッチモジュールは、受取られたデータパケットからのレイヤ２出所アドレスおよび関連するレイヤ３出所アドレスを、関連するレイヤ２−レイヤ３アドレス対として、受取られたデータパケットがルータ以外のネットワークノードから受取られていることに基づいて、アドレステーブルに選択的に記憶するよう構成される。その結果、アドレステーブルでのオーバーフローのおそれが減じられる。
【００１１】
この発明のさらなる利点および新規の特徴の、ある部分は以下の説明に述べられ、ある部分は以下を考察すると当業者には明らかになるであろうし、または、この発明を実施することによって認識することができる。この発明の利点は、前掲の請求項で特に指摘された手段および組合せによって認識され、達成され得る。
【００１２】
同じ参照番号表示を有する要素が全体にわたって同じ要素を示す、添付の図面を参照する。
【００１３】
【この発明を実施するための最良のモード】
図１は、イーサネット（Ｒ）（ＩＥＥＥ８０２．３）ネットワーク等のパケット切換えネットワーク１０を示すブロック図である。パケット切換えネットワークは、ネットワークステーション１４間でのデータパケットの通信を可能にする、集積された（すなわち、シングルチップの）マルチポートスイッチ１２を含む。各ネットワークステーション１４、たとえば、クライアントワークステーションは、典型的には、データパケットをＩＥＥＥ８０２．３プロトコルに従って１０Ｍｂｐｓまたは１００Ｍｂｐｓで送りかつ受取るよう構成される。集積されたマルチポートスイッチ１２の各々は、ギガビットのイーサネット（Ｒ）リンク１６によって相互接続され、サブネットワーク（またはサブネット）１８ａ、１８ｂ、および１８ｃの間でのデータパケットの転送を可能にする。したがって、各サブネットワークはスイッチ１２と、関連するグループのネットワークステーション１４とを含む。
【００１４】
各スイッチ１２は、メディアアクセス制御（ＭＡＣ）モジュール２２と、パケット識別モジュールとも称されるポートフィルタ２４とを含む、スイッチポート２０を含む。ＭＡＣモジュール２０は、ＩＥＥＥ８０２．３ｕプロトコルに従い、１０／１００Ｍｂｐｓの物理層（ＰＨＹ）トランシーバ（図示せず）を介し、関連するネットワークステーション１４とデータパケットの伝送および受取りを行なう。各スイッチ１２はまた、受取られたデータパケットに対してフレーム転送判断を行なうよう構成されるスイッチモジュール２５を含む。特に、スイッチモジュール２５は、イーサネット（Ｒ）（ＩＥＥＥ８０２．３）ヘッダ内の出所ＭＡＣアドレス、宛先ＭＡＣアドレス、およびＶＬＡＮ情報に基づいたレイヤ２切換え判断のために構成される。スイッチモジュール２５はまた、イーサネット（Ｒ）パケット内のＩＰデータ部分の評価に基づいた選択的レイヤ３切換え判断のために構成される。
【００１５】
図１が示すように、各スイッチ１２は関連するホストＣＰＵ２６と、バッファメモリ２８、たとえば、ＳＳＲＡＭとを有する。ホストＣＰＵ２６は、スイッチモジュール２５のプログラミングを含む、対応するスイッチ１２の全般の動作を制御する。バッファメモリ２８は、スイッチモジュール２５が受取られたデータパケットに対する転送判断を処理している間、対応するスイッチ１２に使用されてデータフレームを記憶する。
【００１６】
各スイッチ１２はまた、データパケットのインターネットプロトコル（ＩＰ）−メディアアクセス制御（ＭＡＣ）関連をアドレステーブルとして限定して記憶するよう構成されるメモリ３０を含む。
【００１７】
上述のとおり、スイッチモジュール２５はレイヤ２切換え判断および選択的レイヤ３切換え判断を行なうよう構成される。レイヤ３切換え判断の利用可能性は、サブネットワーク１８ａ内のエンドステーション１４がサブネットワーク１８ｂおよび１８ｃ内の選択されたネットワークステーションにｅメールのメッセージを送ることを望む場合、特に有効となり得る。サブネットワーク１８ｂおよび１８ｃは異なるサブネット上にあるため、サブネットワーク１８ａのホストはサブネットワーク１８ｂおよび／または１８ｃのホストに対するレイヤ２アドレスを知ることができない。スイッチ１２ａのスイッチモジュール２５がｅメールのメッセージをルータ１９に送る必要があるが、このことにより、さらなる遅延を招くであろう。スイッチモジュール２５によってレイヤ３切換え判断を用いることにより、スイッチモジュール２５は、高度な転送判断を含む、パケットの扱い方について、さらにパケットをビデオまたは音声等の待ち時間に敏感な適用例用の高い優先順位のパケットと考えるべきであるかどうか、といったインテリジェントな判断を行なうことができる。ルータは典型的にはＬＡＮに対してボトルネックであるため、スイッチモジュール２５はルータをオフロードすることができ、さらに、往復遅延を改善することができる。
【００１８】
開示された実施例によれば、ネットワークスイッチ１２は、選択されたデータパケットのＩＰ−ＭＡＣ関連を学習するよう構成される。ネットワークスイッチのパケット識別モジュール２４の各々は、受取られたデータパケットがルータ１９から受取られているかどうかを判断するよう構成される。パケット識別モジュール２４が、受取られたデータパケットはルータ１９以外のネットワークからのものであると特定した場合、ネットワークスイッチ１２のスイッチモジュール２５は、データパケットのレイヤ２出所アドレスおよび関連するレイヤ３出所アドレスを、関連するレイヤ２−レイヤ３アドレス対としてアドレステーブルに選択的に記憶する。関連するレイヤ２−レイヤ３アドレスの選択的な記憶は、データパケットのＩＰ−ＭＡＣ関連の学習とも称される。非ルータポートからの選択されたデータパケットのＩＰ−ＭＡＣ関連を選択的に学習することにより、アドレステーブルをオーバーフローさせるおそれは減じる。さらに、学習されたＩＰ−ＭＡＣ関連を用いることにより、ネットワークスイッチはレイヤ３切換えを行なうことができ、接続されたサブネットワーク間でのルータのバイパスを可能にして待ち時間を減少させる。
【００１９】
図２は、図１で示されたポートフィルタ２４のより詳細なブロック図を示す。ポートフィルタ２４は、受信ファーストインファーストアウトバッファ（ＦＩＦＯ）５１と、ＭＡＣキューイング論理５２と、メモリ５３と、ＭＡＣデキュー論理５４と、送信ＦＩＦＯ５５と、プロセッサインターフェイスモジュール５７とを含む。
【００２０】
受信ＦＩＦＯ５１は、入来するデータパケットをポート２０の受信部分から受取ることに応答して、入来するデータパケットを一時的に記憶するよう構成されるバッファである。
【００２１】
ＭＡＣキューイング論理５２は、ポートフィルタ２４用のさまざまな機能を提供する。ＭＡＣキューイング論理５２は、受取られたデータパケットを、受信ＦＩＦＯ５１から、外部メモリインターフェイス２６へのデータバス５９を介してＳＳＲＡＭ２８に書込むことができるようにする。ＭＡＣキューイング論理５２はまた、受取られたデータパケットをＭＡＣキューイング論理が処理することに応答する、スイッチモジュール２５への複数の状態信号５８を提供する。状態信号５８は、受取られたデータパケットがエラーなしに外部メモリインターフェイス２６に転送されたか、受取られたデータパケットの転送が完了したという指示をスイッチモジュール２５にもたらす。状態信号５８はまた、サブネットワーク経路指定信号（ＲＮＥＴＳ＿ＥＮＡＢＬＥ）と学習信号（Ｌ３ＩＲＣ＿ＬＥＡＲＮ）とを含む。
【００２２】
ＭＡＣキューイング論理５２がＲＮＥＴＳ＿ＥＮＡＢＬＥ信号をセットすると、スイッチモジュール２５は、受取られたデータパケットが、ネットワークスイッチ１２ａに直接接続されたサブネットワーク間のサブネットワーク間トラヒックの一部であることを通知される。
【００２３】
ＭＡＣキューイング論理５２がＬ３ＩＲＣ＿ＬＥＡＲＮをセットすると、スイッチモジュール２５は受取られたデータパケットに対するＩＰ−ＭＡＣアドレス関連を学習する。
【００２４】
メモリ５３はＭＡＣキューイング論理５２用のパラメータのためのレジスタスペース５３ａを設け、学習およびサブネットワーク経路指定の機能を実現する。レジスタスペース５３ａは、ＭＡＣキューイング論理に対し、少なくとも１つのＳＵＢＮＥＴ＿ＩＤと、ＳＵＢＮＥＴ＿ＭＡＳＫレジスタを提供する。ＣＰＵ２６はプロセッサインターフェイス（ｐｉ＿ｍｏｄ）５７を介してレジスタをプログラムする。ＳＵＢＮＥＴ＿ＩＤレジスタは、個々のポートが属するＩＰアドレスを記憶するためのものである。スイッチ１２ａの各ポートは１つのＳＵＢＮＥＴ＿ＩＤレジスタを有する。ＳＵＢＮＥＴ＿ＭＡＳＫは個々のポートの３２ビットＩＰアドレスマスクを記憶するためのものである。スイッチ１２ａの各ポートは１つのＳＵＢＮＥＴ＿ＭＡＳＫマスクレジスタを有する。
【００２５】
ＭＡＣデキュー論理５４は、受信データパケットをＳＳＲＡＭ２８から検索し、そのデータパケットをスイッチモジュール２５による処理に応答して適切なポートに転送するためのものである。
【００２６】
送信ＦＩＦＯ５５は、ポート２０による送信に先立って、出ていくデータパケットをバッファするためのものである。
【００２７】
入来するデータパケットはポート２０で受取られ、受信ＦＩＦＯ５１でバッファされる。ＭＡＣキューイング論理５２は、このデータパケットを外部メモリインターフェイス５６にデータバス５９を介して転送し、ＳＳＲＡＭ２８で記憶する。
【００２８】
ＭＡＣキューイング論理５２は、データパケットのヘッダおよびフレームデータを調査することにより、受取られたデータパケット内のレイヤ３情報、たとえば、ＩＰデータパケットを探索する。レイヤ３情報を用い、ＭＡＣキューイング論理５２は、ＩＰヘッダ内の宛先ＩＰアドレスとメモリ５３のレジスタ内に記憶された値とを比較することによって、受取られたデータパケットがサブネットワーク間トラヒックの一部であるかどうかを判断することができる。
【００２９】
特に、受取られたデータパケットが非ルータポートから受取られている場合、ＩＰ宛先アドレスは、すべての他のポートのＳＵＢＮＥＴ＿ＭＡＳＫに対してマスクされる。次に、マスク動作の結果はすべての他のポートのＳＵＢＮＥＴ＿ＩＤレジスタと比較される。比較動作の結果が良好であれば、ＭＡＣキューイング論理５２はスイッチモジュール２５へのＲＮＥＴＳ＿ＥＮＡＢＬＥ信号をセットする。
【００３０】
ＭＡＣキューイング論理５２はまた、パケットが非ルータポートから到着した場合、ネットワークスイッチ１２ａに直接接続されるサブネットワーク内のＩＰアドレス用に、受取られたデータパケットの出所ＩＰ−ＭＡＣアドレス関連をスイッチモジュール２５が学習する必要があるのかどうか判断するよう構成することができる。ホストＣＰＵ２６は、メモリ５３内でレジスタをプログラムする責任を負い、スイッチモジュール２５は、どのポートがルータに接続されているかが分かる。
【００３１】
ＭＡＣキューイング論理５２はまた、ポート識別モジュール２４のＭＡＣキューイング論理５２が、受取られたデータパケットがルータに向けられており、サブネットワーク間トラヒックの一部であるかもしれないと判断した場合、ＩＰ−ＭＡＣ関連を学習するよう構成することができる。
【００３２】
さらに、パケット識別モジュール２４のＭＡＣキューイング論理５２は、受取られたデータパケットがルータに向けられており、サブネットワーク間トラヒックの一部である場合、受取られたパケットのＩＰ−ＭＡＣ関連を学習するよう構成することができる。
【００３３】
特に、ＭＡＣキューイング論理５２は、受取られたデータパケットのＭＡＣ宛先アドレスと、メモリ５３内に記憶された、ルータのＭＡＣアドレスとを比較する。比較動作の結果が良好であれば、受取られたデータパケットはルータに向けたものである。その後、ポート識別モジュール２４のＭＡＣキューイング論理５２は、スイッチモジュール２５に対し、レイヤ２出所アドレスと関連するレイヤ３出所アドレスとを関連するレイヤ２−レイヤ３アドレス対として、アドレステーブル３０に選択的に記憶するよう通知する。
【００３４】
パケット識別モジュール２４のＭＡＣキューイング論理５２は、ネットワークスイッチ１２内のトラヒックのフローまたはユーザの好みに依存して、これらの機能の任意のものを実現するよう構成することができる。ＭＡＣキューイング論理５２はまた、ユーザによって必要と思われるさまざまな他の機能を実現するよう構成することができる。
【００３５】
図３は、図２で示されたパケット識別モジュール２４によって実現される学習のためのフローチャートを示す。ステップ３１０では、データパケットがポート２０の１つからポート識別モジュール２４で受取られる。
【００３６】
ポート識別モジュール２４は、ステップ３２０において、受取られたデータパケットが非ルータポートから受取られているかどうかを判断するよう構成される。ホストＣＰＵはどのポートがルータに接続されているかをプログラムする責任を負う。
【００３７】
ステップ３２０において、受取られたデータパケットが非ルータポートで受取られている場合、ポート識別モジュール２４のＭＡＣキューイング論理５２は、ステップ３３０において、スイッチモジュール２５に対して学習信号をアサートして、レイヤ２アドレスまたはＭＡＣアドレス、および関連するレイヤ３アドレスまたはＩＰアドレスを、関連するレイヤ２−レイヤ３アドレスとしてメモリ３０内のアドレステーブルに記憶するよう通知する。
【００３８】
ステップ３２０において、受取られたデータパケットがルータポートから受取られている場合、ポート識別モジュール２４のＭＡＣキューイング論理５２は、ステップ３４０において、スイッチモジュール２５への学習信号をデアサートする。受取られたデータパケットのＩＰ−ＭＡＣ関連は学習されない。
【００３９】
図４は、図２で示されたパケット識別モジュール２４によって実現される学習のための代替的フローチャートを示す。この規則では、受取られたデータパケットが非ルータポートからのものであり、ルータの宛先ＭＡＣアドレスを有する場合、ＩＰ−ＭＡＣ関連が学習される。ステップ４１０では、データパケットはポート２０の１つからポート識別モジュール２４で受取られる。
【００４０】
ポート識別モジュール２４は、ステップ４１０において、受取られたデータパケットが非ルータポートから受取られているかどうか、およびデータパケットのＭＡＣ宛先アドレスがルータであるかどうかを判断するよう構成される。ホストＣＰＵ２６は、どのポートがルータに接続されているかをプログラムする責任を負い、ＭＡＣキューイング論理５２は受取られたデータパケットの宛先ＭＡＣアドレスとルータのＭＡＣアドレスとを比較する。
【００４１】
ステップ４２０から、比較が良好であれば、ステップ４３０において、受取られたデータパケットは非ルータポートで受取られており、宛先ＭＡＣアドレスはルータである。ポート識別モジュール２４のＭＡＣキューイング論理５２は、ステップ４３０において、スイッチモジュール２５に対し、レイヤ２出所アドレスまたはＭＡＣ出所アドレス、および関連するレイヤ３出所アドレスまたはＩＰ出所アドレスを、関連するレイヤ２−レイヤ３アドレスとしてメモリ３０内のアドレステーブルに記憶するよう通知する。
【００４２】
ステップ４２０から、比較の一方または両方が失敗すると、ポート識別モジュール２４はステップ４４０においてスイッチモジュール２５に通知しない。受取られたデータパケットのＩＰ−ＭＡＣ関連は学習されない。
【００４３】
図５は、図４で示されたパケット識別モジュール２４によって実現される学習のための別の代替的フローチャートを示す。この規則では、受取られたデータパケットがサブネットワーク間トラヒックの一部であり、宛先ＭＡＣアドレスがルータである場合、ＩＰ−ＭＡＣ関連が学習される。ステップ５１０では、データパケットはポート２０の１つからポート識別モジュール２４で受取られる。
【００４４】
ポート識別モジュール２４は、ステップ５１０において、受取られたデータパケットが非ルータポートから受取られているかどうかを判断するよう構成される。ＭＡＣキューイング論理５２は、宛先ＩＰアドレスをスイッチモジュール２５内のすべての他のＳＵＢＮＥＴ＿ＭＡＳＫでマスクする。マスクされた結果は、次に、スイッチ１２ａ内のすべての他のＳＵＢＮＥＴ＿ＩＤアドレスと比較される。さらに、ＭＡＣキューイング論理５２はまた、受取られたデータパケットの宛先ＭＡＣアドレスとルータのＭＡＣアドレスとを比較する。
【００４５】
ステップ５２０から、すべての比較が良好であれば、ポート識別モジュール２４のＭＡＣキューイング論理５２は、ステップ５３０において、スイッチモジュール２５に対し、レイヤ２出所アドレスまたはＭＡＣ出所アドレス、および関連するレイヤ３出所アドレスまたはＩＰ出所アドレスを、関連するレイヤ２−レイヤ３アドレスとしてメモリ３０内のアドレステーブルに記憶するよう通知する。
【００４６】
ステップ５２０から、比較のいずれかが失敗すれば、ポート識別モジュール２４のＭＡＣキューイング論理５２は、ステップ５４０において、スイッチモジュール２５に通知しない。受取られたデータパケットのＩＰ−ＭＡＣ関連は学習されない。
【００４７】
開示された実施例に従い、パケット識別モジュールは、受取られたデータパケットがルータから発信されたかどうかを判断するよう構成される。パケット識別モジュールが、受取られたデータパケットがルータ以外のネットワークノードからのものであると特定すると、スイッチモジュールは、データパケットのレイヤ２アドレスおよび関連するレイヤ３アドレスを、関連するレイヤ２−レイヤ３アドレス対としてアドレステーブルに選択的に記憶する。選択されたデータパケットのＩＰ−ＭＡＣ関連を記憶することにより、ネットワークスイッチは、スイッチが切換えの間にアドレステーブルを参照する際に、アドレステーブルでの検索時間を減じることができる。その結果、パケット識別モジュールは、ネットワークスイッチが、データパケットをブロックすることなく１００Ｍｂｐｓまたはギガビットのリンクのためのレイヤ３およびレイヤ２の切換え能力をもたらすことを可能にする。
【００４８】
この発明は、最も実用的な好ましい実施例であると現在考えられていることを記載してきたが、この発明は開示された実施例に限定されず、反対に、前掲の請求項の精神および範囲内に含まれるさまざまな変更および等価の構成を包含することを意図すると理解されるべきである。
【図面の簡単な説明】
【図１】この発明の実施例に従った、それぞれのサブネットワーク間でデータパケットを切換えるための多数のネットワークスイッチを含むパケット切換えネットワークのブロック図である。
【図２】この発明の実施例に従った、図１のネットワークスイッチを示すブロック図である。
【図３】この発明の実施例に従った、図１のネットワークスイッチでの学習を示すフロー図である。
【図４】この発明の実施例に従った、図１のネットワークスイッチでの学習を示す代替的フロー図である。
【図５】この発明の実施例に従った、図１のネットワークスイッチでの学習を示す別の代替的フロー図である。
【図１】
2004515088.tif 000003
【図２】
2004515088.tif 000004
【図３】
2004515088.tif 000005
【図４】
2004515088.tif 000006
【図５】
2004515088.tif 000007
【国際公開パンフレット】
2004515088.tif 000008
2004515088.tif 000009
2004515088.tif 000010
2004515088.tif 000011
2004515088.tif 000012
2004515088.tif 000013
2004515088.tif 000014
2004515088.tif 000015
2004515088.tif 000016
2004515088.tif 000017
2004515088.tif 000018
2004515088.tif 000019
2004515088.tif 000020
2004515088.tif 000021
2004515088.tif 000022
2004515088.tif 000023
【国際公開パンフレット（コレクトバージョン）】
2004515088.tif 000024
【国際調査報告】
2004515088.tif 000025
2004515088.tif 000026