(57)【要約】【課題】　レイヤー３転送の機能がネットワーク内の複数のスイッチ間に分散され、複数のスイッチのいずれかが必ずしもルータであることを必要としないようなネットワークを提供する。【解決手段】　複数のポートを有するネットワーク素子により少なくとも１つのルータを有するネットワーク内でレイヤー３転送を実行する方法において、（Ａ）ネットワーク内の各ルータに対し、他のポートをルータの下流側ポートとして識別するステップと、（Ｂ）そのレイヤー２の宛先がルータであるパケットを受領すると、レイヤー３転送を実行するステップとを有することを特徴とするネットワーク内のレイヤー３転送を実行する方法である。【選択図】　　　図１
2004072802.tif 000002
【特許請求の範囲】
【請求項１】
　複数のポートを有するネットワーク素子が、１つまたはそれ以上のルータからなるネットワーク内でレイヤー３転送を実行する方法において、該方法は、
　ネットワーク内の各ルータに対し、複数のポートのうちの、ルータに到達可能な少なくとも１つをルータの上流側ポートとして識別しかつ、ルータに到達可能でない、１つまたはそれ以上の他のポートをルータの下流側ポートとして識別するステップと、
　１つまたはそれ以上の他のポートに到達可能な１つまたはそれ以上のＩＰステーションに各々関連した１つまたはそれ以上のＩＰアドレスを含む転送情報を学習するステップと、
　データパケットを受領するステップと、
　パケットを受領すると、パケットが１つまたはそれ以上のルータのうちの１つのＭＡＣアドレスに等しいレイヤー２宛先を有し、かつ１つまたはそれ以上の学習したＩＰアドレスのうちの１つに等しいレイヤー３のＩＰ宛先アドレスを有する場合に、レイヤー３転送を実行するステップとを含むことを特徴とする方法。
【請求項２】
　請求項１記載の方法において、前記パケットは、異なるサブネット内にある、レイヤー３送信元と、レイヤー３宛先とを有することを特徴とする方法。
【請求項３】
請求項１記載の方法において、前記転送情報は、パケットのレイヤー３ＩＰ宛先アドレスに対応するＶＬＡＮＩＤを含むことを特徴とする方法。
【請求項４】
　請求項１記載の方法において、前記転送情報は、パケットのレイヤー３宛先ＩＰアドレスに対応するレイヤー２ＭＡＣアドレスを含むことを特徴とする方法。
【請求項５】
　請求項１記載の方法において、レイヤー３転送がネットワーク素子によって実行されないパケットは、レイヤー２においてネットワーク素子によって転送されることを特徴とする方法。
【請求項６】
　ステーションＩからステーションＩＩに個々のパケットをレイヤー３転送するレイヤー３転送方法において、前記パケットのレイヤー２宛先は、ステーションＩ及びＩＩがそれを介して接続されるネットワーク素子Ａからネットワークに到達可能なネットワーク内にルータを有しており、前記ルータはＡＲＰ情報を記憶しており、該方法は、
　ステーションＩからステーションＩＩにパケットをレイヤー３転送する機能をネットワーク素子Ａに具備させるステップと、
　前記ネットワーク素子Ａで前記個々のパケットに対しレイヤー３転送を実行するステップとを有し、
　前記具備させるステップは、ネットワーク素子Ａの一部の上に、ステーションＩからステーションＩＩにパケットを転送するためにルータにより使用される転送情報を前記ルータのＡＲＰ情報を読み込むことによって学習するステップを含むことを特徴とするレイヤー３転送方法。
【請求項７】
　複数のポートを有するネットワーク素子が、少なくとも１つのルータを有するネットワーク内でレイヤー３転送を転送情報を用いて実行する方法において、該方法は、
　ＩＰアドレスがユーザによって学習されるのに適しているとして設定されたステーションに関する転送情報を学習するステップと、
　パケットを受領すると、ルータの識別性を用いずに、パケトがレイヤー３転送を必要としているか否かを決定するステップと、
　パケトがレイヤー３転送を必要としている場合で、かつすべての必要な転送情報が得られる場合に、レイヤー３転送を実行し、そして他の場合にはレイヤー２転送を実行するステップとを含むことを特徴とする方法。
【請求項８】
　複数のポートを有するネットワーク素子が１つまたはそれ以上のルータを有するネットワーク内でレイヤー３転送を実行するシステムにおいて、該システムは、
　ネットワーク内の各ルータに対し、複数のポートのうちの、ルータに到達可能な少なくとも１つをルータの上流側ポートとして識別しかつ、ルータに到達可能でない、１つまたはそれ以上の他のポートをルータの下流側ポートとして識別するために動作するポート識別子と、
　１つまたはそれ以上の他のポートに到達可能な１つまたはそれ以上のＩＰステーションに各々関連した１つまたはそれ以上のＩＰアドレスを含む転送情報を学習するために動作する学習ユニットと、
　１つまたはそれ以上のルータのうちの１つのＭＡＣアドレスに等しいレイヤー２宛先を有しかつ１つまたはそれ以上の学習したＩＰアドレスのうちの１つに等しいレイヤー３のＩＰ宛先アドレスを有するパケットを受領すると、レイヤー３転送を実行するために動作するレイヤー３転送ユニットとを備えることを特徴とするシステム。
【請求項９】
　ステーションＩからステーションＩＩに個々のパケットをレイヤー３転送するレイヤー３転送システムにおいて、前記パケットのレイヤー２宛先は、ステーションＩ及びＩＩがそれを介して接続されるネットワーク素子Ａからネットワークに到達可能なネットワーク内にルータを有しており、前記ルータはＡＲＰ情報を記憶しており、該レイヤー３転送システムは、
　ステーションＩからステーションＩＩへパケットをレイヤー３転送する機能をネットワーク素子Ａに具備させるために動作する学習素子と、
　ネットワーク素子Ａにおいて、前記個別のパケットをレイヤー３転送するためのレイヤー３転送ユニットとを備え、
　前記具備させることは、ネットワーク素子Ａの一部において、ステーションＩからステーションＩＩにパケットを転送するためにルータにより使用される転送情報を前記ルータのＡＲＰ情報を読み込むことによって学習することを含むことを特徴とするレイヤー３転送システム。
【請求項１０】
　複数のポートを有するネットワーク素子が、少なくとも１つのルータを有するネットワーク内でレイヤー３転送を転送情報を用いて実行するシステムにおいて、該システムは、
　ＩＰアドレスがユーザによって学習されるのに適しているとして設定されたステーションに関する転送情報を学習する手段と、
　パケットを受領すると、ルータの識別性を用いずに、パケトがレイヤー３転送を必要としているか否かを決定する手段と、
　パケトがレイヤー３転送を必要としている場合で、かつすべての必要な転送情報が得られる場合に、レイヤー３転送を実行し、そして他の場合にはレイヤー２転送を実行する手段とを含むことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、ネットワーク、並びにネットワーク内のスイッチング装置およびスイッチング方法に関する。
【背景技術】
【０００２】
　ＬＡＮとＩＰネットワーキングは、公知である。ＬＡＮとＩＰネットワークに関する概論およびＩＰルーティングと、ＡＲＰの関連技術は以下の文献に記載されている。
【０００３】
【特許文献１】特開平１０−１９０７１５号公報
【非特許文献１】ＭＡＣブリッジの国際標準：Std 802.1D, IEEE, 1993,
【非特許文献２】仮想ＬＡＮ（ＶＬＡＮ）標準：802.1Q, IEEE, 1998,
【非特許文献３】ＬＡＮＥ標準：ＡＴＭバージョン２を介してのＬＡＮエミュレーション−−ＬＵＮＩ仕様，af-lane-0084.00, ＡＴＭフォーラム１９９７年７月で、これらは www.atmforum.com，のインターネットで入手可能である。
【非特許文献４】ＭＰＯＡ標準：ＡＴＭ仕様v1.0,に関するマルチプロトコル、af-mpoa-0087.000，ＡＴＭフォーラム１９９７年７月で、これらはwww.atmforum.comのインターネットで入手可能である。
【非特許文献５】「レイヤー３スイッチ」，InfoWorld magazine，１９９８年６月１日（vol. ２０，第２２版），これはwww.infoworld.comのインターネットで入手可能である。
【０００４】
　以下のインターネットＲＦＣドキュメントが、例えばwww.ietf.org：ＩＰ−ＲＦＣ７９１（インターネットプロトコル），ＡＲＰ−ＲＦＣ８２６（アドレス解析プロトコル），ＲＦＣ１８１２（ＩＰバージョン４ルータの要件），ＲＦＣ１７００（割り当てられたメンバー），ＲＦＣ１２５６（ＩＣＭＰルータディスカバリメッセージ），ＳＮＭＰ−ＲＦＣ１１５７（シンプルネットワークマネージメントプロトコル），ＲＦＣ１２１３（ＴＣＰ／ＩＰベースのインターネット：ＭＩＢ−ＩＩのネットワークマネージメント用のマネージメント情報ベース），ＶＲＲＰ−ＲＦＣ２３３８（仮想ルータ冗長性プロトコル），ＨＳＲＰ−ＲＦＣ２２８１（Ｃｉｓｃｏホットスタンバイルータプロトコル）
【０００５】
　今日知られている多くのルーティング−スイッチ／スイッチ−ルータ／レイヤー３スイッチの各スイッチはルーティング装置であり、ルーティングプロトコルを走らせることおよびルータの構築と保守を必要とする点からすると、従来のルータと同一のネットワークアーキテクチャ原理に従う。このようなレイヤー３スイッチは、ネットワーク内のあるロケーションに中心的に搭載され、一方残りのネットワークスイッチはレイヤー２のみである場合、レイヤー３転送（layer 3 forwarding）の性能が限定されてしまう。
【０００６】
　分散型のレイヤー３スイッチングシステムを構築するためにレイヤー３転送の機能はネットワーク内の適宜のポイントで行われるが、この設計仕様においては、ネットワークスイッチの多くあるいは全ては、レイヤー３スイッチでなければならない。このためＬＡＮ内の複数のルーティング装置の構築および保守を必要とし、これが大きな負担となっている。
【０００７】
　ある種のスイッチングシステムは、分散型のレイヤー３転送エンジンを具備した中央ルーティングサーバーの概念を回避して設計している。これらのシステムは、ルーティングサーバーとレイヤー３転送情報を通信するためには特殊のプロトコルを必要とする。これらのシステムのあるものは、ＡＴＭネットワークのＭＰＯＡ標準を実行している。イーサーネット（ethernet）ネットワークにおいては、これらのプロコールはルーティングサーバーと全てのレイヤー３転送装置は、単一の業者からのものであるという機器自体の制約があり、これによりユーザの選択範囲を制限してしまっている。また、このようなシステムを既存のネットワークに導入することは、ネットワークを大規模に変更しなければならない。
【０００８】
　ＩＰステーションの自動学習に基づいたレイヤー３スイッチングの考え方が公表されている。この方式は、ルータのフロントエンドにあるスイッチを用いてその転送性能を向上させているが、全ネットワークレベルでの分散型レイヤー３スイッチングシステムにまで拡張することは提案されていない。このようなスイッチは、レイヤー３の（ＩＰ）スイッチングを実行するルータである必要はない。即ち、ルータとしてステーションに既知のものである必要はなく、ルータが行うようなコンフィグレーション（構築、構成）を必要としない。このような考え方は、ネットワーク内にルータが存在し、ルータをデフォルトの転送装置として用い、自動的にＩＰステーションに関する情報を学習するということを前提にしている。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
　本発明の目的は、レイヤー３転送の機能がネットワーク内の複数のスイッチ間に分散され、複数のスイッチのいずれかが必ずしもルータであることを必要としないようなネットワークを提供することである。
【課題を解決するための手段】
【００１０】
　本発明のシステムは、現在のレイヤー３スイッチに共通の「ルーティングパーポート（routing per port）」のアプローチに必ずしも従うものではない。このレイヤー３転送は、送信元に最も近いスイッチにより常に実行されるわけではなく、送信元からルータへのパス上にあるスイッチに加え、ルータから宛先へのパス上にあるスイッチにより実行される。
【００１１】
　本発明の他の実施例によれば、スイッチは特定のルータの性能を改善するのではなくネットワーク全体の性能を改善させるようにしている。例えば、この実施例は分散型のレイヤー３スイッチをスイッチトイーサーネットネットワーク内に具備する場合に特に有効である。他のアプリケーションは、イーサーネットとＡＴＭ−ＬＡＮＥを含むネットワーク内に適用され、本発明はＭＰＯＡ（multi-protocol over ATM ＝ＡＴＭを介したマルチプロトコル）の代わりに、あるいはそれに加えて高性能のレイヤー３スイッチングを提供する際に有効である。
【００１２】
　ネットワークブースティング（ネットワークの性能を上げる）の実施例においては、スイッチは必ずしもルータのＭＡＣアドレスを知る必要はない。スイッチは、パケットがＭＡＣ層において１個のルータあるいは異なる複数のルータにアドレスが付されるか否かにかかわらず、これらのパケットへに対するレイヤー３転送機能をそれ自身で実行する。
【００１３】
　スイッチはパケットの宛先ＭＡＣアドレスがルータのアドレスであるということを認識する以外の方法で、レイヤー３転送を必要とするパケットを識別している。通常、受領したパケットの宛先ＭＡＣアドレスは、パケットの宛先ＩＰアドレスに対応するものとして、スイッチに既知のＭＡＣアドレスとは異なることを識別することにより、スイッチはレイヤー３転送を必要とするパケットを識別する。
【００１４】
　本発明の一実施例は、複数のポートを有するネットワーク要素は、少なくとも１つのルータを含むネットワーク内でレイヤー３転送を実行する。さらに本発明の方法は、請求項１に記載した特徴を有する。
【００１５】
　さらに本発明の一実施例によれば、ネットワーク素子によりレイヤー３転送が実行されないパケットは、レイヤー２のネットワーク素子により転送される。さらにまた本発明の一実施例によれば、本発明は請求項２に記載した特徴を有する。さらに本発明の一実施例によれば、本発明は請求項３に記載した特徴を有する。さらに本発明の一実施例によれば、本発明は請求項４に記載した特徴を有する。さらに本発明の一実施例によれば、本発明は請求項５に記載した特徴を有する。
【００１６】
　さらに本発明の一実施例によれば、本発明は請求項６に記載した特徴を有する。さらにまた本発明の一実施例によれば、転送情報はネットワーク素子を通過するパケットを解析することによりその全部が既知となる。さらに本発明の一実施例によれば、転送情報はネットワーク素子をＡＲＰパケットを解析することにより少なくとも一部が既知となる。
【００１７】
　さらに本発明の一実施例によれば、転送情報はネットワーク素子をＩＰパケットを解析することにより少なくとも一部が既知となる。さらに本発明の一実施例によれば、転送情報はその送信元レイヤー２アドレスがルータのアドレスであるネットワーク素子を通過するレイヤー３パケットを解析することにより少なくとも一部が既知となる。
【００１８】
　本発明のさらに他の態様によれば、本発明は請求項７に記載した特徴を有する。さらに本発明の一実施例によれば、本発明は請求項８に記載した特徴を有する。さらに本発明の別の態様によれば、本発明は請求項９に記載した特徴を有する。さらに本発明の一実施例によれば、本発明は請求項１０に記載した特徴を有する。さらに本発明の一実施例によれば、本発明は請求項１１に記載した特徴を有する。
【００１９】
　さらに本発明の別の態様によれば、本発明は請求項１２に記載した特徴を有する。さらに本発明の一実施例によれば、本発明は請求項１３に記載した特徴を有する。
【００２０】
　さらに本発明の一実施例によれば、本発明は請求項６に記載した特徴を有する。さらにまた本発明の一実施例によれば、転送情報はネットワーク素子を通過するパケットを解析することによりその全部が既知となる。さらに本発明の一実施例によれば、転送情報はネットワーク素子を解析することにより少なくとも一部が既知となる。
【００２１】
　さらにまた本発明の一実施例によれば、レイヤー３転送はネットワーク素子によりパケットに対し実行されるが、これはネットワーク素子に既知のパケットのレイヤー３宛先に対応するレイヤー２アドレスがパケットの宛先のレイヤー２アドレスと異なるときのみ実行される。
【００２２】
　さらに本発明の一実施例によれば、レイヤー３転送がネットワーク素子により実行されないパケットは、レイヤー２のネットワーク素子により転送される。
【００２３】
　さらにまた本発明の一実施例によれば、パケットのレイヤー３転送は、ネットワーク素子により実行されるが、但しこれはパケットの宛先レイヤー２アドレスが、パケットをネットワーク素子が受信したポートとは異なるポートを介して到達可能なネットワーク素子に既知の場合のみ行われる。
【００２４】
　さらに本発明の一実施例によれば、パケットが廃棄される場合は、パケットの宛先レイヤー２アドレスが、パケットをネットワーク素子が受領したポートを介してネットワーク素子に既知の場合である。
【００２５】
　さらに本発明の一実施例によれば、この実行ステップはパケットの送信元レイヤー２アドレスがネットワーク素子Ａのレイヤー２アドレスに変更することを含む。さらに本発明の他の態様によれば、本発明は請求項１４に記載した特徴を有する。さらに本発明の一態様によれば、本発明は請求項１５に記載した特徴を有する。
【００２６】
　本発明のシステムは、少なくとも１つのルータを有するネットワーク内で転送情報を用いてレイヤー３転送を実行する複数のポートを有するネットワーク素子を特徴とする。本発明のシステムは、パケットを受領すると、ルータの識別子に関する情報を用いずにパケットがレイヤー３転送を必要とするか否かを決定する装置と、パケットがレイヤー３転送を必要とし、必要な転送情報の全てが入手可能の場合には、レイヤー３転送を実行しそれ以外の場合には、レイヤー２転送を実行する装置を含む。
【００２７】
　素子Ｉが素子ＩＩを介してネットワークに接続されているとされる場合には、素子Ｉは必ずしも直接素子ＩＩに接続する必要はない。言い換えると素子Ｉは、素子ＩＩの下流側にあるが必ずしもその子供である必要はない。
【００２８】
　本明細書において、用語「ネットワーク素子」とは、いかなる種類のスイッチも含むネットワーク内をパケットが通過する素子を含む。これは、例えばＬＡＮスイッチ，ＭＡＣスイッチ，イーサーネットスイッチ，イーサーネットエッヂ装置，イーサーネットと少なくとも１つのＡＴＭポートを有するスイッチ，オペレーティングＬＡＮＥと選択的事項としてのＭＰＯＡ，ＭＡＣブリッジ，レイヤー３スイッチ，多層スイッチ，ルーティングスイッチ等を含む。
【００２９】
　用語「ステーション」とは、パケットを発信したり、受信したりする装置を含むが、これは必ずしもワークステーション，コンピュータ，プリンタ，サーバー，ルータに限定されるものではない。
【００３０】
　用語「ルータ」は、オフサブセット（off-subnet）の宛先に到達可能なルータまたはゲートウェイとしてステーションに既知の装置を含み、これはルータレイヤー３スイッチ，多層スイッチ，ルーティング装置等を含む。
【００３１】
　用語「パケットをルーティングする」，「パケット上でルーティング機能を実行する」，「パケットのレイヤー３転送」とは、ほぼ同等の意味を有する。例えば、これらの用語はＲＦＣ１８１２で定義されたＩＰフォワードを意味する。
【００３２】
　用語「サブネット」は、共通の特徴を有するステーションの組を指す用語で、例えばＩＰサブネット，ＩＰネット等である。
【発明の効果】
【００３３】
　本発明の方法は、レイヤー３転送の機能がネットワーク内の複数のスイッチ間に分散され、複数のスイッチのいずれかが必ずしもルータであることを必要としないようなネットワークを提供することができる。
【発明を実施するための最良の形態】
【００３４】
［実施例］
　図１−５は、本発明の第１実地例に従って構成され、動作するスイッチング方法を示す。図１は、本発明の一実施例により構成され動作するスイッチング方法を表すフローチャートを示す。
【００３５】
　図２Ａは、図１の方法に従って構成されたネットワークのブロック図を示す。ステーションＩからステーションＩＩへのＩＰパケット用のレイヤー３転送機能は、スイッチＡではなくスイッチＣにより実行される。図２Ａのスイッチは適宜のネットワーク素子を含み、必ずしもスイッチそのものを含む必要はない。
【００３６】
　送信元に最も近いスイッチ内でレイヤー３転送機能を実行するという要件がないために、そのスイッチが必要なレイヤー３転送情報をいかに得るかという他の設計方法では処理しなければならない主要な問題がなくなる。この共通のアプローチは、スイッチが完全なルータとなることが必要で、その結果全ての情報を得ることが必要である。このルーティングサーバーアプローチが、必要なレイヤー３転送情報をそのスイッチに搬送する特別なプロトコルを必要とする。
【００３７】
　このプロトコルは、ルーティングを送信元に最も近いスイッチが実行する必要がない場合には、このプロトコルはいずれも必要としない。その理由はそのスイッチは、スイッチ自身が容易に取得できる情報以外のどんな情報も必要としないからである。レイヤー３スイッチング機能を実行するスイッチが、ルータから宛先までのパス上に存在する場合には、そこを通過するパケットから必要な全ての情報を容易に取得できる。
【００３８】
　さらにまた図１−５の実施例においては、ＩＰパケット用の標準のレイヤー３転送機能を実行する際には、スイッチは、通常ルータのＭＡＣアドレスを転送されるパケットの送信元ＭＡＣアドレスフィールドに書き込む。この機能がステーションＩからステーションＩＩへのパケットに対しスイッチＡで実行されると、その結果ルータのＭＡＣアドレスを送信元として有するパケットは、スイッチＡからルータの方向にスイッチングシステム内に送信される。
【００３９】
　スイッチングシステムが単純な標準のスイッチング装置を有する場合には、ＭＡＣ取得メカニズムは、ルータからとスイッチＡからの２つの異なる方向から入ってくる同一のＭＡＣアドレスを見ることにより混乱し、その結果ネットワークの接続性の問題が発生する。この問題は、図１−５の実施例で解決することができる。各スイッチは、ルータ方向以外の方向に出ていくトラフィックにたいしてのみレイヤー３転送機能を実行する。
【００４０】
　それを介してルータに到達可能なスイッチポートは、上流側ポートと称し、スイッチは下流側ポート間でのみレイヤー３転送機能を実行する。スイッチの下流側にある（即ちスイッチの下流側ポートを介して到達可能な）全てのステーションと、装置に対しては、スイッチにより配送された（即ち、レイヤー３で転送された）パケットは、ルータにより配送されたかのように見える。
【００４１】
　各スイッチが下流側ポート間でレイヤー３転送機能のみを実行するように、レイヤー３転送機能をネットワーク内に分配することは安全性のようなさらに別の利点がある。例えばネットワークは、フロアー（床）間のネットワークトラフィックがアクセスの制約を受けるが、同一フロアーにあるステーション間ではこのような制約は受けないようなビルディングに設置することが可能である。この場合のアクセス制御パケットのフィルタリングは、フロアースイッチ（例えば、図２ＡのスイッチＡ，Ｂ）にアクセス制御構成が全く存在しないようなバックボーンスイッチ（例、図２ＡのスイッチＣ）に構築することができるが、その理由はこれらがパケットを別のフロアーに配送しようとはしないからである。
【００４２】
　このことはフロアースイッチは、バックボーンスイッチよりも単純かつ安いものであり、異なるフィルタリング（選別）機能を有し、そしてパケットのフィルタリング（選別）を全くサポートしない。どの種類のパケットに対しどのスイッチがレイヤー３スイッチング機能を実行するかをユーザが理解して決めることは、アクセス制御のパケットフィルタリングルールがより簡単な構成であることを示す。
【００４３】
　このレイヤー３転送機能の分配は、全てのスイッチがレイヤー２とレイヤー３の両方でワイヤ速度でトラフィックを転送できることを仮定することにより、スケーリング性能の問題を発生させない。パケットは、通常送信元から宛先へのあるパスを通過する。そのためレイヤー３機能が実行されるパス内の正確な配置は、スイッチング機能の全体的な性能には影響を及ぼさない。
【００４４】
　図１−５に記載した本発明の第１実施例によれば、本発明のスイッチはルータのＭＡＣアドレスに関する知識と、ルータに到達可能なスイッチポートの特定を必要とする。このスイッチがこの知識を得る１つの方法は、ルータのＩＰアドレスがスイッチにマニュアル構成により与えられることが必要である。その後スイッチは、ＡＲＰリクエストをルータに送ることにより、そしてＡＲＰからの回答を得ることにより残りの情報（知識）を取得する。
【００４５】
　スイッチがこの知識を得る別の方法は、スイッチがルータに関し、ルーティングプロトコルメッセージ（例、ＲＩＰ，ＯＳＰＦ，ＩＧＲＰ，ＥＩＧＲＰ）および／またはＩＣＭＰルータディスカバリプロトコルメッセージを特定し、これらのメッセージの送信元アドレスを学習することにより自動的に学習する。
【００４６】
　スイッチに既知の複数のルータが存在する場合がある、そのような場合、この実施例に記載したルータに関連する全てのスイッチの動作は、通常各ルータに対し実行される。特に、パケットがいずれかのルータにより送信される場合には、既知となり、その宛先ＭＡＣアドレスがいずれかのルータのアドレスの場合には、スイッチによりパケットはレイヤー３で転送される。
【００４７】
　本発明の方法が複数のルータを含むネットワーク内で使用される場合には、本発明の方法は、複数のルータがルータ冗長性機構を用いて互いにバックアップするような事態が発生することを考慮に入れている。この機構は、ＨＳＲＰとＶＲＲＰを含み（必ずしもこれに限定されるものではないが）、「仮想ルータ」を表す余分のＭＡＣアドレスを知ることに関連する。このＭＡＣアドレスは、上記の方法と同一の方法を用いてあるいはマニュアルによる構成を用いてスイッチにより得られる。
【００４８】
　本発明の装置と方法は、仮想ＬＡＮ（ＶＬＡＮ）が展開するネットワークに用いられる。このようなネットワークにおいては、ルータとスイッチはＶＬＡＮ情報を通信する。別の構成例として、ルータはＶＬＡＮとは無関係にあり、全てのＶＬＡＮのパケットを転送するある種の「グローバル（統一）」ポートを介してスイッチに接続される。別の構成例としてルータは、スイッチングシステムに複数のインターフェース（ＶＬＡＮ毎に１個のインターフェース）を介して接続される。このような場合、スイッチはルータの複数のＭＡＣアドレスを知る必要があり、かつこれらのアドレスが異なるＶＬＡＮにいかに対応しているかを知る必要がある。
【００４９】
　仮想ＬＡＮを含むネットワークに複数のルータが存在する場合には、スイッチはどのＭＡＣアドレスが同一のルータに対応するかを知る必要があるが、その理由は、パケットがレイヤー３で転送される場合には適宜の送信元ＭＡＣアドレスをスイッチが知るためである。スイッチは手動によりあるいはＳＮＭＰを介して、ルータデータベースの一部（例えば、標準のＭＩＢ−ＩＩからのＩＰアドレステーブルおよびインターフェーステーブルの一部）をモニタすることによりこれらの知識を獲得できる。
【００５０】
　スイッチは、ＩＰステーションに関しおよびこれらのステーションに向けられたバッケットのレイヤー３転送を実行するために必要な転送情報を自動的に学習する。この情報は、パケットをレイヤー３でそのＩＰステーションに転送する際に用いられる宛先ＭＡＣアドレスを含む。さらに別の情報、例えばＶＬＡＮＩＤ等も知ることができる。この情報は、以下に説明する方法およびそれらの組み合わせを用いることにより適宜の方法で取得できる。
【００５１】
　図１−５の実施例においては、スイッチは上流側ポート（例えばルータがそれを介して到達可能なポート）に関する情報を得ており、通常そのポートを介して到達可能ないかなるステーションを学習することを回避している。図１−５の学習メカニズムは、好ましくはダイナミックなものであり、ステーションの移動と変更に毎に更新される。
【００５２】
　スイッチに既知のＩＰステーションが上流側ポートを介して到達可能となるよう移動する場合には、スイッチはＩＰステーションのデータベースからそのステーションを取り除く。このＩＰ学習プロセスは、ステーションの移動と変更に関する指示をスイッチのＭＡＣ学習プロセスから受領する。学習された情報に関し、エージング（aging）プロセスが存在し、ユーザの構築は、このエージングメカニズムとそれが適用されるステーションの種類と特性を制御する（例えば、別のルータを介して到達可能な遠隔のＩＰステーション用の高速のエージング）。
【００５３】
　好ましい学習方法は、以下のものを含む。
（ａ）ルータから送られたＩＰパケットの宛先の学習、即ちその送信元ＭＡＣアドレスがルータのＭＡＣアドレスであり、宛先ＩＰアドレスが学習したステーションのＩＰアドレスであるようなパケットからの学習
【００５４】
（ｂ）ＡＲＰパケットの送信元と、ＡＲＰリクエストまたはＡＲＰ応答またはその両方の学習
（ｃ）ＡＲＰ応答の宛先の学習
（ｄ）ＩＰパケットの送信元，ローカルサブネットからの全てあるいは一部のみあるいは予め構成されたＩＰアドレス範囲に属するあるいは属さないものの学習
【００５５】
（ｅ）あるＭＡＣアドレスに送信されたあるいはそこから送信したＩＰパケットの送信元またはあるＭＡＣアドレスに送信されていないあるいはそこから送信していないＩＰパケットの送信元の学習（例、ルータのＭＡＣアドレスに送信されたＩＰパケットは、その送信元ＭＡＣアドレスとして別のルータのＭＡＣアドレスを有さない）
（ｆ）ルータのＡＲＰテーブルまたはＳＮＭＰまたは他のメカニズムを用いてルータから読み出すことのできる他のデータベースからの学習
（ｇ）他の構成からの学習
【００５６】
　図１−５の実施例においては、スイッチはルータを模擬し、ルータが同じパケットを取り扱うのと同じ方法でパケットを処理する。このようにしてあるステーションへのパケットの第１ストリームは、スイッチには未知のものであり、ルータにより配送され、しかしその後のパケットは第１パケットからの必要な情報を全て学習したスイッチにより配送される。
【００５７】
　図１−５の実施例によれば、その宛先ＭＡＣアドレスがルータのＭＡＣアドレスであり、その宛先ＩＰアドレスがスイッチにとって既知のパケットは、レイヤー３でスイッチにより転送（即ち、ルーティング）される。ゼロに等しいＩＰオプションまたはゼロに等しいＴＴＬを有するような例外的なパケットは、スイッチでは転送されずレイヤー２で転送される。このスイッチは、標準のルーティング機能（パケットの有効性のチェックを含む）に従ってレイヤー３で転送され、ＭＡＣヘッダを置換し、ＴＴＬを減分してチェックサムを更新する。
【００５８】
　このスイッチは、ルータのＭＡＣアドレスまたは他のＭＡＣアドレスをパケットの送信元ＭＡＣアドレスフィールドに書き込む。別の設計方法でも同一の学習方法を用い、標準のルーティング機能の一部の使用を回避する、例えばその送信元ＭＡＣアドレスを変更することなくパケットを転送すること、あるいは宛先ＭＡＣアドレス以外の何物も変更せずにパケットを転送すること、あるいはパケットの宛先ＭＡＣアドレスがルータのアドレスであることをチェックせずにパケットを転送すること等を行う。
【００５９】
　スイッチ内のレイヤー３転送プロセスは、アクセス制御パケットフィルタリングメカニズムと組み合わせることができ、その結果パケットのブロックおよび／またはレイヤー２でのパケットの転送となる。
【００６０】
　図１−５の実施例によれば、その宛先ＭＡＣアドレスがルータのＭＡＣアドレスであり、そのＩＰ宛先がスイッチにとっては未知であるような各パケットは、レイヤー２で通常スイッチングされ、そのためさらにルータに転送される。その後ルータへのパス上の別のスイッチによりレイヤー３で転送されるかあるいはルータに到着し、ルータにより配送されるかのいずれかである。
【００６１】
　パケットがルータに到着するいくつかの場合を以下に示す。
（ａ）スイッチでは取り扱われず、レイヤー２で常に転送される特殊なタイプのパケット、例えばＩＰオプションを具備するパケット。
（ｂ）ルータを越えて移動する例えば図２Ａのネットワーク内のＡからＤに送られるパケット。宛先Ｄは、スイッチには取得されず、例えばＤは常にスイッチＡ，Ｃには未知のものであり、Ｄへの全てのパケットは、スイッチＡとＣによりレイヤー２でスイッチングされる。
【００６２】
（ｃ）スイッチによりまだ未知の切り換えネットワーク内で、ステーションに戻されるローカルパケット。ルータを通るローカルトラフィックの量は小さいが、その理由は適宜のスイッチは解析されたパケットから新たなステーションを取得し、このようなトラフィックそのものの処理を開始させる。
【００６３】
　図２Ｂは図２Ａのネットワーク素子ＣのＩＰテーブル７０の例である。同図に示すようにネットワーク素子ＣのＩＰテーブルは、ネットワーク要素Ｃの下流側の各ステーションのＩＰアドレスとＭＡＣアドレスを記憶する。
【００６４】
　図２Ｃは図２Ａのネットワーク素子のＭＡＣテーブルの例を示す。同図に示すようにネットワーク素子のＭＡＣテーブルは、ネットワーク素子ＣのＭＡＣネットワーク内の各ＭＡＣエンティティに対するＭＡＣエンティティのＭＡＣアドレスとネットワーク素子Ｃのポートを記憶する。そしてこのポートを介してネットワーク素子ＣがパケットをそのＭＡＣエンティティに転送する。ネットワーク素子のＭＡＣネットワークは、通常全てのＭＡＣエンティティ（ネットワーク素子，ルータまたはステーション）を含み、これらは直接または（ルータではなく）スイッチまたはブリッジを介してネットワーク素子に接続される。
【００６５】
　次に図３を参照すると、同図はスイッチ内のパケットフローのフローチャートを表し、例えば図２Ａのネットワーク素子Ａとネットワーク素子Ｃ内のパケットフローを表す。これらのステップの説明を次に行う。
【００６６】
　パケットを待つ（ステップ１００）−本発明のシステムはパケットが到達するのを待ち、そしてパケットが到達すると、ステップ１１０に移る。
　ＩＰか？（ステップ１１０）−フレームは、ＩＰのタイプとして識別され、例えばイーサーネットネットワーク上では、イーサータイプ０×８００のフレームは、ＩＰパケットを搬送する。
　ＡＲＰか？（ステップ１２０）−フレームはＡＲＰタイプとして識別される。例えばイーサーネットネットワーク上では、イーサータイプ０×８６０のフレームは、ＡＲＰパケットを搬送する。
【００６７】
　送信元ＭＡＣは下流側か？（ステップ１３０）−パケットの発信元ＭＡＣアドレスは未知ではない。　即ち図２ＣのＭＡＣテーブル８０内にある。そして図２ＣのＭＡＣテーブル８０内でそれに対応するポートは、ルータがそれを介して到達可能なポートではない。
【００６８】
　送信側ＩＰの学習（ステップ１４０）−パケット内のＡＲＰメッセージから送信側ＩＰアドレスを読み出す。図２ＢのＩＰテーブル７０内にこのＩＰアドレスに対応する記録を見いだす。図２ＢのＩＰテーブル７０内にこのような記録が存在しない場合にはそれを創設する。パケット内のＡＲＰメッセージの送信が、ハードウェアアドレスフィールドから発信元ＭＡＣアドレスを読み出す。このＭＡＣアドレスを図２ＢのＩＰテーブル７０の記録内のＭＡＣアドレスフィールドに書き込む。
【００６９】
　ユニキャストか？（ステップ１５０）−宛先ＭＡＣアドレスがユニキャストＭＡＣアドレスの場合には、このパケットは、ユニキャストパケットである。
　通常のＩＰパケットか？（ステップ１６０）−ＲＦＣ１８１２の定義に従って、このＩＰパケットは有効である。このＩＰパケットがバージョン４であり、ＩＰオプションを含まずＴＴＬが１より大きい。
【００７０】
　送信元ＭＡＣはルータか？（ステップ１７０）−このステップにおいては、パケットの送信元ＭＡＣアドレスがチェックされる。それがルータのＭＡＣアドレスに等しい場合には、このパケットは、ルータにより発信されるかあるいは転送されるかがわかる。
【００７１】
　宛先ＭＡＣは下流側か？（ステップ１８０）−パケットの宛先ＭＡＣアドレスが未知ではない。即ち図２ＣのＭＡＣテーブル８０内に見いだされ、図２ＣのＭＡＣテーブル８０内のそれに対応するポートは、ルータがそれを介して到達可能なポートではない。
【００７２】
　宛先ＩＰ学習（ステップ１９０）−パケットのＩＰヘッダから宛先ＩＰアドレスを読み出す。図２ＢのＩＰテーブル７０内にこのＩＰアドレスに対応する記録を見いだす。図２ＢのＩＰテーブル７０内にこのような記録が存在しない場合にはそれを創設する。パケットのＭＡＣヘッダから宛先ＭＡＣアドレスを読み出す。このＭＡＣアドレスを図２ＢのＩＰテーブル７０の記録内のＭＡＣアドレスフィールドに書き込む。パケットのＭＡＣヘッダから送信元ＭＡＣアドレスを読み出す。このＭＡＣアドレスを図２ＢのＩＰテーブル７０内の記録のルータのＭＡＣフィールドに書き込む。
【００７３】
　送信元ＭＡＣは下流側か？（ステップ２００）−パケットの送信元ＭＡＣアドレスフィールドが図２ＣのＭＡＣテーブル８０と比較され、ＭＡＣアドレスがマッピングされるポートは、下流側ポートか否かが決定される。図２Ａにおいては、スイッチＣは２つの下流側ポート（ポート１，２）と１つの上流側ポート（ポート３）を有する。
【００７４】
　送信元ＩＰ学習（ステップ２１０）−パケットのＩＰヘッダから送信元ＩＰアドレスを読み出す。図２ＢのＩＰテーブル７０内にこのＩＰアドレスに対応する記録を見いだす。図２ＢのＩＰテーブル７０内にこの記録が存在しない場合にはそれを創設する。パケットのＭＡＣヘッダから送信元ＭＡＣアドレスを読み出す。このＭＡＣアドレスを図２ＢのＩＰテーブル７０内の記録のＭＡＣアドレスフィールドに書き込む。
【００７５】
　宛先ＭＡＣはルータか？（ステップ２２０）−パケットの宛先ＭＡＣアドレスは、ルータのＭＡＣアドレスの１つである。これはパケットをルーティング（レイヤー３転送）の機能を経験するパケットとして識別する。このパケットの送信元ＩＰアドレスと宛先ＩＰアドレス（即ち送信ステーションと受信ステーション）は、異なるＩＰネットあるいは異なるサブネット内にある可能性がある。
【００７６】
　宛先ＩＰをＩＰテーブル内に見いだす（ステップ２３０）−図２ＢのＩＰテーブル７０が、パケットの宛先ＩＰアドレスに適合する記録を見いだすために検索される。
　見いだされたか？（ステップ２４０）−パケットの宛先ＩＰアドレスに適合する記録がステップ２３０によりＩＰテーブル７０内に見いだされるとステップ２５０に進み、それ以外の場合にはステップ２６０に進む。
【００７７】
　ＩＰ転送（ステップ２５０）−通常、標準のＩＰ転送は、ＲＦＣ１８１２で定義されたように機能し、ＴＴＬを１づつ減分し、それに従ってＩＰチェックサムを更新することが含まれる。さらにまた、送信元ＭＡＣアドレスをルータのＭＡＣアドレスで置換し、宛先ＭＡＣアドレスを図２ＢのＩＰテーブル７０内の記録に見いだされ宛先ＩＰに対応するＭＡＣアドレスで置換する。
【００７８】
　ＭＡＣスイッチング（ステップ２６０）−標準のＭＡＣスイッチングは、ＩＥＥＥ標準８０２．１Ｄで定義されたように機能し、図２ＣのＭＡＣテーブル８０を学習し更新することを含む。
【００７９】
　図４は、本発明の第１実施例によるスイッチ内のフロー制御を表すフローチャート図である。
　ＩＰテーブルのエージング（ステップ３００）−３０秒毎に全ての記録は図２ＢのＩＰテーブル７０から消去（エージング）される。
【００８０】
　ＭＡＣ学習指示（ステップ３１０）−あるＭＡＣアドレスは、図２ＣのＭＡＣテーブル８０から取り除くべきか、あるいは変更したポートを有するかの指示がスイッチ内のＭＡＣ学習プロセスから受信される。これはＭＡＣ学習プロセスが新たな情報を受信パケットから学習し、あるいは図２ＣのＭＡＣテーブル８０からあるＭＡＣアドレスが取り除かれるかあるいはポートを変更するかの指示の結果である。
【００８１】
　削除指示か？（ステップ３２０）−ステップ３１０で受領した指示がＭＡＣアドレスをＭＡＣテーブル８０から削除することを指示している場合には、ステップ３４０を実行する。これ以外の場合、即ちステップ３０９で受信した指示がＭＡＣアドレスがポートを変更するよう指示している場合にはステップ３３０に進む。
【００８２】
　新たなポートは上流側か？（ステップ３３０）−この図２ＣのＭＡＣテーブル８０内のＭＡＣアドレスに関連するポートが変更され、新たなポートはそこを介してルータが到達可能なポートである。
　ＩＰテーブルからの除去（ステップ３４０）−図２ＢのＩＰテーブル７０からＭＡＣアドレスフィールド内の前記ＭＡＣアドレスを特定する全ての記録を取り除く。
　無視（ステップ３４４）−何もしない。
【００８３】
　本発明の他の実施例によれば、本発明は請求項７に記載した方法を提供する。ここでルータの転送（例、ＡＲＰ）情報は、ＳＮＭＰ機構を用いて読み出される。
【００８４】
　図５は上記の本発明の実施例のスイッチ内でのフロー制御を表すフローチャート図である。初期化時間（ステップ３５０）と、各例えば３０毎（ステップ３７０）と、ルータのＡＲＰテーブルが図２ＢのＩＰテーブル７０内に読み出される（ステップ３６０）。例えばこのプロセスは、次のようにして実行される。ＳＮＭＰが得た次のリクエストは、ルータのＩＰアドレスに送られ、そこでこの要求の対象物の識別子がＭＩＢ−ＩＩ（ＲＦＣ１２１３）で定義されたネットツーメディアの表を特定する。図２ＢのＩＰテーブル７０内の全ての情報は、ルータのＳＮＭＰの応答から受領した情報により置換される。
【００８５】
　本発明の他の実施例を図６−９を参照して説明する。図６−９の実施例には、図１−５の実施例と同様にレイヤー３スイッチングがネットワークワイドに、即ちネットワークのスイッチで、ネットワークのスイッチが必ずしもルータであることを要せずに行われるようにする。
【００８６】
　図６−９の実施例によりスイッチは、特定のルータではなくネットワーク全体をブーストする（高機能化する）。このスイッチは、ルータのＭＡＣアドレスが実際にルータのＭＡＣアドレスであることを必ずしも知る必要はない、そうではなくスイッチは、レイヤー３の転送を必要とするようなパケットへそれ自身がレイヤー３の転送機能を実行し、これはこれらのパケットがＭＡＣレイヤーで１個のルータにアドレス付けられているか、あるいは個々の複数のルータにアドレス付けられているかにかかわりなく行われる。このスイッチは、必ずしもパケットの宛先ＭＡＣアドレスをルータのアドレスとして認識することによりレイヤー３の転送を必要とするパケットを識別する必要はない。スイッチはこの識別機能を以下に述べるような他の手段により実行する。
【００８７】
　スイッチは、自動的にＩＰステーションを学習し、このステーションに宛名の付けられたパケットのレイヤー３転送を実行するのに必要な転送情報を学習する。この情報は、そのＩＰステーションへのパケットのレイヤー３の転送が行われるときに用いられる宛先ＭＡＣアドレスを含む。さらに余分の情報も学習される、例えば仮想ＬＡＮ（ＶＬＡＮ）ＩＤである。この情報は、例えば以下に述べるような方法あるいはその組み合わせにより学習される。
【００８８】
　この学習機構は、好ましくはダイナミックなものであり、ステーションの変更が更新される。学習された情報に関しては、エージングプロセスが行われ、ユーザによる構築が、このエージングメカニズムの特性を制御する。
【００８９】
　好ましい学習方法は以下のものがある。
＊　ＡＲＰパケットまたはＡＲＰリクエストまたはＡＲＰ応答またはその両方の送信元を学習する
＊　ＡＲＰ応答の宛先を学習する
＊　このＩＰパケットの送信元に関する情報を読みだし、この情報を用いて新たなステーションだけでなく情報をリフレッシュし、スイッチにすでに既知のステーションに関し別の方法で学習する
＊　少なくともあるＩＰパケットの送信元フィールドから学習する
＊　少なくともあるＩＰパケットの宛先フィールドから学習する
【００９０】
　選択的事項としてスイッチによりユーザは、どのＩＰステーションがレイヤー３スイッチングに対し学習する資格があるか否かを構築することにより学習機構を制御する。学習する資格があるステーションのみがＩＰテーブルに追加され、その結果そのステーションへのパケットがその後経路指定（ルーティング）される。学習する無資格ステーションは、ＩＰテーブルには入らずその結果そのステーションへのパケットは、このスイッチによっては経路指定されない。
【００９１】
　言い換えると、学習する無資格ステーションへのパケットは、レイヤー３でこのスイッチによっては、転送されることはなく常にレイヤー２でスイッチングされる。このようにしてユーザは、これらのステーション向けのパケットがルータまたはアクセス制御およびトラフィックの監視が可能なような別のスイッチに到達できるようにする。このような特徴を構成する１つの構成は、有資格ＩＰアドレス範囲のリストを記録する学習制御テーブルを含む。有資格ＩＰアドレス範囲例えばＩＰサブネットは、その全てが学習する資格のあるＩＰアドレスの範囲である。別の構成例として、無資格ＩＰアドレス範囲は、全てが学習する資格のないＩＰアドレスの範囲を含むよう記録される。
【００９２】
　例えば、図７Ｃの学習制御テーブル４７０は、ＩＰアドレス範囲のリスト、例えばＩＰサブネットを含む。各ＩＰアドレス範囲は、ＩＰアドレスとマスクにより定義される。この学習制御テーブルは、この実施例では用いて全ての有資格ＩＰアドレス範囲を記録する。別法としてこの学習制御テーブルを用いて全ての無資格ＩＰアドレス範囲を記録することもできる。さらに別の構成例として、学習制御テーブルは、対応するアドレスが学習する資格があるか否かを表すフラグを記憶する別のフィールドを含むこともできる。
【００９３】
　スイッチは受信したパケットを検査し、それがレイヤー３転送を必要とするか否かを識別する。このことはパケットがルータの宛先ＭＡＣアドレスを有するか否かに基づく必要はなく、そしてスイッチはルータのＭＡＣアドレスが実際にルータのＭＡＣアドレスであることを知る必要もない。パケットは、通常次の２つの条件の全てが満たされるとレイヤー３転送を必要とする。
【００９４】
（ａ）受信したパケットの宛先ＭＡＣアドレスがスイッチに既知の場合（即ち、図２ＣのＭＡＣテーブル８０に見いだされる場合）、そして
　ＭＡＣテーブル内（図２Ｃ）の受信したパケットの宛先ＭＡＣアドレスに対応するポート番号がパケットを受信したポート番号ではない場合。
（ｂ）受信したパケットの宛先ＩＰアドレスがスイッチに既知で（即ち、図２ＢのＩＰテーブル７０内に見いだされる）、
　受信したパケットの宛先ＭＡＣアドレスがパケットの宛先ＩＰアドレスに対応するＭＡＣアドレス以外の場合、これは図２ＢのＩＰテーブルに見いだされる場合。
【００９５】
　条件（ａ）は、パケットの宛先ＭＡＣアドレスがパケットを受信したポートを介して到達可能である場合にパケットの重複を避けるために重要である。この場合、ＭＡＣ層でパケットが向けられているステーションまたはルータが、パケットを受領しそのものをそれ自身で処理する。
【００９６】
　本発明の方法は、このような場合が発生しないようにするような制約がネットワーク構造に適用される場合には、条件（ａ）をチェックせずに動作する。このような制約例は、共有ＬＡＮセグメントがスイッチに接続されておらず、その代わりにスイッチはステーションまたはルータにのみ接続されている場合である。
【００９７】
　条件（ｂ）は、サブネット内のパケットのルーティングを回避するため、即ち同一のＩＰサブネット内のステーション間で送信されるパケットのルーティングを回避するために重要である。このようなパケットは、どのようなルータでも宛先が指定されておらず、レイヤー２で転送、即ちスイッチングされる。スイッチがレイヤー３で条件（ｂ）に合わないパケットを送信する場合には、宛差ＭＡＣアドレスに対するいかなる変更も行われない。実施例には示していないが本発明の方法は、条件（ｂ）をチェックすることなく動作する。
【００９８】
　レイヤー３転送を必要とすると識別された各パケットは、通常上記のように規定され、スイッチによりレイヤー３で転送（即ち、ルーティング、経路指定）される。ＩＰオプションまたはゼロに等しいＴＴＬを有する例外パケットは、スイッチによってはルーティングされずレイヤー２により転送され、その結果これらのパケットは、ルータに到着し、そしてこれらはＭＡＣ層により宛先が指定されそれにより処理される。
【００９９】
　レイヤー３で転送すると、スイッチは、標準のルーティング機能（パケットの有効性のチェック，ＭＡＣヘッダの置換，ＴＴＬの減分，チェックサムの更新）に従ってそれを行う。スイッチはそれ自身のＭＡＣアドレスをパケットの送信元ＭＡＣアドレスフィールドに書き込む。スイッチは、異なるＶＬＡＮ上に複数のＭＡＣアドレスを有し、この場合送信元として用いられるＭＡＣアドレスは、その上にパケットが送信されるＶＬＡＮに適した１つである、即ち宛先ステーションのＶＬＡＮである。別の方法は、同一の学習とパケット識別方法を用い標準のルーティング機能（宛先ＭＡＣアドレス以外に何も変更することなくパケットを転送する）の一部を回避する。
【０１００】
　スイッチ内でレイヤー３の転送プロセスは、あるアクセス制御パケットフィルタリングメカニズムと組み合わされ、パケットのブロックおよび／またはレイヤー２におけるパケットの転送を行うことになる。
【０１０１】
　レイヤー３転送（上に定義した）を必要としないと識別された各パケットは、レイヤー２でスイッチングされる。このパケットはルーティングを必要とするが、その宛先アドレスは、スイッチには知られていないようなパケットを含む。このようなパケットは、ルータによりＭＡＣ層で宛先の指定された所にルーティングされる（あるいはそのルータへの転送パス上にある別のスイッチによりルーティングされる）。
【０１０２】
　このようなパケットの宛先は、リモートＩＰアドレスであり、それはルータを介してのみ到達可能であり、スイッチには学習されることはないが、ローカルネットワーク内のステーションのＩＰアドレスでもあり、これはルータを通ることなくスイッチから到達できるものである。このようなローカルＩＰアドレスは、スイッチにより自動的に学習され、そのため通常はネットワーク内のルータを通るローカルトラフィックの量は小さく、その理由は適宜のスイッチは新たなステーションについてすぐに学習し、このようなトラフィックの処理をそれ自身が開始するからである。
【０１０３】
　次に図６−９について述べる。図６は、本発明の他の実施例により構成され動作する方法の例を示す。同図に示すようにスイッチＡのポート１とポート２は、そのＩＤ番号が８と５であるそれぞれ２つのＶＬＡＮに割り当てられている。
【０１０４】
　図７Ａは、図６のネットワーク素子ＡのＩＰテーブル４５０の例を示す。このＩＰテーブル内の各記録は、ＩＰアドレスとＭＡＣアドレスとこのＩＰアドレスを有するパケットが転送されるべきＶＬＡＮ−ＩＤを含む。各記録はさらにまた記録の他のフィールドの情報をいかに更新するかを示す学習フラグを含む。より一般的には、ルータはＩＰアドレス（図示せず）を有し、この場合そのルータに専用の記録は図７ＡのＩＰテーブル４５０に追加される。図７Ｂは、図６のネットワーク素子ＡのＭＡＣテーブル４６０の例を示す。
【０１０５】
　図７Ｃは、図６のネットワーク素子Ａの学習制御テーブル４７０の例を示す。上記したように図７Ｃの学習制御テーブル４７０は、ＩＰアドレス範囲のリスト、例えばＩＰサブネットを示す。各ＩＰアドレス範囲は、ＩＰアドレスとマスクにより定義される。学習制御テーブルは、全ての有資格ＩＰアドレス範囲あるいは、全ての無資格ＩＰアドレス範囲を記憶し、さらにまたフラグに対応するアドレス範囲が学習すべき資格があるか否かを示すフラグを記憶する別のフィールドを有する。
【０１０６】
　図８，９は、ステーションＩからネットワーク素子Ａを介して図６のネットワークに接続され、さらにネットワーク素子Ａから到達可能なステーションに個々のパケットにレイヤー３転送する方法を示す。この図８，９の方法においては、パケットのレイヤー２の宛先は、ネットワーク内のステーションあるいはルータのいずれかのレイヤー２のアドレスを含む。
【０１０７】
　ネットワーク素子Ａは、必ずしもどのレイヤー２のアドレスがルータに帰属するのか否かを知る必要はない。本発明の方法は、ネットワーク素子Ａにパケット上のルーティング機能を実行する機能を具備させる。そしてこのルーティング機能は、ステーションＩからステーションＩＩにパケットをルーティングし、ネットワーク素子Ａで前記個々のパケット上のルーティング機能を実行する。
【０１０８】
　図８は図６のネットワーク素子Ａのようなネットワーク素子内のパケットフローを表すフローチャート図である。
　ＩＰか？（ステップ５１０）−フレームは、ＩＰタイプとして識別される。例えば、イーサーネットネットワーク上では、イーサータイプ０×８００のフレームはＩＰパケットを搬送する。
【０１０９】
　ＡＲＰか？（ステップ５２０）−フレームは、ＡＲＰタイプとして識別される。例えば、イーサーネットネットワークにおいては、イーサータイプ０×８６０のフレームは、ＡＲＰパケットを搬送する。
　送信側を学習したか？（ステップ５２５）−送信側の局のＩＰアドレスが図７Ｃの学習制御テーブル４７０とチェックされ、それがこのアドレスを学習することを許可されたか否かを決定する。
【０１１０】
　ステップ５３０（送信側ＩＰの学習）において、本発明の方法は、パケット内のＡＲＰアドレスから送信側ＩＰアドレスを読み出す。この方法は、ＩＰテーブル４５０（図７Ａ内）にこのＩＰアドレスに対応する記録を見いだす。このテーブル内にこのような記録が存在しない場合には、本発明の方法は、それを創設する。本発明の方法は、パケット内のＡＲＰメッセージの送信側ハードウェアアドレスフィールドから送信元ＭＡＣアドレスを読み出す。
【０１１１】
　このＭＡＣアドレスは、ＩＰテーブル記録のＭＡＣアドレスフィールド内に書き込まれる。この記録は、図７ＡのＩＰテーブル４５０内の記録の学習フラグを設定することにより学習されたものとしてマークされる。ＶＬＡＮがサポートされている場合には、ＡＲＰメッセージがそこから受信されるＶＬＡＮのＩＤは、そのＩＰテーブル記録のＶＬＡＮＩＤフィールドに書き込まれる。
【０１１２】
　ユニキャストか？（ステップ５４０）−宛先ＭＡＣアドレスがユニキャストＭＡＣアドレスの場合には、このパケットは、ユニキャストパケットである。
　通常のＩＰパケット（ステップ５５０）−ＲＦＣ１８１２の定義に従って、このＩＰパケットは、有効である。さらにまたこのＩＰパケットがバージョン４であり、ＩＰオプションを含まずＴＴＬが１より大きい。
【０１１３】
　選択的事項として（ステップ５６０）（送信元ＩＰのリフレッシュ）において、送信元ＩＰアドレスは、パケットのＩＰヘッダから読み出される。本発明の方法は、ＩＰテーブル４５０（図７Ａ内）にこのＩＰアドレスに対応する記録を見いだす。このテーブル内にこのような記録が存在しない場合には、本発明の方法は何もせず、それを創設もしない。このような記録が存在する場合には、送信元ＭＡＣアドレスはパケットのＭＡＣヘッダから読み出される。
【０１１４】
　このＭＡＣアドレスが、ＩＰテーブルの記録のＭＡＣアドレスフィールドとは、異なる場合にはこの方法は何もせず記録を更新しない。このＭＡＣアドレスがＩＰテーブルの記録のＭＡＣアドレスフィールドに等しい場合には、この本発明の方法は、図７Ａのテーブル４５０内の記録の「学習フラグ」を設定することによりこの記録をリフレッシュし、それにより記録を「学習済み」とマークする。
【０１１５】
　ステップ５７０（宛先ＭＡＣが未知）において、パケットの宛先ＭＡＣアドレスは、図７のＭＡＣテーブル４６０内で見いだされるかあるいは見いだされないかのいずれかである。
　ステップ５８０（宛先ＭＡＣがオンセグメント）において、図７ＢのＭＡＣテーブル４６０内のパケットの宛先ＭＡＣアドレスに対応するポートが、パケットがそこから受信したポートに等しいかあるいは等しくないかである。
【０１１６】
　ステップ５９０（パケットの廃棄）においては、パケットは転送されない。
　ステップ６００においては、図７ＡのＩＰテーブル４５０は、パケットの宛先ＩＰアドレスにマッチする記録を見いだすために検索される。
　ステップ６１０において、パケットの宛先ＩＰアドレスにマッチする記録がステップ６００によりＩＰテーブル４５０内で見いだされない場合には、ステップ６２０に進み、それ以外の場合には、ステップ６５０に進む。
【０１１７】
　ステップ６２０（ＭＡＣ＝宛先ＭＡＣ）においては、パケットの宛先ＭＡＣアドレスがパケットの宛先ＩＰアドレスに対応するＭＡＣアドレスに等しいかあるいは等しくないかであり、これは図７ＡのＩＰテーブル４５０内で見いだされる。
【０１１８】
　ＩＰ転送（ステップ６３０）−通常、標準のＩＰ転送は、ＲＦＣ１８１２で定義されたよう機能する。これは、
（ａ）ＴＴＬを１づづ減分し、それに応じてＩＰチェックサムを更新する
（ｂ）宛先ＭＡＣアドレスを宛先ＩＰに対応する図７ＡのＩＰテーブル４５０内の記録内で見いだされたＭＡＣアドレスで置換する
（ｃ）送信元ＭＡＣアドレスを現在のスイッチのＭＡＣアドレスで置換する。スイッチが複数のＭＡＣアドレスを有する場合には、本発明の方法はパケットが送信されるべきＶＬＡＮに適した１つを使用する。
【０１１９】
　ＭＡＣスイッチング（ステップ６５０）−標準のＭＡＣスイッチングは、ＩＥＥＥ標準８０２．１Ｄに定義されたように機能し、これは図７ＢのＭＡＣテーブル４６０を学習し、更新することを含む。
【０１２０】
　図９は、図６のネットワーク素子Ａのようなネットワーク素子内の好ましいフロー制御シーケンスのフローチャート図である。
　タイマーコール（ステップ７００）においては、例えば３０秒等の所定の時間が経過すると、シーケンスはステップ７０５に進む。
【０１２１】
　決定７０５（エージング時間？）は、エージングプロセスが図７ＡのＩＰテーブル４５０上で実行されて以来、例えば５時間が経過したときには正となる。それ以外の場合には負となる。十分な時間が経過すると、ステップ７２０に進み、それ以外の場合には何もしない（ステップ７１０）。
　ステップ７２０（ＩＰテーブルのエージング）−図７ＡのＩＰテーブル４５０内の各記録、即ちエントリに対しステップ７３０−７５０を繰り返す。
【０１２２】
　決定７３０（学習済みとマークされたか？）は、現在チェックされたＩＰテーブルの記録がステップ５３０または５６０で学習済みとマークされている場合には、通常正であり、これは設定した記録の学習済みフラグにより識別される。「学習済みフラグ」は、図７ＡのＩＰテーブル４５０のフィールドの１つである。
　ステップ７４０：図７ＡのＩＰテーブル４５０内の「学習済みフラグ」フィールドがクリアされる。
　ステップ７５０（エントリをＩＰテーブルから削除）は、図７ＡのＩＰテーブル４５０から現在検査された記録を削除する。
【産業上の利用可能性】
【０１２３】
　本発明は、ルータを１個のみ有するネットワークおよび複数のルータを有するネットワークの両方に適用可能である。
【図面の簡単な説明】
【０１２４】
【図１】本発明の一実施例により構成され動作するスイッチング方法を表すフローチャート図。
【図２】Ａは、図１の方法に従って与えられたネットワークの例を示すブロック図。Ｂは、Ａのネットワーク要素ＣのＩＰテーブルの実施例を表す図。Ｃは、Ａのネットワーク要素ＣのＭＡＣテーブルの実施例を表す図。
【図３】図２Ａのスイッチまたはネットワーク素子ＡとＣのパケットフローシーケンスを表すフローチャート図。
【図４】図２Ａのスイッチまたはネットワーク素子ＡとＣの中で行われるフロー制御シーケンスのフローチャート図。
【図５】図２Ａのスイッチまたはネットワーク素子Ａ内のフロー制御のブロック図。
【図６】本発明の一実施例により構成され動作するネットワークのブロック図。
【図７】Ａは、図６のネットワーク素子ＡのＩＰテーブルの例を表す図。Ｂは、図６のネットワーク素子ＡのＭＡＣテーブルの例を表す図。Ｃは、図６のネットワーク素子Ａ用の学習制御テーブルの例を表す図。
【図８】図６のネットワーク素子Ａ内のパケットフローを表すフローチャート図。
【図９】図６のネットワーク素子Ａ内のフロー制御シーケンスを表すフローチャート図。
【符号の説明】
【０１２５】
３５、４０　ステーション
４５、５０、５５　スイッチ
６０　ルータ　ＭＡＣアドレス
６４　ステーション
７０　ＩＰテーブル
８０　ＭＡＣテーブル
【図１】
2004072802.tif 000003
【図２】
2004072802.tif 000004
【図３】
2004072802.tif 000005
【図４】
2004072802.tif 000006
【図５】
2004072802.tif 000007
【図６】
2004072802.tif 000008
【図７】
2004072802.tif 000009
【図８】
2004072802.tif 000010
【図９】
2004072802.tif 000011