(57)【要約】イングレスカードにより実行される方法は、宛先識別子をもつパケットを受信すること、及び複数のエグレスポートを有する、該宛先識別子と関連される集約されたリンクを決定することを含んでいる。さらに、本発明は、該集約されたリンクのエグレスポートから宛先ポートを決定すること、及び該宛先ポートにパケットを伝達することを含んでいる。
2005517353.tif 000002
【特許請求の範囲】
【請求項１】
宛先識別子を含むパケットを受信するステップと、
該宛先識別子と関連される、複数のエグレスポートを有する集約されたリンクを決定するステップと、
該集約されたリンクのエグレスポートから宛先ポートを決定するステップと、
該宛先ポートにパケットを伝達するステップと、
を備えるイングレスカードにより実行される方法。
【請求項２】
該イングレスカードは、スイッチにあり、
該スイッチは、複数のエグレスカードを含み、
該イングレスカードは、該スイッチのバックプレーンを使用して該エグレスカードに接続され、
該複数のエグレスポートは、該エグレスカードのポートを含む、
請求項１記載の方法。
【請求項３】
該集約されたリンクは、該エグレスポートに接続される複数の物理リンクを指定する仮想アドレスを含む、
請求項１記載の方法。
【請求項４】
該宛先ポートを決定するステップは、該集約されたリンクのエグレスポート間のトラフィックを分散する負荷分散アルゴリズムに従って宛先ポートを決定するステップを含む、
請求項１記載の方法。
【請求項５】
該方法は、イーサネット（登録商標）スイッチにおけるイングレスカードにより実行され、
該集約されたリンクは、媒体アクセス制御アドレスにより識別される、
請求項１記載の方法。
【請求項６】
パケットを受信するステップと、
該パケットについて複数のエグレスリンクを決定するステップと、
それぞれのエグレスリンクについて該エグレスリンクが複数のエグレスポートを有する集約されたリンクであるか、又は単一のエグレスポートを有する集約されていないリンクであるかを判定するステップと、
それぞれの集約されたリンクについて該エグレスポートから宛先ポートを決定し、該宛先ポートにパケットを伝達するステップと、
それぞれの集約されていないリンクについて、該集約されていないリンクの単一のエグレスポートにパケットを伝達するステップと、
を備えるイングレスカードにより実行される方法。
【請求項７】
該複数のエグレスリンクを決定するステップは、
該パケットがマルチキャストのパケットであるかを判定するステップと、
複数の宛先を含む、該パケットのマルチキャストグループを決定するステップと、
それぞれの宛先について該宛先と関連されるエグレスリンクを決定するステップと、
を備える請求項６記載の方法。
【請求項８】
該複数のエグレスリンクを決定するステップは、
複数の利用可能なエグレスリンクを決定するステップと、
該パケットのソースと関連される利用可能なエグレスリンクを除くステップと、
残りの利用可能なエグレスリンクが該複数のエグレスリンクを含んでいるかを判定するステップと、
請求項６記載の方法。
【請求項９】
該パケットの宛先から確認応答を受信するステップと、
該確認応答のソースリンクを決定するステップと、
該宛先と該ソースリンクを関連付ける宛先情報を記憶するステップと、
をさらに備える請求項８記載の方法。
【請求項１０】
それぞれの集約されたリンクについて宛先ポートを決定するステップは、該集約されたリンクのエグレスポート間のトラフィックを分散する負荷分散アルゴリズムに従い該宛先ポートを決定するステップを含む、
請求項６記載の方法。
【請求項１１】
該方法は、イーサネット（登録商標）スイッチにおけるイングレスカードにより実行され、
それぞれのエグレスリンクは、媒体アクセス制御アドレスにより識別される、
請求項６記載の方法。
【請求項１２】
パケットを受信するために作用可能なインタフェースと、
それぞれがリンクと関連される複数の宛先識別子を含む宛先情報と、それぞれのリンクの１以上のエグレスポートを識別する、複数のリンクのためのポート情報とを記憶するために作用可能なメモリと、
パケットについて１以上の宛先を決定し、それぞれの宛先について関連されるリンクを決定し、集約されるそれぞれの関連されるリンクについて宛先ポートを決定し、該インタフェースを使用してそれぞれの宛先ポートにパケットを伝達するために作用可能なプロセッサと、
を備えるイングレスカード。
【請求項１３】
スイッチをさらに備え、該スイッチは、複数のエグレスカードをさらに有し、該エグレスカードは、複数のエグレスポートをさらに含む、
請求項１２記載のイングレスカード。
【請求項１４】
それぞれのリンクは、１以上の物理リンクを含み、
それぞれのエグレスポートは、該１以上の物理リンクのうちの１つに接続される、
請求項１３記載のイングレスカード。
【請求項１５】
宛先識別子を含むパケットを受信するステップと、
該宛先識別子と関連される、複数のエグレスポートを有する集約されたリンクを決定するステップと、
該集約されたリンクのエグレスポートから宛先ポートを決定するステップと、
該宛先ポートにパケットを伝達するステップと、
を実行するために作用可能なコンピュータ読取り可能な媒体で具体化されるロジック。
【請求項１６】
イングレスカードは、スイッチにあり、
該スイッチは、複数のエグレスカードを含み、
該イングレスカードは、該スイッチのバックプレーンを使用して該エグレスカードに接続され、
該複数のエグレスポートは、該エグレスカードのポートを含む、
請求項１記載の方法。
【請求項１７】
該集約されたリンクは、該エグレスポートに接続される複数の物理リンクを指定する仮想アドレスを含む、
請求項１５記載のロジック。
【請求項１８】
該宛先ポートを決定するステップは、該集約されたリンクのエグレスポート間のトラフィックを分散する負荷分散アルゴリズムに従い該宛先ポートを決定するステップを含む、
請求項１５記載のロジック。
【請求項１９】
パケットを受信するステップと、
該パケットについて複数のエグレスリンクを決定するステップと、
それぞれのエグレスリンクについて該エグレスリンクが複数のエグレスポートを有する集約されたリンクであるか、又は単一のエグレスポートを有する集約されていないリンクであるかを判定するステップと、
それぞれの集約されたリンクについて該エグレスポートから宛先ポートを決定し、該宛先ポートにパケットを伝達するステップと、
それぞれの集約されていないリンクについて該集約されていないリンクの単一のエグレスポートにパケットを伝達するステップと、
を実行するために作用可能なコンピュータ読取り可能な媒体で具体化されるロジック。
【請求項２０】
該複数のエグレスリンクを決定するステップは、
該パケットがマルチキャストのパケットであるかを判定するステップと、
複数の宛先を含む、該パケットのマルチキャストグループを決定するステップと、
それぞれの宛先について該宛先と関連されるエグレスリンクを決定するステップと、
を備える請求項１９記載のロジック。
【請求項２１】
該複数のエグレスリンクを決定するステップは、
複数の利用可能なエグレスリンクを決定するステップと、
該パケットのソースと関連される利用可能なエグレスリンクを除くステップと、
残りの利用可能なエグレスリンクが該複数のエグレスリンクであるかを判定するステップと、
を備える請求項１９記載のロジック。
【請求項２２】
該パケットの宛先から確認応答を受信するステップと、
該確認応答のソースリンクを決定するステップと、
該宛先を該ソースリンクと関連付ける宛先情報を記憶するステップと、
をさらに備える請求項２１記載のロジック。
【請求項２３】
それぞれの集約されたリンクについて宛先ポートを決定するステップは、該集約されたリンクのエグレスポート間のトラフィックを分散する負荷分散アルゴリズムに従い該宛先ポートを決定するステップを含む、
請求項１９記載のロジック。
【請求項２４】
宛先識別子を含むパケットを受信するステップと、
該宛先識別子がメモリに記憶されている宛先情報における複数の知り得た宛先のいずれか１つに対応するかを判定するステップと、
該宛先識別子が該知り得た宛先のうちの１つに対応する場合に、該宛先識別子と関連される１以上のエグレスリンクのアドレスを決定し、それぞれのエグレスリンクアドレスについて該エグレスリンクアドレスと関連される１以上のエグレスポートを決定し、１以上のエグレスポートと関連されるそれぞれのエグレスリンクアドレスについてエグレスリンクと関連されるエグレスポートからパケットの宛先ポートを決定し、１つのエグレスポートと関連されるそれぞれのエグレスリンクアドレスについて該エグレスポートが該パケットの宛先ポートであるかを判定し、それぞれのエグレスリンクアドレスについてエグレスリンクと関連される宛先ポートに該パケットのコピーを伝達するステップと、
該宛先識別子が該知り得た宛先のうちの１つに対応しない場合に、１以上の利用可能なエグレスリンクを決定し、該パケットが受信された利用可能なエグレスリンクを除いて、全ての利用可能なエグレスリンクにパケットのコピーを伝達し、宛先から確認応答を受信し、該確認応答に応答して該宛先情報を更新するステップと、
を備えるイングレスカードにより実行される方法。
【請求項２５】
該方法は、該イングレスカードと、それぞれが１以上のエグレスポートを含む複数のエグレスカードとを備えるスイッチで実行され、
それぞれのリンクは、１以上の物理リンクを含み、該スイッチの該エグレスポートのうちの１つに接続される、
請求項２４記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットベースの通信ネットワーク全般に関し、より詳細には、イングレスカードの分散処理を使用して、パケットを集約されたリンクに送信するための方法及びシステムに関する。
【背景技術】
【０００２】
電気通信ネットワークは、益々多くのトラヒックを扱うため、ネットワークがより大量の情報フローを処理することができる新たな方法が絶え間なく開発されている。リンクの集約は、１つの例である。リンクの集約では、幾つかの物理リンクが集約され、電気通信システムに対して１つの論理リンクとして見える。この集約により、特定のリンクが節約されるよりはむしろ、全てのリンクを積極的に使用することができる。したがって、リンクの集約により、ネットワークリソースの更に効率的な使用、及び更に良好な負荷分散が提供される。しかし、トレードオフとして、リンクの集約では、集約されたリンクを実現するために実質的に更なる処理及び／又はハードウェアが必要とされる。
【発明の開示】
【課題を解決するための手段】
【０００３】
本発明によれば、スイッチにおいてリンクの集約を実現することに関連する不利な点及び課題が実質的に低減又は解消される。特に、本発明のある実施の形態は、分散処理を使用してリンクの集約を実現するための方法及びシステムを提供する。また、本発明のある実施の形態は、ＩＥＥＥ規格８０２．３で着手されているリンク集約に対応するＩＥＥＥ規格に準拠する。
【０００４】
本発明の１実施の形態によれば、イングレスカードにより実行される方法は、宛先識別子を含むパケットを受信することを含んでいる。また、本方法は、該宛先識別子と関連される集約型のリンクを判定すること、及び該集約型リンクのエグレスポートから宛先ポートを決定することを含んでいる。さらに、本発明は、該宛先ポートにパケットを伝達することを含んでいる。
【０００５】
本発明の別の実施の形態によれば、イングレスカードにより実行される方法は、パケットを受信すること、及び該パケットについてエグレスリンクを決定することを含んでいる。また、本方法は、それぞれのリンクが複数のエグレスポートをもつ集約型リンクであるか、又は単一のエグレスポートをもつ集約型ではないリンクであるかを判定することを含んでいる。それぞれの集約型リンクについてエグレスポートから宛先ポートが決定され、該宛先ポートにパケットが伝達される。それぞれ集約型ではないリンクについて単一のエグレスポートにパケットのコピーが伝達される。
【０００６】
本発明のある実施の形態に関する重要な技術的な利点は、イングレスコンポーネント間の分散処理を使用してリンクの集約を実現することである。たとえば、イングレスカードがあるリンクにパケットを送出した後、該パケットから宛先ポートを個別に決定するためのハードウェア及び／又はソフトウェアで実現される個別の処理ステージの必要を除いて、個々のイングレスカードは、パケットの宛先ポートを決定することができる。これにより、スイッチにおけるパケット送信に関する効率及び速度が改善される。
【０００７】
ある実施の形態に関するなお更なる重要な技術的な利点は、各種のパケットトラフィックを処理するために使用される場合がある分散型アーキテクチャである。たとえば、ある実施の形態のイングレスカードは、ユニキャストトラフィック、マルチキャストトラフィック及びブリッジトラフィックを送出することができる。特定の実施の形態は、異なるプロトコルからのパケットもまた処理する場合がある。
【０００８】
本発明のある実施の形態に関する他の重要な技術的な利点は、負荷を分散することを含んでいる。また、パケットの宛先ポートを決定するためのイングレスカードにより使用されるテーブル又は他の情報は、追加の使用情報を含んでいる場合があり、この使用情報により、イングレスカードは、集約型リンクにおけるエグレスポートから宛先ポートを決定することができる。このことは、他を排除して１つのリンクを使用することよりは、集約型リンクにおける幾つかのリンクの間で、更に釣り合いのとれたやり方で負荷が分散される場合があることを意味している。本発明の特定の実施の形態は、列挙された技術的な利点の幾つか又は全部を有している場合がある。更に他の重要な技術的な利点は、以下の図面、発明の実施の形態及び特許請求の範囲から当業者にとって明らかとなるであろう。  
より完全な本発明及びその効果の理解のため、添付図面と共に以下の発明の実施の形態が参照される。
【発明を実施するための最良の形態】
【０００９】
図１は、ネットワーク１０２に接続されるスイッチ１０４を含むシステム１００を示している。ネットワーク１０２及びスイッチ１０４を使用することで、ソース１０３から宛先１１２にパケットが伝達される。スイッチ１０４のコンポーネントは、ソース１０３からパケットを受信したとき「イングレス（ingress）」コンポーネントと呼ばれ、宛先１１２にパケットを送出したとき「エグレス（egress）」コンポーネントと呼ばれる。
【００１０】
ネットワーク１０２は、パケット、セル、フレーム、セグメント、若しくは他のデータ部分（一般に「パケット」と呼ばれる）を伝達するためのいずれかの適切な構成を表している。ネットワーク１０２は、インターネット、エクストラネット、ローカルエリアネットワーク（ＬＡＮ）、同期光伝送網（ＳＯＮＥＴ）、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）、又は情報を伝達するためのいずれか他の適切なネットワークを表している場合がある。ネットワーク１０２は、ルータ、スイッチ、ハブ、エンドポイント、又は情報を伝達するいずれかの他のネットワーク装置を含んでいる場合がある。ネットワーク１０２は、情報をやり取りするための任意の数又は構成のコンポーネントを意図している。
【００１１】
ソース１０３は、パケット形式での情報に関するいずれかの情報源を表している。ソース１０３は、パケットを生成したオリジナル装置である必要はないが、パケットをネットワーク１０２に伝達する必要がある。ソース１０３は、エンドポイント、スイッチ、ルータ、ハブ、又はいずれか他の適切なネットワーク装置を含めて、情報を伝達するために構成されるいずれかのハードウェア及び／ソフトウェアである場合がある。
【００１２】
スイッチ１０４は、パケットを送信及び受信する。スイッチ１０４は、パケットを受信してそれらを他の装置に伝達するために構成される、イーサネット（登録商標）スイッチ、ルータ、ハブ、又はいずれか他の適切なハードウェア及び／又はソフトウェアを含めて、いずれかの適切な装置を表している場合がある。スイッチ１０４は、物理リンク１０８及びバックプレーン１１４に接続されるカード１０６を含んでおり、このバックプレーンは、スイッチ１０４におけるカード１０６が互いに情報をやり取りすることを可能にするハードウェア及び／ソフトウェアを表している。
【００１３】
カード１０６は、スイッチ１０４における個別のハードウェア及び／又はソフトウェアコンポーネントを表しており、ネットワーク１０２とパケットを交換する。カード１０６は、いずれかの他のコンポーネント、モジュール、又はパケットを個別に受信してスイッチ１０４の他のコンポーネントにそれらパケットを伝達可能なスイッチ１０４の一部であるだけでなく、従来のインタフェースカードを含んでいる場合がある。それぞれのカード１０６は、物理リンク１０８に接続される１以上のポート１１０を有している。カード１０６は、バックプレーン１１４を使用して互いに情報及びパケットを交換する場合がある。それぞれのカード１０６は、スイッチ１０４における別のカード１０６にポート１１０を識別し、パケットをそのポート１１０に伝達するための十分な処理能力を含んでいる。
【００１４】
物理リンク１０８は、スイッチ１０４と他の装置との間の物理的なインタフェースを表している。リンク１０８は、光ファイバコネクション、ケーブル、無線リンク、又はスイッチ１０４と他の装置との間で情報を通信するためのいずれかの他の適切な方法を含んでいる場合がある。リンク１０８は、ポート１１０を使用してスイッチ１０４のカード１０６に接続する。ポート１１０は、情報がリンク１０８から受信され、リンク１０８に伝達されることを可能にする、カード１０６と物理リンク１０８の間のいずれかの他の適切な物理インタフェースを表している。それぞれの物理リンク１０８は、ポート１１０の形式での１つの物理的なコネクションと関連される。
【００１５】
ソース１０３からのパケットを受信するために使用されるカード１０６、ポート１１０、又はリンク１０８は、「イングレス」カード１０６、「イングレス」ポート１１０又は「イングレス」リンク１０８と呼ばれる。パケットを宛先１１２に伝達するために使用されるカード１０６、ポート１１０又はリンク１０８は、「エグレス」カード１０６、「エグレス」ポート１１０、又は「エグレス」リンク１０８と呼ばれる。カード１０６、ポート１１０及びリンク１０８は、二方向性である場合があり、特定のコンポーネントは、該コンポーネントが所与の時間でパケットを送信するか、又は受信するかに依存して、イングレスコンポーネント又はエグレスコンポーネントのいずれかとなる場合がある。
【００１６】
宛先１１２は、パケットを受信するために構成されるいずれかのハードウェア及び／又はソフトウェアを表している。宛先１１２は、ルータ、スイッチ、エンドポイント、又はいずれかの他の適切なネットワーク装置を含んでいる場合がある。宛先１１２は、パケットがその最終的な宛先に到達する前のパケットの中間の宛先である場合がある。たとえば、あるパケットは、最終的な宛先を識別する情報を含んでいる場合があるが、スイッチ１０４は、そのパケットがその最終的な宛先に到達するために、スイッチ１０４に接続される宛先１１２のうちの１つに最初に伝達されなければならないかを判定する。また、宛先１１２は、パケットのソース１０３である場合があり、パケットのソース１０３は、他のパケットの宛先１１２である場合もある。
【００１７】
特定の宛先１１２への複数の物理リンク１０８は、集約されたリンク（aggregated  link）１１６を形成するために集約される。集約されたリンク１１６は、媒体アクセス制御（MAC:  Media  Access  Control）アドレス、インターネットプロトコル（IP:  Internet  Protocol）アドレス、若しくは他の適切なアドレス又は識別子、さもなければスイッチ１０４と宛先１１２の間の単一の論理リンクとして扱われるアドレスのような、単一の論理アドレスによりアドレス割り当てされる複数の物理リンク１０８を表している。集約されたリンク１１６は、同じ宛先１１２に向かう複数の物理リンク１０８を含んでいるため、宛先１１２に送出されるパケットは、集約されたリンク１１６の１つの物理リンク１０８に対応している１つのポート１１０に送出されることのみが必要とされる。本発明のある実施の形態に関する１つの技術的な利点は、ラウンドロビン、ランダムセレクション、ハッシュテーブルを使用した擬似ランダムセレクション、又はいずれかの他の選択技術のような、ある代替的なやり方でイングレスカード１０６がポート１１０にパケットを伝達する場合があることである。これにより、いずれかの特定の物理リンク１０８への負荷は、集約されたリンク１１６における他の物理リンク１０８への負荷と釣り合いをとることができる。
【００１８】
図２は、更に詳細なカード１０６を示している。カード１０６は、イングレスバックプレーンインタフェース（ＩＢＩ）２１０及びエグレスバックプレーンインタフェース（ＥＢＩ）２１２を使用して、スイッチ１０４のバックプレーン１１４に接続される。カード１０６は、リンク１０８に接続されるポート１１０を含めて、物理レイヤの装置２０２を通してネットワーク１０２に接続される。カード１０６は、イングレスプロセッサ２０４、エグレスプロセッサ２１４、トラフィックマネージャ２０６、及びメモリ２０８を含んでいる。カード１０６は、ネットワーク１０２又はバックプレーン１１４からのパケットを通信する場合がある。ネットワーク１０２から受信されたパケットは、「イングレス」サイドに関するものであると考えられ、バックプレーン１１４から受信されたパケットは、カード１０６の「エグレス」サイドに関するものであると考えられる。このように、カード１０６のレベルで、用語「イングレス」及び「エグレス」は、ネットワーク１０２からパケットを受信するか、又はバックプレーン１１４からパケットを受信するかに関して、それらのコンポーネントの機能を呼ぶものとする。
【００１９】
物理レイヤの装置２０２は、カード１０６とネットワーク１０２の間のいずれかの物理インタフェースを表している。特に、物理レイヤ装置２０２は、図１と共に説明されたようなポート１１０とリンク１０８のいずれかの組み合わせを表している場合がある。たとえば、それぞれのカード１０６は、それぞれが物理リンク１０８に接続される２つのポート１１０を含んでいるが、いずれかの数のポート１１０又はリンク１０８が使用される場合がある。
【００２０】
イングレスプロセッサ２０４及びトラフィックマネージャ２０６は、ハードウェア及び／又はソフトウェアのいずれかの組み合わせを表しており、この組み合わせにより、カード１０６は、物理レイヤ装置２０２から受信されたパケットの行き先を決定することができる。特定の実施の形態では、イングレスプロセッサ２０４は、ユニキャストパケットのルーティングを扱い、トラフィックマネージャ２０６は、マルチキャストパケットのルーティングを扱う。「ユニキャスト」とは、単一の宛先に向けられるいずれかのパケットのことをいい、「マルチキャスト」とは、複数の宛先を有するパケットのことをいう。
【００２１】
ＩＢＩ２１０及びＥＢＩ２１２は、カード１０６とスイッチ１０４のバックプレーン１１４の間のいずれかのポート又はコネクション、リアル又はバーチャルのことをいう。ＩＢＩ２１０及びＥＢＩ２１２は、個別のコンポーネントを表している場合があり、又は代替的に、バックプレーン１１４へのパケットの送信及びバックプレーン１１４からのパケットの受信のために使用される同じハードウェア及び／又はソフトウェアを表している場合がある。機能的に、ＩＢＩ２１０は、バックプレーン１１４にパケットを送出し、ＥＢＩ２１２は、バックプレーン１１４からのパケットを受信する。
【００２２】
エグレスプロセッサ２１４は、ネットワーク１０２に送出されるパケットのルーティングを処理する。エグレスプロセッサ２１４は、パケットを処理するためのハードウェア及び／ソフトウェアのいずれかの適切な組み合わせをあらわしている場合がある。また、エグレスプロセッサ２１４は、パケットを受信した他の装置からの確認応答を受信する場合がある。これにより、エグレスプロセッサ２１４は、ダウンストリームにある装置からの受信に関する確認応答を受信することで、様々なパケットの宛先を「知る」ことができ、この知り得た宛先をメモリ２０８に記憶することができる。
【００２３】
メモリ２０８は、磁気メディア、光メディア、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、リムーバブルメディア、又は他の適切な形式の情報ストレージを含む、情報を記憶するためのいずれかのメディアを表している。メモリ２０８は、パケットのルーティングに関する各種情報を記憶する。この情報は、イングレスプロセッサ２０４、トラフィックマネージャ２０６、及びエグレスプロセッサ２１４のような、カード１０６のコンポーネントによりアクセス可能である。特定の実施の形態では、メモリ２０８は、宛先識別子２１５、宛先情報２１８及びポート情報２１８を記憶する。
【００２４】
宛先識別子２１５は、パケットの中間的な宛先又は最終的な宛先を識別する情報を表している。宛先識別子２１５は、宛先１１２のネットワークアドレス、エグレスリンクの論理アドレス、又はパケットの宛先を識別するために有効ないずれか他の情報を含んでいる場合がある。宛先識別子２１５は、パケットから決定可能ないずれかの情報を意図しており、この情報により、カード１０６は、パケットの１以上の宛先１１２を識別することができる。
【００２５】
宛先情報２１６は、パケットにおける宛先識別子２１５をエグレスリンクと関連付ける。宛先情報２１６は、１以上のテーブル、ファイル、データベース、又は他の形式の編成を含む、いずれかの適切なやり方で編成される場合がある。カード１０６は、パケットからの宛先識別子２１５を使用して１以上のエグレスリンクを決定するために、宛先情報２１６を使用する。たとえば、マルチキャストパケットは、個別のリンクアドレスの代わりに、マルチキャストグループ識別子を含んでいる場合がある。イングレスカード１０６は、パケットを受信し、マルチキャストグループ識別子を調べ、該マルチキャストグループに関連されるエグレスリンクを決定する。別の例では、パケットは、スイッチ１０４からのリンクアドレスだけでなく、（受信する装置のＩＰアドレスのような）最終的な宛先アドレスを含んでいる場合がある。そのケースでは、イングレスリンク１０６は、最終的な宛先へのエグレスリンクを決定するために、宛先情報２１６を使用する。宛先情報２１６は、１以上のレイヤもまた含んでいる場合がある。たとえば、宛先情報２１６は、マルチキャストグループを宛先のＩＰアドレスに関連付けする第一のテーブル、及び宛先のＩＰアドレスを論理リンクアドレスに関連付けする第二のテーブルを含んでいる場合がある。また、パケットが受信されたことを示す宛先１１２からの確認応答をカード１０６が受信したときのように、新たな情報又は更なる情報が利用可能となったとき、カード１０６は、宛先情報２１６を更新する場合がある。
【００２６】
ポート情報２１８は、特定のリンクと関連されるポート１１０を識別するいずれかの形式のデータのことを表す。たとえば、集約されていないリンク１０８のポート情報２１８は、集約されていないリンク１０８の単一のエグレスポート１１０を識別する。集約されたリンク１１６のポート情報２１８は、単一のカード１０６又は複数のカード１０６に関するポート１１０を含んでいる場合がある、集約されたリンク１１６の物理リンク１０８に接続される複数のポート１１０を識別する。また、ポート情報２１８は、どのカード１０６がそれぞれのポート１１０に接続されているか識別する場合がある。ポート情報２１８は、テーブル、データベース又はいずれかの他のフォーマットのような、いずれかの適切なデータ構成を意図している。たとえば、ポート１１０又は物理リンク１０８が故障したときといった、ネットワーク状態が変更したとき、カード１０６は、ポート情報２１８を更新する場合がある。
【００２７】
動作において、カード１０６は、ネットワーク１０２からのパケットを受信する。イングレスカード１０６は、特定のパケットの宛先を決定し、その宛先が特定のエグレスリンクと関連付けされているかを調べるために、宛先情報２１６を調べる。あるパケットは、カードが未だ知り得ていない宛先識別子２１５を有する場合があり、このため、宛先情報２１６は、パケットの宛先識別子２１５と関連される１以上のエグレスリンクを含んでいない。かかるケースでは、パケットがその適切な宛先に到達し、宛先がカード１０６に確認応答を返送するように、カード１０６は、全ての利用可能なエグレスリンクをフラッド（flood）する場合がある。宛先をフラッドするために、カード１０６は、ポート情報２１８を使用してスイッチ１０４に接続される論理リンクを決定する。カード１０６は、そのリンクからパケットが受信された該リンクを除いて、これらのリンクにパケットを伝達する。特定の実施の形態では、フラッドされたカードは、そのカード内の全てのポートへのパケットを複製する。このため、カード１０６は、特定のエグレスカード１０６に一度だけパケットを伝達する必要がある。
【００２８】
宛先が予め知り得ている場合、カード１０６は、宛先情報２１６を使用して適切なエグレスリンク（ユニキャスト）又はエグレスリンクス（マルチキャスト）を決定する。それぞれの集約されたリンクについて、カード１０６は、その後、ポート情報２１８を使用して、集約されたエグレスリンク１１６の宛先のエグレスポート１１０を決定する。次いで、カード１０６は、宛先エグレスポート１１０にパケットを送出する。集約されていないリンクについて、カード１０６は、集約されていないリンク１０８の単一のエグレスポート１１０にパケットを伝達する。
【００２９】
スイッチ１０４及びカード１０６の特定の実施の形態及び動作モードが詳細に説明されたが、当業者にとって様々な変形が明らかであろう。説明された特定の機能は、広く多様なハードウェア及び／又はソフトウェアにより実行される場合があり、説明されたスイッチ１０４のコンポーネントと、いずれか適切な追加のコンポーネントの間で分散される場合がある。さらに、特定のコンポーネントは、置き換えられるか又は省略され、他のコンポーネントが説明された全体の動作を変えることなしに追加される場合がある。
【００３０】
図３は、ユニキャスト動作方法及びマルチキャスト動作方法の両者においてパケットを送信するための方法を説明するフローチャート３００である。ユニキャストのケースでは、カード１０６は、単一の宛先１１２にパケットを伝達する必要がある。マルチキャストのケースでは、カード１０６は、１以上のエグレスリンクによりアクセス可能な場合がある、複数の宛先１１２にパケットを伝達する必要がある。以下の方法により、カード１０６は、同じ宛先にパケットの複数のコピーを送出することなしに、その宛先１１２の全てにパケットを伝達することができる。
【００３１】
ステップ３０２で、カード１０６は、パケットを受信する。ステップ３０４で、カードは、パケットの宛先識別子２１５を決定し、該宛先識別子２１５をカード１０６が予め知り得ているかを判定するために宛先情報２１６を使用する。宛先が予め知り得ていない場合、ステップ３０６で、図４において更に詳細に示されるように、カード１０６は、全てのエグレスリンクをフラッドする。
【００３２】
パケットの宛先識別子２１５を知り得ている場合、ステップ３０８で、カード１０６は、宛先識別子２１５がマルチキャスト又はユニキャストの宛先を識別するかを次に判定する。パケットがマルチキャストのパケットである場合、ステップ３１０で、カード１０６は、宛先情報２１６を使用してパケットの宛先のうちの１つを選択する。他方で、パケットがユニキャストのパケットである場合、唯一の宛先が存在し、このため、選択処理を実行する必要がない。
【００３３】
ステップ３１２で、カード１０６は、宛先情報２１６を使用して宛先と関連されるエグレスリンクを識別する。ステップ３１３で、カード１０６は、選択されたリンクにパケットが前に送出されたかを判定する。たとえば、複数の宛先のうちの１つにパケットを伝達することが、実際上、両方の宛先にパケットを伝達するように、マルチキャストパケットは、同じエグレスリンクによりアクセス可能な２つの宛先を有する場合がある。かかるケースでは、カード１０６は、パケットを２度伝達する必要がなく、ステップ３２６で、もしあるなら、マルチキャストのパケットの別の宛先に進む。
【００３４】
カード１０６がエグレスリンクにパケットを前に伝達していない場合、ステップ３１４で、カード１０６は、リンクが集約されているか否かを判定する。リンクが集約されていないリンク１０８である場合、カード１０６は、ポート情報２１８を使用して集約されていないリンク１０８のエグレスポート１１０を決定し、ステップ３１６で、集約されていないリンク１０８の単一のエグレスポート１１０にパケットを送出する。
【００３５】
リンクが集約されたリンク１１６である場合、ステップ３２０で、カード１０６は、ポート情報２１８における情報を使用して集約されたリンク１１６の宛先ポート１１０を決定する。カード１０６は、ランダムセレクション、負荷分散、擬似ランダムセレクション、パケット情報の一部を使用したハッシング、ヒストリカルトラッキング、ラウンドロビン、又はいずれかの他の選択方法を使用して、集約されたリンクの複数のポート１１０から特定の宛先ポート１１０を選択する場合がある。次いで、ステップ３２２で、カード１０６は、宛先ポート１１０にパケットを伝達する。
【００３６】
パケットがその宛先ポートに送出されているユニキャストパケットである場合、ひとたびパケットが適切なエグレスリンクに伝達されると、本方法は終了する。他方で、ステップ３２４で、パケットがマルチキャストのパケットである場合、次いで、ステップ３２６で、カード１０６は、パケットが全てのその宛先に送出されたかを判定する。パケットが全ての宛先に送出された場合、本方法は終了する。さもなければ、ステップ３１０で、カード１０６は、マルチキャストグループにおける残りの宛先から新たな宛先を選択し、ステップ３１２に進む。
【００３７】
特定の実施の形態に係る本方法が説明されたが、当業者にとって様々な変形が明らかであろう。たとえば、マルチキャストパケットが、個々の宛先を選択してパケットを送出するよりはむしろ、全ての宛先に同時に送出される場合がある。特定のステップが同時又は連続的に実行される場合があり、特定の処理順序が変更される場合もある。さらに、本方法の全体の動作を変えることなしに、本方法の特定のステップが省略及び追加される場合がある。
【００３８】
図４は、スイッチ１０４と関連される宛先アドレスをフラッディングするための方法を説明するフローチャートである。「フラッディング」は、パケットのコピーをスイッチ１０４の全ての利用可能なリンクに送出することをいう。パケットの宛先識別子２１５から１以上の特定のリンクをカード１０６が決定することができないとき、カード１０６は、パケットをフラッドする。正しいリンクが知られていないので、カード１０６は、パケットのコピーをスイッチ１０４の全ての利用可能なリンクに伝達する。特定の実施の形態では、エグレスカード１０６がパケットを受信したとき、エグレスカード１０６は、パケットのコピーを全てのそのポート１０６に伝達する。したがって、カード１０６は、パケットの唯一のコピーをそれぞれのエグレスカード１０６に伝達する。集約されたリンク１１６により、集約されたリンク１１６は、複数のエグレスカード１０６にわたり展開される場合があるが、集約されたリンク１１６の宛先に到達するために、集約されたリンク１１６の１つのエグレスカード１０６にパケットを伝達することのみが必要である。不必要なパケットのコピーを避けるために、及びパケット伝搬の順序の乱れのようなかかる複製から生じる可能性のある結果を回避するために、カード１０６は、パケットのコピーを受信することから、所定のエグレスカード１０６を除くために以下の方法を使用する場合がある。
【００３９】
ステップ４０２で、カード１０６は、ポート情報２１８を使用してスイッチ１０４のリンクの全ての利用可能なエグレスリンクを決定する。次いで、ステップ４０４で、そのイングレスリンクからパケットが受信された該イングレスリンクを除く。次いで、残りのエグレスリンクは、カード１０６によりアクセス可能な全ての宛先にパケットのコピーを伝達するために使用される場合がある。
【００４０】
ステップ４０６で、カード１０６は、エグレスリンクのうちの１つを選択する。次いで、ステップ４０８で、カード１０６は、ポート情報２１８を使用してそのリンクが複数のエグレスポート１１０をもつ集約されたリンク１１６であるかを判定する。リンクが集約されていない場合、ステップ４１０で、カード１０６は、そのリンクのエグレスポート１１０に接続されるエグレスカード１０６がパケットのコピーを受信したかを判定する。カード１０６は、メモリ２０８に送出されたパケットに記録を保持することで、パケットがカード１０６に以前に送出されたかを判定する場合がある。たとえば、カード１０６は、特定のエグレスカード１０６がパケットを受信したことをポート情報２１８に示す場合がある。ステップ４１０で、エグレスカード１０６がパケットを以前に受信した場合、このとき、カード１０６は、そのエグレスカード１０６にパケットのコピーを送出する必要がない。これは、エグレスカード１０６が該エグレスカード１０６の全ての利用可能なポート１１０へのパケットを既に複製しているためである。他方で、エグレスカード１０６がパケットを受信していない場合、ステップ４１２で、カード１０６は、そのリンクのエグレスポート１１０を含むエグレスカード１０６にパケットのコピーを送出する。
【００４１】
選択されたリンクが集約されている場合、次いで、ステップ４１４で、カード１０６は、ポート情報２１８を使用して集約されたリンク１１６が分離されているかを判定する。「分離されている」とは、集約されたリンク１１６が、集約されていないリンク１０８とエグレスカード１０６を共有するいずれかのポート１１０を持たないことをいう。集約されていないリンク１０８のそれぞれの宛先１１２に到達するために、カード１０６はパケットのコピーをそれぞれ集約されていないリンク１０８に伝達する必要があるので、集約されていないリンク１０８のポート１１０を含むいずれかのカード１０６は、パケットのコピーを受信する必要がある。カード１０６がパケットを複製するため、集約されていないリンク１０８とカード１０６を共有するいずれかの集約されたリンク１１６は、パケットのコピーもまた受信する。したがって、集約されていないリンク１０８とカード１０６を共有しない集約されたリンク１１６のみがパケットのコピーを受信する必要がある。
【００４２】
エグレスリンクが集約された分離されたリンクである場合、カード１０６は、集約されたリンク１１６の宛先ポート１１０にパケットを伝達する。ステップ４１６で、カード１０６は、パケットの宛先ポート１１０を決定する。図２及び図３と共に説明された方法のいずれかを含めて、カード１０６は、宛先ポート１１０を決定するためにいずれかの適切な方法を使用する場合がある。次いで、ステップ４１８で、カード１０６は、宛先ポート１１０にパケットを伝達する。
【００４３】
ステップ４２０で、カード１０６は、いずれかの残りのエグレスリンクが存在するかを判定する。残りのエグレスリンクが存在する場合、カード１０６は新たなリンクを選択し、ステップ４０６に進む。残りのリンクが存在しない場合、カード１０６は、パケットが受信された宛先の１つからの確認応答を待つ。ステップ４２２で、カード１０６は、確認応答を受信し、ステップ４２４で、そのリンクから確認応答が受信された該リンクを決定する。次いで、ステップ４２６で、カード１０６は、ソースリンクを宛先識別子２１５と関連付けることで宛先情報２１６を更新する。パケットがマルチキャストパケットであるとき、ステップ４２８で、カード１０６は、いずれかの残りの宛先からの確認応答を待つ。ステップ４３０で、カード１０６は、スイッチ１０４における他のカード１０６に対してその知り得たことを通知する場合もある。
【００４４】
説明された実施の形態は、当業者にとって明らかな場合がある様々な可能な実施の形態のうちの唯一の特定の実施の形態である。たとえば、カード１０６は、カード毎に判定及び伝達するよりはむしろ、どのカード１０６がパケットを受信する必要があるかを最初に判定して、全てのカード１０６に同時にパケットを伝達する場合がある。カード１０６は、更新された宛先情報２１６をスイッチ１０４における他のカードから受信することのように、追加のステップもまた実行する場合がある。さらに、特定のステップが、異なる順序で実行される場合があり、説明された方法の全体の動作を変えることなしに、所定のステップが変更又は省略される場合がある。
【００４５】
本発明は、幾つかの実施の形態を通して説明されたが、無数の変形、バリエーション、代替、変換及び変更が当業者に対して提案される場合があり、本発明は、かかる変形、バリエーション、代替、変換及び変更を特許請求の範囲に含まれるものとして包含することが意図される。
【図面の簡単な説明】
【００４６】
【図１】本発明の１実施の形態に係るスイッチを含むネットワークを示す図である。
【図２】図１のスイッチ内のカードを示す図である。
【図３】ユニキャスト又はマルチキャストのパケットを送信するための方法を説明するフローチャートである。
【図４】エグレスリンクをフラッディングするための方法を説明するフローチャートである。
【図１】
2005517353.tif 000003
【図２】
2005517353.tif 000004
【図３】
2005517353.tif 000005
【図４】
2005517353.tif 000006
【国際調査報告】
2005517353.tif 000007
2005517353.tif 000008
2005517353.tif 000009