(57)【要約】パケットスイッチは、通常、特定のデバイスのネイティブＭＡＣアドレスを外部ＭＡＣアドレスと関連付けるデータ構造を保持しており、それぞれの外部ＭＡＣアドレスは一般的に、事実上階層的であり、宛て先デバイスに対してローカルなスイッチ（これを介して宛て先デバイスに到達することになっている）を特定する、翻訳されたアドレスの部分を伴っている。他のネットワーク要素は、この後、この階層的なアドレスの部分に基づいてパケットが上記スイッチにルーティングされ得るので（例えば、通常は実際の宛て先デバイスを特定しているアドレスの部分を意識せずに）、とても大きく且つ完全なＭＡＣアドレスのデータベースを維持する必要なく、上記の階層的なＭＡＣアドレスによって特定される宛て先を有するパケットを、どこにルーティングするかを容易に判断することができる。【選択図】図１Ｂ
2008520129.tif 000002
【特許請求の範囲】
【請求項１】
スイッチを介して情報を通信する方法であり、
デバイスのネイティブな媒体アクセス制御（ＭＡＣ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスと外部ＭＡＣアドレスを関連付けるデータ構造を維持し、それぞれの前記外部ＭＡＣアドレスは階層的なアドレスを含み、前記階層的なアドレスは前記スイッチを識別する部分と、前記階層的なアドレスが表すデバイスを識別する第２の部分とを含み、
第１のネイティブＭＡＣアドレスを自らのソースアドレスとして含む第１のパケットを受信し、これに応じて、前記データ構造に維持されている前記ＭＡＣアドレス情報に基づいて、前記第１のネイティブＭＡＣアドレスを第１の外部ＭＡＣアドレスへと翻訳し、前記第１の外部ＭＡＣアドレスを自らのソースアドレスとして含む第２のパケットを送信し、前記第２のパケットは前記第１のパケットの内容に基づいて生成され、
前記第１の外部ＭＡＣアドレスを自らの宛て先として含む第３のパケットを受信し、これに応じて、前記第１の外部ＭＡＣアドレスを前記第１のネイティブＭＡＣアドレスへと翻訳し、前記第１のネイティブＭＡＣアドレスを自らの宛て先アドレスとして含む第４のパケットを送信し、前記第４のパケットは前記第３のパケットの内容に基づいて生成される方法。
【請求項２】
前記ネイティブＭＡＣアドレスは、フラットアドレスである、請求項１に記載の方法。
【請求項３】
認証要求を、前記第１のネイティブＭＡＣアドレスに関連付けられた第１のローカルデバイスから受信し、これに応じて、前記第１のローカルデバイスを認証し、前記第１のローカルデバイスの前記認証に応じて、前記第１のネイティブＭＡＣアドレスと前記第１の外部ＭＡＣアドレス間の関連付けを用いて前記データ構造を更新することを含む、請求項１に記載の方法。
【請求項４】
前記第１のネイティブＭＡＣアドレスは、前記スイッチにとってローカルなデバイスに相当する、請求項１に記載の方法。
【請求項５】
前記第１のパケットは、前記第１のネイティブＭＡＣアドレスはグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、前記第２のパケットは前記第１のＭＡＣアドレスはローカルに割り当てられたＭＡＣアドレスであることを示す指標を含む、請求項１に記載の方法。
【請求項６】
前記第１のネイティブＭＡＣアドレスは、前記第１のネイティブＭＡＣアドレスがグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、前記第１の外部ＭＡＣアドレスは、前記第１の外部ＭＡＣアドレスがローカル割り当てられたＭＡＣアドレスであることを示す指標を含む、請求項１に記載の方法。
【請求項７】
前記階層的なアドレスは、１またはそれ以上のネットワーク識別部を含む、請求項１に記載の方法。
【請求項８】
スイッチを介して情報を通信するための方法であり、
デバイスのネイティブ媒体アクセス制御（ＭＡＣ：Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスと外部ＭＡＣアドレスを関連付けるデータ構造を維持し、それぞれの前記外部ＭＡＣアドレスは階層的なアドレスを含み、前記階層的なアドレスはスイッチを識別する部分と、前記階層的なアドレスが表すデバイスを識別する第２の部分とを含み、
より高いレベルのプロトコルの宛て先アドレスに基づいて宛て先ＭＡＣアドレスを特定するための、ソースからの要求パケットを受信し、前記要求パケットはネイティブＭＡＣアドレスを自らのソースＭＡＣアドレスとして含み、これに応じて、前記データ構造に基づいて、前記ネイティブＭＡＣアドレスに対応する外部ＭＡＣアドレスを特定し、前記宛て先ＭＡＣアドレスを特定するために前記要求パケットに基づいて翻訳された要求パケットを送信し、前記翻訳された要求パケットは前記外部ＭＡＣアドレスを自らのソースＭＡＣアドレスとして含み、前記外部ＭＡＣアドレスは前記スイッチを識別する部分と、前記ネイティブＭＡＣアドレスに関連付けられたデバイスを識別する第２の部分とを含む、階層的なアドレスを含み、
前記翻訳された要求パケットに対する応答パケットを受信し、前記応答パケットは前記外部ＭＡＣアドレスを含み、これに応じて、前記外部ＭＡＣアドレスを前記データ構造に基づいて前記ネイティブＭＡＣアドレスへと翻訳し、前記ネイティブＭＡＣアドレスを含む前記翻訳された応答パケットを送信し、前記翻訳された応答パケットは前記応答パケットの内容に基づいて生成される方法。
【請求項９】
前記ネイティブＭＡＣアドレスは、フラットアドレスである、請求項８に記載の方法。
【請求項１０】
認証要求を、前記ネイティブＭＡＣアドレスに関連付けられた第１のローカルデバイスから受信し、これに応じて、前記第１のローカルデバイスを認証し、前記第１のローカルデバイスの認証に応答して、前記ネイティブＭＡＣアドレスと前記外部ＭＡＣアドレス間の関連付けを用いて前記データ構造を更新する、請求項８に記載の方法。
【請求項１１】
前記ネイティブＭＡＣアドレスは、前記スイッチにとってローカルなデバイスに相当する、請求項８に記載の方法。
【請求項１２】
前記外部ＭＡＣアドレスは、前記外部ＭＡＣアドレスがローカルに割り当てられたＭＡＣアドレスであることを示す指標を含み、前記ネイティブＭＡＣアドレスは、前記ネイティブＭＡＣアドレスがグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含む、請求項８に記載の方法。
【請求項１３】
前記要求パケットは、前記ネイティブＭＡＣアドレスはグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、前記翻訳された要求パケットは前記外部ＭＡＣアドレスはローカルに割り当てられたＭＡＣアドレスであることを示す指標を含む、請求項８に記載の方法。
【請求項１４】
前記階層的なアドレスは、１またはそれ以上のネットワーク識別部を含む、請求項８に記載の方法。
【請求項１５】
スイッチを介して情報を通信するためのステップを実行するための、コンピュータで実行可能であることを含む１またはそれ以上のコンピュータで読み取り可能な媒体であり、前記ステップは、
デバイスのネイティブな媒体アクセス制御（ＭＡＣ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスと外部ＭＡＣアドレスを関連付けるデータ構造を維持し、それぞれの前記外部ＭＡＣアドレスは階層的なアドレスを含み、前記階層的なアドレスは前記スイッチを識別する部分と、前記階層的なアドレスが表すデバイスを識別する第２の部分とを含み、
第１のネイティブＭＡＣアドレスを自らのソースアドレスとして含む第１のパケットを受信し、これに応じて、前記データ構造に維持されている前記ＭＡＣアドレス情報に基づいて、前記第１のネイティブＭＡＣアドレスを第１の外部ＭＡＣアドレスへと翻訳し、前記第１の外部ＭＡＣアドレスを自らのソースアドレスとして含む第２のパケットを送信し、前記第２のパケットは前記第１のパケットの内容に基づいて生成され、
前記第１の外部ＭＡＣアドレスを自らの宛て先として含む第３のパケットを受信し、これに応じて、前記第１の外部ＭＡＣアドレスを前記第１のネイティブＭＡＣアドレスへと翻訳し、前記第１のネイティブＭＡＣアドレスを自らの宛て先アドレスとして含む第４のパケットを送信し、前記第４のパケットは前記第３のパケットの内容に基づいて生成されることを含む、コンピュータで読み取り可能な媒体。
【請求項１６】
前記ネイティブＭＡＣアドレスは、フラットアドレスである、請求項１５に記載のコンピュータで読み取り可能な媒体。
【請求項１７】
認証要求を、前記第１のネイティブＭＡＣアドレスに関連付けられた第１のローカルデバイスから受信し、これに応じて、前記第１のローカルデバイスを認証し、前記第１のローカルデバイスの前記認証に応じて、前記第１のネイティブＭＡＣアドレスと前記第１の外部ＭＡＣアドレス間の関連付けを用いて前記データ構造を更新することを含む、請求項１５に記載のコンピュータで読み取り可能な媒体。
【請求項１８】
前記第１のネイティブＭＡＣアドレスは、前記スイッチにとってローカルなデバイスに相当する、請求項１５に記載のコンピュータで読み取り可能な媒体。
【請求項１９】
前記第１のパケットは、前記第１のネイティブＭＡＣアドレスはグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、前記第２のパケットは前記第１のＭＡＣアドレスはローカルに割り当てられたＭＡＣアドレスであることを示す指標を含む、請求項１５に記載のコンピュータで読み取り可能な媒体。
【請求項２０】
前記第１のネイティブＭＡＣアドレスは、前記第１のネイティブＭＡＣアドレスがグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、前記第１の外部ＭＡＣアドレスは、前記第１の外部ＭＡＣアドレスがローカル割り当てられたＭＡＣアドレスであることを示す指標を含む、請求項１５に記載のコンピュータで読み取り可能な媒体。
【請求項２１】
前記階層的なアドレスは、１またはそれ以上のネットワーク識別部を含む、請求項１５に記載のコンピュータで読み取り可能な媒体。
【請求項２２】
パケットをスイッチングするための装置であり、
デバイスのネイティブ媒体アクセス制御（ＭＡＣ：Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスと外部ＭＡＣアドレスを関連付けるデータ構造を維持する手段を含み、それぞれの前記外部ＭＡＣアドレスは階層的なアドレスを含み、前記階層的なアドレスはパケットをスイッチングするための装置を識別する部分と、前記階層的なアドレスが表すデバイスを識別する第２の部分とを含み、
より高いレベルのプロトコルの宛て先アドレスに基づいて宛て先ＭＡＣアドレスを特定するための、ソースからの要求パケットを受信する手段を含み、前記要求パケットはネイティブＭＡＣアドレスを自らのソースＭＡＣアドレスとして含み、これに応じて、前記データ構造に基づいて、前記ネイティブＭＡＣアドレスに対応する外部ＭＡＣアドレスを特定し、前記宛て先ＭＡＣアドレスを特定するために前記要求パケットに基づいて翻訳された要求パケットを送信し、前記翻訳された要求パケットは前記外部ＭＡＣアドレスを自らのソースＭＡＣアドレスとして含み、前記外部ＭＡＣアドレスは前記パケットをスイッチングするための装置を識別する部分と、前記ネイティブＭＡＣアドレスに関連付けられたデバイスを識別する第２の部分とを含む、階層的なアドレスを含み、
前記翻訳された要求パケットに対する応答パケットを受信する手段を含み、前記応答パケットは外部ＭＡＣアドレスを含み、これに応じて、前記外部ＭＡＣアドレスを前記データ構造に基づいて前記ネイティブＭＡＣアドレスへと翻訳し、前記ネイティブＭＡＣアドレスを含む前記翻訳された応答パケットを送信し、前記翻訳された応答パケットは前記応答パケットの内容に基づいて生成される装置。
【請求項２３】
前記ネイティブＭＡＣアドレスは、フラットアドレスである、請求項２２に記載の装置。
【請求項２４】
認証要求を、前記ネイティブＭＡＣアドレスに関連付けられた第１のローカルデバイスから受信する手段を含み、これに応じて、前記第１のローカルデバイスを認証し、前記第１のローカルデバイスの認証に応答して、前記ネイティブＭＡＣアドレスと前記外部ＭＡＣアドレス間の関連付けを用いて前記データ構造を更新する、請求項２２に記載の装置。
【請求項２５】
前記ネイティブＭＡＣアドレスは、前記パケットをスイッチングするための装置にとってローカルなデバイスに相当する、請求項２２に記載の装置。
【請求項２６】
前記外部ＭＡＣアドレスは、前記外部ＭＡＣアドレスがローカルに割り当てられたＭＡＣアドレスであることを示す指標を含み、前記ネイティブＭＡＣアドレスは、前記ネイティブＭＡＣアドレスがグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含む、請求項２２に記載の装置。
【請求項２７】
前記要求パケットは、前記ネイティブＭＡＣアドレスがグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、前記翻訳された要求パケットは、前記外部ＭＡＣアドレスがローカルに割り当てられたＭＡＣアドレスであることを示す指標を含む、請求項２２に記載の装置。
【請求項２８】
前記階層的なアドレスは、１またはそれ以上のネットワーク識別部を含む、請求項２２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一実施形態は、通信及びコンピュータシステム、特にブリッジ、ルータ、パケットスイッチ、及び他のデバイスに関し、より詳細には、一実施形態は、ネイティブな媒体アクセス制御（ＭＡＣ）アドレスの階層的なＭＡＣアドレスへの翻訳及びこれらの利用に関する。
【背景技術】
【０００２】
通信産業は、台頭してくる技術及び絶えず増え続ける顧客の要求に適合するために、急速に変化している。新規のアプリケーション及び既存のアプリケーションについての性能の強化に対するこの顧客の要求は、通信ネットワーク及びシステムプロバイダを、より卓越した速度及び能力（例えば、バンド幅）を有するネットワーク及びシステムを採用するように駆り立てている。これらの目的を達成しようとするときに、多くの通信プロバイダにより一般的に取られる手法は、パケット交換技術を用いることである。この文書の中で記述される又は参照されるものはいずれも、そうであると明白に述べない限りは、本願に対する従来技術と認めるものではないということに留意願いたい。
【０００３】
ブリッジ、スイッチ、又はルータなどのネットワークデバイスは、通常、パケットを受信し、処理し、且つ転送又は廃棄する。大都市ネットワーク及び広域ネットワーク（ＭＡＮ及びＷＡＮ）は、多様なネットワーク技術に基づいている。公的及び私的通信ネットワークは、インターネットプロトコル（ＩＰ）のような多様なパケット技術を用いて、ますます構築且つ拡大されている。レイヤ３ルータが、ＩＰパケットを交換するために用いられる。これらのルータ及びこれらのルータのネットワークを構成するには、特定の技術レベルを必要とする。
【０００４】
ブリッジ及びブリッジのネットワークは、一方で、一般に設定及び保守がより容易であり、通常ローカルエリアネットワーク（ＬＡＮ）を導入するために用いられる。ブリッジは、一般的にイーサーネット及び／又はＩＥＥＥ８０２パケットを送信・受信し、各パケットはソース及び宛て先ＭＡＣアドレスを含んでいる。デバイスの各ＬＡＮ通信インターフェースは、通常ＭＡＣアドレスを割り当てられる。現在はＩＥＥＥ、また以前はゼロックス・コーポレーション（Ｚｅｒｏｘ  Ｃｏｒｐｏｒａｔｉｏｎ）が、企業（一般的には通信デバイス及びインターフェース製造業者）へＭＡＣアドレスのブロックを割り当てるための公式の国際的な機関であり、各ＭＡＣアドレスが全地球的に唯一のものになるようにしている。
【０００５】
これらのアドレスは、これらが本来はルーティング情報を提供しないため、「フラットなアドレス」とみなされ、任意のアドレスはネットワーク内の任意の場所に位置することができる。ＩＥＥＥ８０２ＭＡＣアドレスは、４８ビットのＭＡＣアドレスのＧ／Ｌ（グローバル／ローカル）ビットをゼロに設定することにより、これが全地球的に管理されるアドレスであることを示す。そうでなければ、Ｇ／Ｌビットは１に設定されて、このＭＡＣアドレスはローカルに管理され、且つ任意のＭＡＣアドレスを用いることができるということを示す。一般的に、ローカルアドレスをインターフェースに割り当てして、どのアドレスもブリッジされたネットワークにおいて２回以上使用されないということを確実にするのは、ネットワークマネージャーの責任である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
これらのフラットなＭＡＣアドレスを適切に転送するために、ブリッジ又は他のスイッチングデバイスは、これを通過するそれぞれのＭＡＣアドレスと、該ＭＡＣアドレスを有するホストインターフェースに到達するためにパケットを送信するインターフェースとの関連付けとを、見失わないようにする必要がある。しかしながら、この手法は、これらのブリッジネットワークの規模が伝統的なＬＡＮについての見方を超えて拡大していることから問題になってきており、また、ホスト数、及びそのためブリッジにより記憶される必要のあるＭＡＣインターフェース数が爆発的に増加しており、これがデバイスの記憶及び処理に対する要求をますます増加させ、従って各ブリッジに対するコストをますます増加させている。
【課題を解決するための手段】
【０００７】
開示されるのは、特に、コンピュータ又は通信デバイスにおいて又はコンピュータ若しくは通信デバイスによって、ネイティブな媒体アクセス制御（ＭＡＣ）アドレスを階層的なＭＡＣアドレスに翻訳するため及びこれらの利用のための、方法、装置、データ構造、コンピュータで読み取り可能な媒体、及びメカニズムである。
【０００８】
スイッチを介して情報を通信する一実施形態は、デバイスのネイティブ媒体アクセス制御（ＭＡＣ）アドレスと外部ＭＡＣアドレスを関連付けるデータ構造を維持し、各外部ＭＡＣアドレスは、通常２以上の階層レベルを含む階層的なアドレスを備え、階層レベルのそれぞれは論理的エンティティ（例えば、サービスプロバイダを識別）又は物理的エンティティ（例えば、物理スイッチ又はデバイス）を表してもよい。階層のレベルの数は、実施形態間で変化しても良いし、また、これは通常アプリケーションの必要性を満たすために選択される。例えば、一実施形態は、スイッチを識別する部分とデバイスを識別する第２の部分のような、２つの階層レベルを含んでいる。一実施形態は、インターネットサービスプロバイダ、ローカルインターネットサービスプロバイダ、及びデバイスを識別する部分のような、３つの階層レベルを含む。一実施形態は、インターネットサービスプロバイダ、ローカルインターネットサービスプロバイダ、物理スイッチ、及びデバイスを識別する部分のような、４つの階層レベルを含んでいる。
【０００９】
スイッチを介して情報を通信するための一実施形態は、デバイスのネイティブ媒体アクセス制御（ＭＡＣ）アドレスと外部ＭＡＣアドレスを関連付けるデータ構造を維持し、各外部ＭＡＣアドレスは通常、スイッチを識別する部分と、この階層的なアドレスが表すデバイスを識別する第２の部分とを含む、階層的なアドレスを備えている。第１のネイティブＭＡＣアドレスを自らのソースアドレスとして含む第１のパケットが受信され、これに応じて、上記データ構造に維持されているＭＡＣアドレス情報に基づいて、第１のネイティブＭＡＣアドレスは第１の外部ＭＡＣアドレスへと翻訳され、そして、第１の外部ＭＡＣアドレスを自らのソースアドレスとして含む第２のパケットが送信され、この第２のパケットは第１のパケットの内容に基づいて生成されている。第１の外部ＭＡＣアドレスを自らの宛て先として含む第３のパケットが受信され、これに応じて、第１の外部ＭＡＣアドレスは第１のネイティブＭＡＣアドレスへと翻訳され、また、第１のネイティブＭＡＣアドレスを自らの宛て先アドレスとして含む第４のパケットが送信され、この第４のパケットは第３のパケットの内容に基づいて生成されている。もちろん、典型的には、新規のフレームチエックシーケンス（ＦＣＳ：Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）が各翻訳されたパケットに対して計算されなければならない。
【００１０】
一実施形態において、ネイティブＭＡＣアドレスは、フラットアドレスである。一実施形態において、認証要求が第１のネイティブＭＡＣアドレスに関連付けられた第１のローカルデバイスから受信され、これに応じて、第１のローカルデバイスが認証され、第１のネイティブＭＡＣアドレスと第１の外部ＭＡＣアドレス間の関連付けを用いてデータ構造が更新される。一実施形態において、第１のネイティブＭＡＣアドレスはスイッチにとってローカルな或るデバイスに相当する。一実施形態において、ネイティブＭＡＣアドレスと外部ＭＡＣアドレスとの間の関連付けは絶対的なものであるか、又は如何なる特別な許可無しで起こる（例えば、特に、追加の許可手続きが必ずしも用いられるとは限らない、安全性の高いプライベートネットワークなどにおいて）ことから、認証は随意的なものであるか又は用いられない。一実施形態において、第１のパケットは、第１のネイティブＭＡＣアドレスはグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、第２のパケットは第１のＭＡＣアドレスがローカルに割り当てられたＭＡＣアドレスであることを示す指標を含んでいる。一実施形態において、第１のネイティブＭＡＣアドレスは、これがグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、第１の外部ＭＡＣアドレスは、これがローカル割り当てられたＭＡＣアドレスであることを示す指標を含んでいる。一実施形態において、階層的なアドレスは、１またはそれ以上のネットワーク識別部を含んでいる。
【００１１】
スイッチを介して情報を通信するための一実施形態は、デバイスのネイティブ媒体アクセス制御（ＭＡＣ）アドレスと外部ＭＡＣアドレスを関連付けるデータ構造を維持し、各外部ＭＡＣアドレスは、階層的なアドレスを含み、前記階層的なアドレスはスイッチを識別する部分と、この階層的なアドレスが表すデバイスを識別する第２の部分とを含んでいる。より高いレベルのプロトコルの宛て先アドレスに基づいて宛て先ＭＡＣアドレスを識別するための、ソースからの要求パケットであり、上記要求パケットはネイティブＭＡＣアドレスを自らのソースＭＡＣアドレスとして含み、これに応じて、上記データ構造に基づいて、ネイティブＭＡＣアドレスに対応する外部ＭＡＣアドレスを特定し、宛て先ＭＡＣアドレスを特定するために要求パケットに基づいて翻訳された要求パケットを送信し、この翻訳された要求パケットは外部ＭＡＣアドレスを自らのソースＭＡＣアドレスとして含み、外部ＭＡＣアドレスはスイッチを識別する部分と、ネイティブＭＡＣアドレスと関連付けられたデバイスを識別する第２の部分とを含む、階層的なアドレスを備えている。そして、翻訳された要求パケットに対して、外部ＭＡＣアドレスを含む応答パケットが受信され、この外部ＭＡＣアドレスはデータ構造に基づいてネイティブＭＡＣアドレスへと翻訳され、ネイティブＭＡＣアドレスを含むこの翻訳された応答パケットが送信され、この翻訳された応答パケットは応答パケットの内容に基づいて生成されている。
【００１２】
一実施形態において、ネイティブＭＡＣアドレスは、フラットアドレスである。一実施形態は、認証要求をネイティブＭＡＣアドレスに関連付けられた第１のローカルデバイスから受信し、これに応じて、第１のローカルデバイスが認証され、ネイティブＭＡＣアドレスと外部ＭＡＣアドレス間の関連付けを用いてデータ構造が更新される。一実施形態において、ネイティブＭＡＣアドレスはスイッチにとってローカルな或るデバイスに対応する。一実施形態において、外部ＭＡＣアドレスは、これがローカルに割り当てられたＭＡＣアドレスであることを示す指標を含んでおり、ネイティブＭＡＣアドレスは、これがグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含んでいる。一実施形態において、要求パケットは、ネイティブＭＡＣアドレスはグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、翻訳された要求パケットは外部ＭＡＣアドレスがローカルに割り当てられたＭＡＣアドレスであることを示す指標を含んでいる。一実施形態において、階層的なアドレスは、１またはそれ以上のネットワーク識別部を含んでいる。
【００１３】
添付の請求項は、本発明の特徴を詳細に説明する。本発明は、これの利点と共に、添付の図面と関連してなされる以下の詳細説明から最も理解されるであろう。
【発明を実施するための最良の形態】
【００１４】
開示されるのは、特に、コンピュータ又は通信デバイスにおいて又はコンピュータ若しくは通信デバイスによって、ネイティブな媒体アクセス制御（ＭＡＣ）アドレスを階層的なＭＡＣアドレスに翻訳するため及びこれらの利用のための、方法、装置、データ構造、コンピュータで読み取り可能な媒体、及びメカニズムである。
【００１５】
本明細書で説明される実施形態は、様々な要素及び限定を含んでいるが、いずれの要素及び限定も、重要な要素及び限定であることを意図しているものではない。それぞれの請求項が、個別に本発明の一態様を全体として列挙している。その上、いくつかの説明される実施形態は、特に、システム、ネットワーク、集積回路チップ、組み込みプロセッサ、ＡＳＩＣ、方法、及び命令を含むコンピュータで読み取り可能な媒体を含んでもよい（しかし、これらに限定されず）。１又は複数のシステム、デバイス、コンポーネント等が、１またはそれ以上の実施形態を備えてもよく、これらの実施形態は、同様な又は異なるシステム、デバイス、コンポーネント等により実行される或る請求項のいくつかの要素又は限定を含んでもよい。この後で説明される実施形態は、典型的且つ非限定的な構成を例示する図面を伴って、本発明の範囲及び精神の範囲内の多様な態様及び構成を具現している。
【００１６】
本明細書で用いられるように、「パケット」という用語は、固定長セル及び可変長パケット（これらのそれぞれは、より小さいパケット又はセルに分割し得るかまたはし得ない）を含む（ただしこれらに限定されず）、全ての種類のパケット又は情報若しくはデータの他の一群の如何なるものをも示す。本明細書で用いられるような「パケット」という用語はまた、パケットそのものと、例えば、パケットの全て若しくはパケットの一部、又はパケットヘッダ、データ構造値、ポインタ若しくはインデックス、又は任意の他の部分、又は直接的若しくは間接的なパケット若しくはこれに関連する情報についての識別表示のような（ただしこれらに限定されず）、パケットを指し示すものとの双方を示す。例えば、しばしば、ルータはパケットの１またはそれ以上のフィールド、特にヘッダの操作をし、そのためパケットの本体はこのパケットヘッダが操作される間、しばしば分離されたメモリに格納され、パケット（すなわちこの場合はパケットヘッダ）の処理結果に基づいてパケット全体が転送又は廃棄等される。加えて、これらのパケットは、音声、データ、ビデオ、及びオーディオ情報を含む（これらに限定されず）、１またはそれ以上の種類の情報を包含しても良い。「アイテム」という用語は、一般的に本明細書では、パケット若しくは任意の他の単位又は情報若しくはデータの一部、デバイス、コンポーネント、要素、又は他の実体（ｅｎｔｉｔｙ）を示すために用いられる。「パケットを処理する」という句及び「パケットの処理」という語句は、通常、パケットの内容（例えば、パケットヘッダ又は他のフィールド）に基づいて一部のステップ又は動作を実行することを示し、このようなステップ又は動作は、パケット及び／又は関連するデータの変更、格納、ドロッピング（ｄｒｏｐｐｉｎｇ）、及び／又は転送を含んでもよいし、含まなくてもよい。
【００１７】
「システム」という用語は、本明細書では一般的に任意の数の、コンポーネント、要素、サブシステム、デバイス、パケットスイッチ要素、パケットスイッチ、ルータ、ネットワーク、コンピュータ、及び／又は通信デバイス若しくはメカニズム、又はこれらの要素の組み合わせを表わすために用いられている。「コンピュータ」という用語は、本明細書では一般的に、パーソナルコンピュータ、組み込み処理要素及びシステム、制御ロジック、ＡＳＩＣ、チップ、ワークステーション、メインフレーム等を含む（ただしこれらに限定されず）、任意の数のコンピュータを表すために用いられている。「処理要素」という用語は、本明細書では一般的に、プロセッサ、ＡＳＩＣ、フィールドプログラマブルゲートアレイ、コンピュータなどの、任意の種類の処理メカニズム又はデバイスを表すために用いられている。「デバイス」という用語は、本明細書では一般的に、コンピュータ、又はシステム又はこれのコンポーネントを含む、任意の種類のメカニズム又はデバイスを表すために用いられている。「タスク」及び「プロセス」という用語は、本明細書では一般的に、コンピュータプロセス、タスク、スレッド、実行中のアプリケーション、オペレーティングシステム、ユーザプロセス、デバイスドライバ、ネイティブコード、マシン言語若しくは他の言語等を含む（ただしこれらに限定されず）、任意の起動プログラムを表すために用いられ、これはインタラクティブ及び／又は非インタラクティブであり得、ローカルに及び／又はリモートで動作し、フォアグラウンド及び／又はバックグラウンドで動作し、ユーザアドレス空間及び／又はオペレーティングシステムアドレス空間、ライブラリ及び／又はスタンドアローンアプリケーションにおいてで動作し、また、如何なるメモリ分割技術にも限定されない。任意のブロック図及びフローチャート並びにメッセージシーケンスチャートを含む（ただしこれらに限定されず）図の中で例示された、信号及び情報のステップ、接続、及び処理は、通常、同じ又は違うシリアル又はパラレルな順番で、及び／又は異なるコンポーネント及び／又は処理、スレッド等で、及び／又は異なる接続を通して、及び他の実施形態における他の機能と組み合わせて、これが実施形態を無効にするか又は順序が明示的に若しくは黙示的に要求されない限り（例えば、値を読んで処理する順序については――一部の関連する処理が読み取り動作の前に、同時に、及び／又は後に実行されてもよいとしても、値はこの値の処理に先立って取得されなければならない）、実行してもよい。更に、「識別する（ｉｄｅｎｔｉｆｙ）」という用語は一般的に、直接的に又は間接的に何かを確かめるための任意の方法又はメカニズムを表すために用いられ、本明細書には、受信すること、メモリから取得すること、判断すること、定義すること、計算すること、生成することなどを含んでもよい（しかしこれらに限定されず）。
【００１８】
その上、「ネットワーク」及び「通信メカニズム」という用語は、本明細書では一般的に、インターネット、私用又は公用な電話、携帯電話、ワイヤレス、衛星、ケーブル、ローカルエリア、大都市圏及び／又はワイドエリアネットワーク、ケーブル、電気的接続、バス等を含む１またはそれ以上のネットワーク、通信メディア、又は通信システム、及びメッセージパッシング、プロセス間通信、共有メモリ等を含む（しかしこれらに限定されず）、内部通信メカニズムを表すために用いられる。「メッセージ」という用語は、本明細書では一般的に、通常１またはそれ以上の任意の種類の通信メカニズムを介して通信される（そうであっても、そうでなくても良い）１つの情報を表すために用いられる。
【００１９】
「記憶メカニズム」という用語は、任意の形式の命令又はデータを保持するための、任意のメモリ、記憶デバイス、又は他のメカニズムを含む。「コンピュータで読み取り可能な媒体」は、任意のメモリ、記憶デバイス、記憶メカニズム、及び他の記憶メカニズムを含んでいる、拡張可能な用語である。「メモリ」という用語は、任意のランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、フラッシュメモリ、集積回路、及び／又は他のメモリコンポーネント若しくは要素を含む。「記憶デバイス」という用語は、任意の固体記憶媒体、ディスクデバイス、ディスケット、ネットワーク化されたサービス、テープドライブ、及び他の記憶デバイスを含む。メモリ及び記憶デバイスは、処理要素及び／又は制御ロジックにより実行されるべきコンピュータで実行可能な命令、及び処理要素及び／又は制御ロジックにより操作されるデータを格納してもよい。「データ構造」という用語は、任意のデータ要素、変数、データ構造、データベース、及び／又は、例えばメモリロケーション若しくはメモリデバイス、セット、キュー（ｑｕｅｕｅ）、ツリー、ヒープ（ｈｅａｐ）、リスト、リンクされたリスト、アレイ、テーブル、ポインタ等（しかしこれらには限定されず）の、データの解釈を容易にするために又はこれに対する操作の実行を容易にするためにデータに適用することができる１またはそれ以上の組織的スキームを示す、拡張可能な用語である。データ構造は、通常記憶メカニズムに保持される。「ポインタ」及び「リンク」という用語は、一般的に本明細書では、他の要素、コンポーネント、又は他のエンティティを参照若しくは識別するための一部のメカニズムを識別するために用いられ、これらには、メモリ若しくは他の記憶メカニズム又は本明細書のロケーションへの参照、データ構造のインデックス、値等（しかしこれらには限定されず）を含んでもよい。「連想記憶」という用語は、拡張可能な用語であり、二進法又は三進法のコンテントアドレッサブルメモリ、ハッシュテーブル、ＴＲＩＥ、及び他のデータ構造等（しかしこれらには限定されず）を含む、全ての種類の既知又は将来開発される連想メモリを含む。加えて、「連想記憶ユニット」という用語は、領域、セグメント、バンク、ページ、ブロック、エンティティのセット等を含む（しかしこれらには限定されず）、１またはそれ以上の連想記憶デバイス又はこれらの一部（しかしこれらには限定されず）を含んでもよい。
【００２０】
「一実施形態」という用語は、本明細書では、特定の実施形態を参照するために用いられ、「一実施形態」へのそれぞれの参照は別の実施形態への言及であってもよく、また、関連する特性、要素、及び／又は限定を記述するときに本明細書で繰り返しこの用語を使用するということは、それぞれの及び全ての実施形態が含まなければならない、関連する特性、要素、及び／又は限定の累積的な集まりを規定するものではない（実施形態は、通常これらの特性、要素、及び／又は限定の全てを含んでもよい）。加えて、「ｘｘｘするための手段」という語句は、典型的には、ｘｘｘを実行するためのコンピュータで実行可能な命令を包含する、コンピュータで読み取り可能な媒体を含んでいる。
【００２１】
加えて、「第１の」、「第２の」等の用語は、通常本明細書では、別のユニット（例えば、第１の要素、第２の要素）を示すために用いられる。本明細書でのこれらの用語を使用することは、例えば、１つのユニット若しくはイベントが他のユニット若しくはイベントの前に起こる若しくはやって来るというような、順序付けを必ずしも暗示するものではなく、むしろ特定のユニット間を区別するためのメカニズムを提供するものである。加えて、名詞の単数形を用いているのは、非限定ということであり、これの使用は通常、ただ１つというよりもむしろ１またはそれ以上の特定のものを含む（例えば、「メモリ」という用語を使用することにより、通常「メモリ又は複数のメモリ」、又は「１またはそれ以上のメモリ」、又は「少なくとも１つのメモリ」などと明記する必要なしに、１またはそれ以上のメモリについて言及している）。その上、「ｘに基づいて」及び「ｘに応答して」という語句は、何かが派生する又は生起する元となるアイテムｘの最小限の集まりを指すために用いられ、ここで「ｘ」は、拡張性があり、オペレーションが実行等されるアイテムの完全なリストを必ずしも記述する必要はない。加えて、「連結している（ｃｏｕｐｌｅｄ  ｔｏ）」という語句は、２つの要素又はデバイス間の、ある程度の直接的又は間接的接続を示すために用いられ、連結しているデバイス又は複数のデバイスは、連結された信号または伝えられた情報を変更をするか又は変更をしない。「サブセット」という用語は、１セットの要素の全て又はこれに満たない要素のグループを指すために用いられる。「サブツリー」という用語は、ツリーの全て又はこれに満たないものを指すために用いられる。その上、「又は」は、本明細書では、１またはそれ以上（全てを含む）の連接的（ｃｏｎｊｕｎｃｔｉｖｅ）なアイテムの選択を特定するために用いられる。加えて、「含む（ｉｎｃｌｕｄｉｎｇ）」、「含む（ｃｏｎｔａｉｎｉｎｇ）」、「特徴とする（ｃｈａｒａｃｔｅｒｉｚｅｄ  ｂｙ）と同じ意味の移行的な用語「含む（ｃｏｍｐｒｉｓｉｎｇ）」は、包含的（ｉｎｃｌｕｓｉｖｅ）すなわちオープンエンドであり、追加的な、述べられていない要素又は方法ステップを排除はしない。
【００２２】
ネイティブな媒体アクセス制御（ＭＡＣ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスから対応する階層的なＭＡＣアドレスへの翻訳、及び対応する階層的なＭＡＣアドレスからネイティブＭＡＣアドレスへの翻訳のための、並びにこのようなＭＡＣアドレスの利用のための、様々なメカニズムが開示される。パケットスイッチは、通常、特定のデバイスのネイティブＭＡＣアドレスを外部ＭＡＣアドレスと関連付けるデータ構造を保持しており、それぞれの外部ＭＡＣアドレスは一般的に、事実上階層的であり、宛て先デバイスに対してローカルなスイッチ（これを介して宛て先デバイスに到達することになっている）を特定する、翻訳されたアドレスの部分を伴っている。他のネットワーク要素は、この後、この階層的なアドレスの部分に基づいてパケットが上記スイッチにルーティングされ得るので（例えば、通常は実際の宛て先デバイスを特定しているアドレスの部分を意識せずに）、膨大且つ完全なＭＡＣアドレスのデータベースを維持する必要なく、上記の階層的なＭＡＣアドレスによって特定される宛て先を有するパケットを、どこにルーティングするかを容易に判断することができる。
【００２３】
スイッチを介して情報を通信するための一実施形態は、デバイスのネイティブＭＡＣアドレスと外部ＭＡＣアドレスを関連付けるデータ構造を維持し、それぞれの外部ＭＡＣアドレスは、一般的に２またはそれ以上のレベルの階層を含む階層的なアドレスを含み、各レベルは、論理的エンティティ（例えば、サービスプロバイダを識別）又は物理的エンティティ（例えば、物理スイッチ又はデバイス）を表してもよい。階層のレベルの数は、実施形態間で変化しても良いし、また、これは通常アプリケーションの必要性を満たすために選択される。例えば、一実施形態は、スイッチを識別する部分とデバイスを識別する第２の部分のような、２つの階層レベルを含んでいる。一実施形態は、インターネットサービスプロバイダ、ローカルインターネットサービスプロバイダ、及びデバイスを識別する部分のような、３つの階層レベルを含む。一実施形態は、インターネットサービスプロバイダ、ローカルインターネットサービスプロバイダ、物理スイッチ、及びデバイスを識別する部分のような、４つの階層レベルを含んでいる。
【００２４】
スイッチを介して情報を通信するための一実施形態は、デバイスのネイティブＭＡＣアドレスと外部ＭＡＣアドレスを関連付けるデータ構造を維持し、各外部ＭＡＣアドレスは通常、スイッチを識別する部分と、この階層的なアドレスが表すデバイスを識別する第２の部分とを含む、階層的なアドレスを備えている。第１のネイティブＭＡＣアドレスを自らのソースアドレスとして含む第１のパケットが受信され、これに応じて、上記データ構造に維持されているＭＡＣアドレス情報に基づいて、第１のネイティブＭＡＣアドレスは第１の外部ＭＡＣアドレスへと翻訳され、そして、第１の外部ＭＡＣアドレスを自らのソースアドレスとして含む第２のパケットが送信され、この第２のパケットは第１のパケットの内容に基づいて生成されている。第１の外部ＭＡＣアドレスを自らの宛て先として含む第３のパケットが受信され、これに応じて、第１の外部ＭＡＣアドレスは第１のネイティブＭＡＣアドレスへと翻訳され、また、第１のネイティブＭＡＣアドレスを自らの宛て先アドレスとして含む第４のパケットが送信され、この第４のパケットは第３のパケットの内容に基づいて生成されている。もちろん、典型的には、新規のフレームチエックシーケンス（ＦＣＳ：Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）が各翻訳されたパケットに対して計算されなければならない。
【００２５】
一実施形態において、ネイティブＭＡＣアドレスは、フラットアドレスである。一実施形態において、認証要求が第１のネイティブＭＡＣアドレスに関連付けられた第１のローカルデバイスから受信され、これに応じて、第１のローカルデバイスが認証され、第１のネイティブＭＡＣアドレスと第１の外部ＭＡＣアドレス間の関連付けを用いてデータ構造が更新される。一実施形態において、第１のネイティブＭＡＣアドレスはスイッチにとってローカルな或るデバイスに相当する。一実施形態において、ネイティブＭＡＣアドレスと外部ＭＡＣアドレスとの間の関連付けは絶対的なものであるか、又は如何なる特別な許可無しで起こる（例えば、特に、追加の許可手続きが必ずしも用いられるとは限らない、安全性の高いプライベートネットワークなどにおいて）ことから、認証は随意的なものであるか又は用いられない。一実施形態において、第１のパケットは、第１のネイティブＭＡＣアドレスがグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、第２のパケットは第１のＭＡＣアドレスがローカルに割り当てられたＭＡＣアドレスであることを示す指標を含んでいる。一実施形態において、第１のネイティブＭＡＣアドレスは、これがグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、第１の外部ＭＡＣアドレスは、これがローカル割り当てられたＭＡＣアドレスであることを示す指標を含んでいる。一実施形態において、階層的なアドレスは、１またはそれ以上のネットワーク識別部を含んでいる。
【００２６】
スイッチを介して情報を通信するための一実施形態は、デバイスのネイティブ媒体アクセス制御（ＭＡＣ）アドレスと外部ＭＡＣアドレスを関連付けるデータ構造を維持し、各外部ＭＡＣアドレスは、階層的なアドレスを含み、前記階層的なアドレスはスイッチを識別する部分と、この階層的なアドレスが表すデバイスを識別する第２の部分とを含んでいる。より高いレベルのプロトコルの宛て先アドレスに基づいて宛て先ＭＡＣアドレスを識別するための、ソースからの要求パケットであり、上記要求パケットはネイティブＭＡＣアドレスを自らのソースＭＡＣアドレスとして含み、これに応じて、上記データ構造に基づいて、ネイティブＭＡＣアドレスに対応する外部ＭＡＣアドレスを特定し、宛て先ＭＡＣアドレスを特定するために要求パケットに基づいて翻訳された要求パケットを送信し、この翻訳された要求パケットは外部ＭＡＣアドレスを自らのソースＭＡＣアドレスとして含み、外部ＭＡＣアドレスはスイッチを識別する部分と、ネイティブＭＡＣアドレスと関連付けられたデバイスを識別する第２の部分とを含む、階層的なアドレスを備えている。そして、翻訳された要求パケットに対して、外部ＭＡＣアドレスを含む応答パケットが受信され、この外部ＭＡＣアドレスはデータ構造に基づいてネイティブＭＡＣアドレスへと翻訳され、ネイティブＭＡＣアドレスを含むこの翻訳された応答パケットが送信され、この翻訳された応答パケットは応答パケットの内容に基づいて生成されている。
【００２７】
一実施形態において、ネイティブＭＡＣアドレスは、フラットアドレスである。一実施形態は、認証要求をネイティブＭＡＣアドレスに関連付けられた第１のローカルデバイスから受信し、これに応じて、第１のローカルデバイスが認証され、ネイティブＭＡＣアドレスと外部ＭＡＣアドレス間の関連付けを用いてデータ構造が更新される。一実施形態において、ネイティブＭＡＣアドレスはスイッチにとってローカルな或るデバイスに相当する。一実施形態において、外部ＭＡＣアドレスは、これがローカル割り当てられたＭＡＣアドレスであることを示す指標を含んでおり、ネイティブＭＡＣアドレスは、これがグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含んでいる。一実施形態において、要求パケットは、ネイティブＭＡＣアドレスはグローバルに割り当てられたＭＡＣアドレスであることを示す指標を含み、翻訳された要求パケットは外部ＭＡＣアドレスがローカルに割り当てられたＭＡＣアドレスであることを示す指標を含んでいる。一実施形態において、階層的なアドレスは、１またはそれ以上のネットワーク識別部を含んでいる。
【００２８】
図１は、１またはそれ以上の実施形態を用いる典型的なネットワーク１００を例示するブロック図である。示されているように、典型的なネットワークは、多数の１またはそれ以上のホスト１０１〜１０５、ネットワーク１２１及び１２２（例えば、ネットワーク１００のサブネットワーク）、及びスイッチ１１１〜１１４を含んでいる。自分のＭＡＣアドレスの翻訳を実行するスイッチに対して、ホスト１０１〜１０５はローカル（例えば、直接接続されるか又はハブ経由で接続されるなど）であることができ、又はリモート（これは、例えば、会社又は行政分野のゲートウエイにおいて特に意味をなすかもしれない）でさえあることが可能だということに、留意されたい。また、ホストとスイッチ又はネットワークを接続しているそれぞれの線は、１またはそれ以上の接続を表し、必ずしも単一の接続である必要はないということにも留意されたい。例としてのネットワーク１００は、ＭＡＣアドレス翻訳をサポートするスイッチ（例えば、スイッチ１１１、１１３、及び１１４）と同様に、ＭＡＣアドレス翻訳をサポートしないスイッチ（例えば、スイッチ１１２）の両方を含んでいる。一実施形態は、ネットワークの複数のロケーションにおいて階層的なアドレス翻訳を実行し、一方、一実施形態は、ネットワーク境界のスイッチにおいての階層的なアドレス翻訳のみを実行する。
【００２９】
一実施形態では、ネイティブなＭＡＣアドレス（例えば、元のＭＡＣアドレス、又は既に翻訳されたＭＡＣアドレス−言い換えれば、翻訳を実行しているスイッチ又は他の通信デバイスにネイティブなアドレス）を他のＭＡＣアドレス（例えば、翻訳されたＭＡＣアドレス）へと翻訳する。例えば、図１Ｂは、ネイティブＭＡＣアドレス１５０（一実施形態において用いられる）のフィールドを例示しており、これは典型的には、フラット又は非フラットＭＡＣアドレスであり得るネイティブＭＡＣアドレスの、他の値のビット（１５２）およびグローバルに割り当てられるアドレス（例えば、ＩＥＥＥ８０２の４８ビットＭＡＣアドレスのＧ／Ｌビット）である指標１５１も含んでいる。一実施形態は、ＩＥＥＥ８０２の４８ビットＭＡＣアドレスの形式を有するネイティブＭＡＣアドレスを翻訳するであろうということに留意されたい。
【００３０】
図１Ｂはまた、典型的な翻訳されたＭＡＣアドレス１６０を例示しており、これは通常、翻訳を実行しているスイッチを識別する部分１６２、及び典型的には関連付けられたネイティブＭＡＣアドレスを一意的に特定するために用いられるローカルＭＡＣ識別値である、部分１６３およびこのＭＡＣアドレスがローカルに割り当てられた（例えば、これはＩＥＥＥにより割り当てられたアドレスではない）ことを示す指標１６１を含む。
【００３１】
図１Ｂに同様に示されているのは、他の典型的な翻訳されたアドレス１７０であり、これは通常、このＭＡＣアドレスはローカルに割り当てられたという指標１７１、及び、翻訳を実行しているスイッチを識別する部分１７２、インターフェース（このインターフェースから、ネイティブＭＡＣアドレスを有しているインターフェースに至る）を識別する部分１７３、典型的には関連するネイティブＭＡＣアドレスを一意的に識別するために用いられるローカルＭＡＣ識別値である、部分１７４を含んでいる。
【００３２】
同様に図１Ｂに示されているのは、他の典型的なＭＡＣアドレス１８０であり、これは通常、このＭＡＣアドレスはローカルに割り当てられたことを示す指標１８１、対応する１またはそれ以上の論理的又は物理的ネットワークを識別する、１またはそれ以上のネットワーク識別部１８２〜１８３、及び、翻訳を実行しているスイッチを識別する部分１８４、典型的には関連するネイティブＭＡＣアドレスを一意的に識別するために用いられるローカルＭＡＣ識別値である、部分１８５を含んでいる。
【００３３】
図１Ｂに示されているのは、１またはそれ以上の実施形態により翻訳されうる、無限の利用可能なパケットフォーマットのうち一部に過ぎないことに、留意されたい。ＭＡＣアドレスにスイッチ識別フィールドを含むことにより、デバイスは、このフィールドの値に基づいて、完全なＭＡＣアドレスに基づいて判断する必要なくパケットをどこにルーティングするかを判断することができ、従って、ＭＡＣルーティングテーブルにはより少ないエントリが通常格納されるであろう。
【００３４】
図２は、一実施形態において翻訳するため及び／又は翻訳されたＭＡＣアドレスを使用するために用いられる、典型的なスイッチ２００（あるいはスイッチングコンポーネント）のブロック図である。一実施形態では、システムあるいはコンポーネント２００は、例示される１またはそれ以上の図に対応する、又はそうでなければ本明細書で説明される、１またはそれ以上のプロセスを実行する。
【００３５】
一実施形態では、コンポーネント２００は、処理要素２０１（例えば、プロセッサ、カスタマイズされたロジック等）と、メモリ２０２（例えば、ＭＡＣアドレス翻訳データ構造を格納するための）と、記憶デバイス２０３（例えば、ＭＡＣアドレス翻訳データ構造を格納するための）と、通常１またはそれ以上の通信メカニズム２０９を介して連結される（例示のためにバスとして示されている）、パケット、アイテム、及び／又は他の情報を受信及び送信するための１またはそれ以上のネットワークインターフェース２０４とを含んでいる。コンポーネント２００の様々な実施形態は、より多いかより少ない要素を含みうる。例えば、一実施形態は同様に、アドレス間の翻訳を実行するためにマッチング値が存在するかどうかを確認するための効率的なメカニズムを提供する副メモリとして用いる連想メモリを含む。もし、マッチングが存在する場合は、メモリルックアップがこの後連想メモリのマッチングロケーションに基づいて、ランダムアクセスメモリにおいて一般的には実施されて、関連するアドレスを取得する。もちろん、このアドレス翻訳を実行するための多くの異なる技術があり、これらを一実施形態において用いることができる。
【００３６】
コンポーネント２００の動作は、通常、メモリ２０２及び記憶デバイス２０３を用いて処理要素２０１により制御されて、１またはそれ以上のタスク又はプロセスを実行する。メモリ２０２は、コンピュータで読み取り可能な媒体の種類の１つであり、通常ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、フラッシュメモリ、集積回路、及び／又は他のメモリコンポーネントを含む。メモリ２０２は通常、処理要素２０１により実行される予定のコンピュータで実行可能な命令、及び／又は本発明に従う機能性を実行するために処理要素２０１により操作されるデータを格納する。記憶デバイス２０３は、他の種類のコンピュータで読み取り可能な媒体であり、通常、固体記憶媒体、ディスクドライブ、ディスケット、ネットワーク化されたサービス、テープドライブ、及び他の記憶デバイスを含む。記憶デバイス２０３は、通常、処理要素２０１により実行されるべきコンピュータで実行可能な命令、及び／又は本発明に従う機能性を実行するための処理要素２０１により操作されるデータを格納する。
【００３７】
図３Ａは、一実施形態において受信され、処理され、且つ送信されるメッセージを例示する、メッセージシーケンスチャートである。一実施形態では、ホスト（１）３００は、認証要求３１１をスイッチ３０２に送信し、この後、スイッチ３０２は認証プロセス３１２を実行する。認証が成功すると、スイッチ３０２はデータ構造を更新して、ネイティブＭＡＣアドレスと外部ＭＡＣアドレス（これは通常、スイッチ３０２を識別する部分と、ホスト（１）３００を識別する部分とを含む）との関連付けを反映し、ホスト（１）３００が認証されたということを表す指標を該ホストに送信する。これは、一実施形態において用いられるプロセスである。しかしながら、一実施形態は、認証を必要とせず、そしてこの場合（又は上記のような認証に加えて）、ネイティブＭＡＣアドレスを外部ＭＡＣアドレスに関連付けるデータ構造の更新は、手動で構成されるか、又は現時点では外部ＭＡＣアドレスに関連付けられていないネイティブＭＡＣアドレスに応答して、自動的に実行される。
【００３８】
図３Ａはまた、典型的なネイティブＭＡＣアドレスの外部ＭＡＣアドレスへの翻訳、及び外部ＭＡＣアドレスのネイティブＭＡＣアドレスへの翻訳を例示する。例示されたように、ホスト（１）３００はネイティブＭＡＣアドレスを自らのソースアドレスとして有するパケットを送信する（３２１）。スイッチ３０２はこのパケットを受信し、このネイティブＭＡＣアドレスを外部ＭＡＣアドレスに翻訳し（３２２）（典型的には、ＭＡＣアドレス翻訳データ構造を参照することによって、また、ことによると新規の外部ＭＡＣアドレスをこのネイティブＭＡＣアドレスと動的に関連付けることも含めて）、次に、上記の受信したパケットに基づいて生成され、且つ外部ＭＡＣアドレスをこれのソース（ネイティブＭＡＣアドレスの代わりに）とするパケットを送信する（３２３）。
【００３９】
ホスト（２）は、このパケットを受信（例えばスイッチ３０２から直接受信するか、又はネットワーク内での多くの中間移動を経て）し、これを処理する（３２４）。典型的には、ホスト（２）３０４はパケットをホスト（１）３００に送信（３２５）し、この場合、ホスト（２）３０４はホスト（１）３００に到達するための宛て先アドレスとして上記の外部ＭＡＣアドレスを用いる。スイッチ３０２は、このパケットを受信し、外部ＭＡＣアドレスをネイティブＭＡＣアドレスに翻訳し（３２６）、ネイティブＭＡＣアドレスを宛て先アドレスとして伴うパケットをホスト（１）３００に送信する（３２７）であろう。一実施形態では、ＭＡＣアドレス翻訳は、双方のすなわち全ての通信ホスト（すなわち、単に１ホストに対してだけでなく）に対して実行されるということに留意されたい。
【００４０】
図３Ｂは、一実施形態で実行されるような、パケット３５０、３６０、３７０、及び３８０に対するＭＡＣアドレスの翻訳を更に例示する。示されているのは、典型的な送信されたパケット３５０であり、これは、ホスト（２）３０４のＭＡＣアドレス３５１である宛て先アドレス、ホスト（１）３００のネイティブＭＡＣアドレス３５３であるソースアドレス、及び他のパケットフィールド３５３を含んでいる。スイッチ３０２は、ネイティブＭＡＣアドレス３５３をホスト（１）の外部ＭＡＣアドレス３６２へと翻訳し、ホスト（２）３０４のＭＡＣアドレス３５１である宛て先アドレス、ホスト（１）の外部ＭＡＣアドレス３６２であるソースアドレス、及び他のパケットフィールド３６３を含む、翻訳された外部パケット３６０を形成及び送信する。
【００４１】
反対方向では、受信された外部パケット３７０（スイッチ３０２により受信された）は、ホスト（１）の外部ＭＡＣアドレス３６２である宛て先アドレス、ホスト（２）のＭＡＣアドレス３５１、及び他のパケットフィールド３７３を含んでいる。スイッチ３０２はホスト（１）の外部ＭＡＣアドレスフィールドを、ホスト（１）のネイティブＭＡＣアドレスフィールド３５２に翻訳し、ホスト（１）のネイティブＭＡＣアドレスフィールド３５２である宛て先アドレス、ホスト（２）のＭＡＣアドレス３５１であるソースアドレス、及び他のパケットフィールド３８３を含む、翻訳されたネイティブパケット３８０を形成及び送信する。
【００４２】
図４Ａ〜Ｂは、リモートＩＰアドレスに対応するＭＡＣアドレスを識別するために用いられる、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）との関連でのＭＡＣアドレス翻訳を例示する。ＡＲＰは単に、階層的なアドレス翻訳を必要とするネットワークプロトコルの一例であり、一実施形態では１またはそれ以上の他のプロトコルも同様に翻訳されるということに留意されたい。
【００４３】
図４Ａに戻ると、ホスト（１）４００は、ホスト（１）４００のネイティブＭＡＣアドレスをソースアドレスとして有する、ＡＲＰ要求を送信する（４１１）。スイッチ４０２は、ＡＲＰ要求を受信し、このネイティブＭＡＣアドレスを外部ＭＡＣアドレスへと翻訳し（４１２）（典型的には、ＭＡＣアドレス翻訳データ構造を参照することによって、また、ことによると新規の外部ＭＡＣアドレスをこのネイティブＭＡＣアドレスと動的に関連付けることも含めて）、次に、上記の受信したパケットに基づいて生成され、且つ外部ＭＡＣアドレスをこれのソース（ネイティブＭＡＣアドレスの代わりに）とするＡＲＰ要求パケットを送信する（４１３）。
【００４４】
ホスト（２）は、このＡＲＰ要求パケットを受信（例えばスイッチ４０２から直接受信するか、又はネットワーク内での多くの中間移動を経て）し、これを処理する（４１４）。ホスト（２）４０４はＡＲＰ応答パケットをホスト（１）４００に送信（４１５）し、この場合、ホスト（２）４０４はホスト（１）４００に到達するための宛て先アドレスとして上記の外部ＭＡＣアドレスを用いる。スイッチ４０２は、このパケットを受信し、外部ＭＡＣアドレスをネイティブＭＡＣアドレスに翻訳し（４１６）、ネイティブＭＡＣアドレスを宛て先アドレスとして伴うＡＲＰ応答パケットをホスト（１）４００に送信する（４１７）であろう。一実施形態では、ＭＡＣアドレス翻訳は、双方のすなわち全ての通信ホスト（すなわち、単に１ホストに対してだけでなく）に対して実行されるということに留意されたい。
【００４５】
図４Ｂは、一実施形態で実行されるような、ＡＲＰパケット４５０、４６０、４７０、及び４８０に対するＭＡＣアドレスの翻訳を更に例示する。示されているのは、典型的な送信されたＡＲＰ要求パケット４５０であり、これは、ＡＲＰ要求ヘッダ４５１、ソースネイティブＭＡＣアドレス４５２、ソースＩＰアドレス４５３、ブランクフィールド４５４、及び、ホスト（２）の宛て先ＩＰアドレス４５５を含んでいる。このＡＲＰ要求は、ＡＲＰ要求ヘッダ４５１、ソース外部ＭＡＣアドレス４６２（ソースネイティブＭＡＣアドレス４５２から翻訳された）、ソースＩＰアドレス４５３、ブランクフィールド４５４、及びホスト（２）の宛て先ＩＰアドレス４５５を含むＡＲＰ要求外部パケット４６０へと、スイッチにより翻訳される。
【００４６】
応答として、典型的なＡＲＰ応答外部パケット４７０がスイッチによって受信され、この典型的なＡＲＰ応答外部パケット４７０は典型的には、ＡＲＰ応答ヘッダ４７１、ソース外部ＭＡＣアドレス４６２、ソースＩＰアドレス４５３、ホスト（２）のＭＡＣアドレス４７４（スイッチがこれを翻訳するかしないかに従って、ネイティブ又は外部ＭＡＣアドレスのいずれか）、及びホスト（２）の宛て先ＩＰアドレス４５５を含んでいる。このＡＲＰ応答は、ＡＲＰ応答ヘッダ４７１、ソースネイティブＭＡＣアドレス４５２、ソースＩＰアドレス４５３、ホスト（２）ＭＡＣアドレス４７４、及びホスト（２）の宛て先ＩＰアドレス４５５を含むＡＲＰ応答ネイティブパケット４８０へと、スイッチにより翻訳される。
【００４７】
我々の発明の原理を適用しても良い多くの可能な実施形態から考えて、図や図解に関して本明細書で説明された実施形態及びこれらの態様は、単に例示としてのものであり、本発明の範囲を限定するものと取られるべきでないということが理解されるであろう。例えとして、また当業者には明白であるように、多くのプロセスブロックの動作は他の動作の前に、後に、又は実質的に同時に実行されるべく再配列することができる。また、多くの異なるデータ構造形式が様々な実施形態において用いられるかもしれない。本明細書で説明された発明は、上述のような実施形態の全てが以下の請求項及びこれらの均等物の範囲に入る可能性があるものと考えている。
【図面の簡単な説明】
【００４８】
【図１Ａ】１またはそれ以上の実施形態を用いるネットワークを例示するブロック図である。
【図１Ｂ】一実施形態により用いられる、無数の可能なネイティブ及び翻訳されたＭＡＣアドレスの一部を例示するブロック図である。
【図２】一実施形態において用いられる、翻訳及び／又は翻訳されたＭＡＣアドレスを使用するためのスイッチのブロック図である。
【図３Ａ】一実施形態において受信され、処理され、且つ送信されるメッセージを例示するメッセージシーケンスチャートである。
【図３Ｂ】一実施形態において用いられるパケットを例示するブロック図である。
【図４Ａ】一実施形態において受信され、処理され、且つ送信されるメッセージを例示するメッセージシーケンスチャートである。
【図４Ｂ】一実施形態において用いられるアドレス解決プロトコル（ＡＲＰ：Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）パケットを例示するブロック図である。
【図１Ａ】
2008520129.tif 000003
【図１Ｂ】
2008520129.tif 000004
【図２】
2008520129.tif 000005
【図３Ａ】
2008520129.tif 000006
【図３Ｂ】
2008520129.tif 000007
【図４Ａ】
2008520129.tif 000008
【図４Ｂ】
2008520129.tif 000009
【国際調査報告】
2008520129.tif 000010