(57)【要約】本発明は、ネットワーク（１０）のプロトコルアドレス（ＩＰ＿ｘ）を扱う方法に関する。ネットワークは、Ｋ個のサーバ（１２）を含む。サーバは、サーバ識別子（Ｓｉｄ＿ｘ）によってネットワークにおいて固有に識別される。サーバは、最大数Ｌのユニット（１４）を収納する。ユニットは、ネットワークへ接続する１つのハードウェアアドレス（ＭＡＣｘ）と、サーバでユニットを固有に識別するユニット識別子（Ｅｉｄ＿ｘ）とを含む。ユニットは、最大数Ｍのホスト（１６）を提供する。ユニット上の各ホストは、当該ユニット上のホストを固有に識別するローカルホスト識別子（Ｈｉｄ＿ｘ）を含む。ユニット（１４）は、ホストのローカルホスト識別子（Ｈｉｄ＿ｘ）と、当該ユニットのユニット識別子（Ｅｉｄ＿ｘ）と、当該ユニットに関連付けられるサーバ識別子（Ｓｉｄ＿ｘ）とに基づき、ユニット上のホストに対するプロトコルアドレス（ＩＰ＿ｘ）を生成し、当該プロトコルアドレスをホスト（１６）へ割り当てる。
2016503267.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク（１０）のプロトコルアドレス（ＩＰ＿ｘ）を扱う方法であって、前記ネットワークはＫ個のサーバ（１２）を備え、サーバはサーバ識別子（Ｓｉｄ＿ｘ）によって前記ネットワークで固有に定義され、サーバは最大Ｌのユニット（１４）を備え、ユニットはネットワークへ接続する１つのハードウェアアドレス（ＭＡＣｘ）と、ユニット識別子（Ｅｉｄ＿ｘ）を含み、前記ユニット識別子は前記サーバの前記ユニットを固有に識別し、ユニットは最大Ｍのホスト（１６）を提供し、ユニット上の各ホストは前記ユニット上の前記ホストを固有に識別するローカルホスト識別子（Ｈｉｄ＿ｘ）を含み、前記方法は、
ユニット（１４）が、前記ホストの前記ローカルホスト識別子（Ｈｉｄ＿ｘ）と、前記ユニットの前記ユニット識別子（Ｅｉｄ＿ｘ）と、前記ユニットに関連付けられるサーバ識別子（Ｓｉｄ＿ｘ）とに基づき、前記ユニット上のホストに対するプロトコルアドレス（ＩＰ＿ｘ）を生成する工程と、
前記ユニット（１４）が、前記プロトコルアドレスを前記ホスト（１６）へ割り当てる工程と
を含むことを特徴とする方法。
【請求項２】
前記プロトコルアドレスは、ネットワーク部分と、ホスト識別子部分とを含み、
サーバ識別子（Ｓｉｄ＿ｘ）は、ｋビットを有する第１のパラメータによって表され、ｋは２ｋ＞＝Ｋを維持する自然数であり、
ユニット識別子（Ｅｉｄ＿ｘ）は、ｌビットを有する第２のパラメータによって表され、ｌは２ｌ＞＝Ｌを維持する自然数であり、
ローカルホスト識別子（Ｈｉｄ＿ｘ）は、ｍビットを有する第３のパラメータによって表され、ｍは２ｍ＞＝Ｍを維持する自然数であり、
前記ホスト識別子部分は、前記第１のパラメータと、前記第２のパラメータと、前記第３のパラメータとの前記ビットの連結によって得られることを特徴とする請求項１に記載の方法。
【請求項３】
前記ホスト識別子部分はｋ＋ｌ＋ｍ＜＝ＨとなるＨビットを有することを特徴とする請求項２に記載の方法。
【請求項４】
サーバは前記ネットワークのセグメントを定義し、
前記第１のパラメータは、前記ネットワークで前記セグメントを定義する前記プロトコルアドレスの前記ホスト識別子部分の前記ビットに対応することを特徴とする請求項２又は３に記載の方法。
【請求項５】
第１のユニットが、第１のホストの予め定義されたローカルホスト識別子（Ｈｉｄ＿１）と、第２のユニットの前記ユニット識別子（Ｅｉｄ＿ｘ）と、前記第２のユニットに関連付けられる前記サーバ識別子（Ｓｉｄ＿ｘ）とに基づき、前記第２のユニット上の前記予め定義されたローカルホスト識別子を用いて、前記第１のホストに対するプロトコルアドレス（ＩＰ＿ｘ）を生成する工程と、
前記第１のユニットが、前記第１のホストのハードウェアアドレス（ＭＡＣｘ）を送信するために、前記第１のホストへ、前記プロトコルアドレス（ＩＰ＿ｘ）とともにリクエストを送信する工程と、
前記第２のユニットが、前記リクエストに応じて、前記第２のユニットの前記ハードウェアアドレス（ＭＡＣｘ）を含むレスポンスを送信する工程と、
前記第１のユニットが、前記レスポンスから前記第２のユニットの前記ハードウェアアドレス（ＭＡＣｘ）を取り出す工程と、
前記第１のユニットが、前記第１のホストの前記プロトコルアドレス（ＩＰ＿ｘ）と前記第２のユニットの前記ハードウェアアドレス（ＭＡＣｘ）との間の前記関係を前記第１のユニットのデータベース（２０４）に格納する工程と
をさらに含むことを特徴とする請求項２乃至４の何れか１項に記載の方法。
【請求項６】
前記第１のパラメータの少なくとも１つの最上位ビットは、前記第１、第２、及び第３のパラメータのビット数を定義することを特徴とする請求項５に記載の方法。
【請求項７】
前記格納する工程は、
少なくとも前記第１のパラメータの前記ビットと、前記第２のパラメータの前記ビットとの連結による予め定義された長さを有するインデックスアドレスを生成する工程と、
前記第２のユニットのハードウェアアドレスを前記インデックスアドレスに紐付ける工程と
を含むことを特徴とする請求項５又は６に記載の方法。
【請求項８】
前記方法は、さらに、前記第２のユニット上の全ての他のホストに対して、
前記第１のユニットが、前記他のホストの前記ローカルホスト識別子（Ｈｉｄ＿ｘ）と、前記第２のユニットの前記ユニット識別子（Ｅｉｄ＿ｘ）と、前記第２のユニットに関連付けられる前記サーバ識別子（Ｓｉｄ＿ｘ）とに基づき、前記第２のユニット上のたのホストに対するプロトコルアドレス（ＩＰ＿ｘ）を生成する工程と、
前記第１のユニットが、前記取り出す工程で取り出される、前記他のホストの前記プロトコルアドレス（ＩＰ＿ｘ）と前記第２のユニットの前記ハードウェアアドレス（ＭＡＣｘ）との間の前記関係を格納する工程と
を含むことを特徴とする請求項５又は６に記載の方法。
【請求項９】
前記第１のユニットのプロセッサ（４４）が、プロトコルアドレスに関連付けられる前記ハードウェアアドレスを提供するために前記第１のユニット上のホストからリクエストを受信する工程と、
前記第１のユニットの前記プロセッサが、インデックスアドレスを取得するために前記プロトコルアドレスを処理する工程と、
前記第１のユニットの前記プロセッサが、前記インデックスアドレスを使用して、前記ハードウェアアドレスを前記データベースから取り出す工程と、
前記第１のユニットの前記プロセッサが、前記第１のユニット上の前記ホストへ前記取り出したハードウェアアドレスを送信する工程と
をさらに含むことを特徴とする請求項２乃至８の何れか１項に記載の方法。
【請求項１０】
前記処理する工程は、
前記プロトコルアドレスの少なくとも１つのビットに依存して、前記第１、第２、及び第３のパラメータのビット数を推定する工程と、
前記プロトコルアドレスから前記第１及び第２のパラメータを取り出す工程と、
少なくとも前記第１のパラメータの前記ビットと、前記第２のパラメータの前記ビットとの連結による予め定義された長さを有する前記インデックスアドレスを生成する工程と
を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記ハードウェアアドレスが前記データベースから取り出すことができない場合に、
前記第１のユニットの前記プロセッサ（４４）が、前記プロトコルアドレスを有するリモートホストへ、該リモートホストのハードウェアアドレス（ＭＡＣｘ）を送信するようにリクエストを送信する工程と、
前記プロトコルアドレスを有するリモートホストが、前記リクエストに応じて、前記ホストの前記ハードウェアアドレス（ＭＡＣｘ）を含むレスポンスを送信する工程と、
前記第１のユニットの前記プロセッサが、前記レスポンスから前記ハードウェアアドレスを取り出す工程と、
前記第１のユニットの前記プロセッサが、前記リモートホストの前記プロトコルアドレス（ＩＰ＿ｘ）と、第２のユニットの前記ハードウェアアドレス（ＭＡＣｘ）との間の前記関係を前記第１のユニットのデータベース（２０４）に格納する工程と
をさらに含むことを特徴とする請求項９又は１０に記載の方法。
【請求項１２】
処理デバイス（１４）であって、
プロセッサ（６１０）と、前記ネットワークシステムに接続する入出力デバイス（６３０）と、データベース（６４０）と、命令を含むデータストレージ（６２０）と、を備え、前記命令が前記プロセッサ（６１０）によって実行されると前記処理デバイス（１４）が
ホスト（１６）のローカルホスト識別子（Ｈｉｄ＿ｘ）と、前記処理デバイスの前記ユニット識別子（Ｅｉｄ＿ｘ）と、前記処理デバイスに関連付けられる前記サーバ識別子（Ｓｉｄ＿ｘ）とに基づき、前記処理デバイス上の前記ホスト（１６）に対するプロトコルアドレス（ＩＰ＿ｘ）を生成し、
前記プロトコルアドレスを前記ホスト（１６）へ割り当てる
ことを特徴とする処理デバイス。
【請求項１３】
前記命令が前記処理デバイスによって実行されると、前記処理デバイスが、
第１のホストの予め定義されたローカルホスト識別子（Ｈｉｄ＿１）と、第２のユニットのユニット識別子（Ｅｉｄ＿ｘ）と、前記第２のユニットに関連付けられるサーバ識別子（Ｓｉｄ＿ｘ）とに基づき、前記第２のユニット上の前記予め定義されたローカルホスト識別子を用いて、前記第１のホストに対するプロトコルアドレス（ＩＰ＿ｘ）を生成し、
前記第１のホストのハードウェアアドレス（ＭＡＣｘ）をレスポンスにおいて送信するために、前記第１のホストへ、前記プロトコルアドレス（ＩＰ＿ｘ）とともにリクエストを送信し、
前記レスポンスから前記第２のユニットの前記ハードウェアアドレスを取り出し、
前記第１のホストの前記プロトコルアドレス（ＩＰ＿ｘ）と前記第２のユニットの前記ハードウェアアドレス（ＭＡＣｘ）との間の前記関係を前記処理デバイスのデータベース（６４０）に格納する
ことを特徴とする請求項１２に記載の処理デバイス。
【請求項１４】
前記命令が前記処理デバイスによって実行されると、前記処理デバイスが、
プロトコルアドレスに関連付けられる前記ハードウェアアドレスを提供するためにローカルホストからリクエストを受信し、
インデックスアドレスを取得するために前記プロトコルアドレスを処理し、
前記インデックスアドレスを使用して、前記ハードウェアアドレスを前記データベースから取り出し、
前記ローカルホストへ前記取り出したハードウェアアドレスを送信する
ことを特徴とする請求項１２に記載の処理デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク技術の分野に関し、特に、ネットワークのプロトコルアドレスを扱う方法及びデバイスに関する。
【背景技術】
【０００２】
アドレス解決プロトコル（ＡＲＰ）はインタネットプロトコル（ＩＰ）ネットワーキングの非常に重要な部分である。ＡＲＰは、メディアアクセスコントロール（ＭＡＣ）アドレスをＩＰアドレスへマップするために使用されるＯＳＩレイヤ２（データリンク）プロトコルである。ローカルエリアネットワーク又はプライベートネットワーク上の全てのホストは、それらのＩＰアドレスによって位置付けられる。ＡＲＰは、ＩＰアドレスをＭＡＣアドレスに関連付けるために使用されるプロトコルである。
【０００３】
ホストがネットワークの他のホストの何れかと通信することができるようになる前に、当該ホストは当該他のホストにおけるＭＡＣアドレスを有する必要がある。ＴＣＰ／ＩＰネットワークにおいて、インターネットプロトコルバージョン４（ＩＰｖ４）又はＩＰｖ６における近接探索プロトコル（ＮＤＰ）を用いて、ＩＰアドレスを知り、インタフェースのＭＡＣアドレスを問い合わせることができる。このため、ホストは、ＡＲＰパケットを発送（ブロードキャスト）する。ＡＲＰパケットは、単一の質問：ＩＰアドレス１０．５．５．１に対応するＭＡＣアドレスは何かという質問を含む。ＩＰアドレスを使用するように構成されたホストは、そのＭＡＣアドレスを含むＡＲＰパケットで応答する。このように、ＡＲＰはＩＰｖ４アドレス（ＯＳＩレイヤ３）をＭＡＣアドレス（ＯＳＩレイヤ２）へ変換するように使用される。
【０００４】
ＭＡＣアドレスを有するデバイス上で実行するＡＲＰソフトウェアは、ＩＰアドレスとＭＡＣアドレスとの間の変換テーブルを維持する。当該テーブルは、通常、動的に組み立てられる。ＡＲＰがＩＰアドレスをＭＡＣアドレス変換する要求を受信すると、当該テーブルにおいてＩＰアドレスを確認する。当該ＩＰアドレスが見つかれば、当該ＡＲＰテーブルのＩＰアドレスに紐付けられたＭＡＣアドレスを返す。ＡＲＰテーブルにおいてＩＰアドレスが見つからなければ、ＡＲＰは、ネットワーク上で全てのホストに対してパケットを送信（ブロードキャスト）する。当該パケットは、ＭＡＣアドレスを探索するためのＩＰアドレスを含む。受信側ホストが当該ホスト自身のものとしてＩＰアドレスを識別する場合、要求側ホストへそのＭＡＣアドレスを送信することによって応答する。応答に含まれるＭＡＣアドレス及び関連するＩＰアドレスはその後ＡＲＰテーブルにキャッシュされる。
【０００５】
ＡＲＰテーブルの検索時間は、できるだけ速く接続することができるように所定のアプリケーションにとって重要なことである。ＩＰアドレスがＡＲＰテーブルになければ、ＡＲＰソフトウェアは、ネットワーク上でＭＡＣアドレスに対して要求しなければならない。これは、時間が掛かり、さらには接続を確立する性能を必要とする。
【０００６】
例えば、１つの仮想ローカルエリアネットワーク（ＶＬＡＮ）内の大規模なプライベートネットワークは、当該ネットワーク内に１００００のホストを有する。いくつかの他のホストは、物理レイヤを形成するいくつかのネットワークインタフェースを共有し、したがって、いくつかのＭＡＣアドレスを有する。さらに、ネットワーク内の全てのホストは、ネットワーク内の全ての他のホストと通信を行うことができる。しかし、ホスト間で接続が確立する前に、ＭＡＣアドレスが知られる必要がある。ホストは、リクエストでネットワーク管理サービスからそのＩＰアドレスを取得する。したがって、各ホストは、自身のＡＲＰテーブルを維持する必要がある。ＡＲＰは、ＩＰアドレスをＭＡＣアドレスに紐付ける１００００−１のエントリを有するであろう。そのようなテーブルは、上述した方法で、動的に組み立てられうる。しかし、これは、対応するホストのＭＡＣアドレスの取得をネットワーク上で多くのＡＲＰが要求する結果となりうる。さらに、既にＡＲＰテーブルに存在する場合にはＩＰアドレスに対応するＭＡＣアドレスを取り出すために、或いは、ＡＲＰテーブルにＩＰ−ＭＡＣの組が存在しないことを検出するために、ＡＲＰテーブルを通じて検索するのにいくらかの時間を要するであろう。アプリケーションが毎秒の接続数での要件を有する場合、当該要件を満足することは難しいであろう。
【０００７】
ネットワークの開始において、ホストのＡＲＰテーブルは、他のホストとデータの交換を行う前に追加されうる。当該開始フェーズにおいて、ＡＲＰテーブルが追加されると、それらは、ブロードキャスト・ストームとなるであろう。これは、Ｎ個のホストを含むネットワークで、ネットワークへ送信されるＮ＊（Ｎ−１）のＡＲＰリクエストが存在しうることを意味する。理論上は、ＡＲＰパケットのサイズが２８バイトと想定されると、ネットワーク内の全てのホストに対するＡＲＰテーブルを追加するために、ネットワーク上で約２＊２８＊１００００＊１００００のバーストが発生しうる。
【０００８】
上記事実を前提とすると、ＡＲＰキャッシングの容易な実装は大規模なプライベートネットワークにおけるオプションとはなりえない。
【０００９】
さらに、いくつかの擬似ワイヤ（pseudo wire）のケース（ＩＰを介したＡＴＭ又はＩＰを介したＴＤＭなど）において、エミュレートされたプロトコルは新たに確立された接続を介して送信される第１のデータの配信を要求する。そのようなケースにおいて、ネットワーク上のホスト間で任意のデータ交換が行われる前にＡＲＰテーブルが十分に追加される必要がある。十分に追加されるＡＲＰテーブルは、第１のＩＰパケットを失うことなく、ホスト間での接続を確立することを許容する。
【発明の概要】
【００１０】
本発明は、プロトコルアドレスを扱う方法及びデバイスの改善、即ち、上述した不利益の少なくとも１つを取り除く改善を提供することを目的とする。
【００１１】
本発明の第１の形態によれば、ネットワークでプロトコルアドレスを扱うための方法が提供される。当該ネットワークは、Ｋ個のサーバを含む。サーバは、最大Ｌの処理ユニットを収容するネットワークエンティティ又はネットワークノードである。各サーバは、サーバ識別子によってネットワークで固有に識別される。各処理ユニットは、ネットワークへ接続する少なくとも１つのハードウェアアドレスを備える。処理ユニットに割り当てられるユニット識別子は、サーバにおいてユニットを個別に識別する。処理ユニットは、最大Ｍのホストを提供するように構成される。ユニット上の各ホストは、処理ユニット上のホストを個別に識別するローカルホスト識別子を備える。処理ユニットは、ホストのローカルホスト識別子、ユニットのユニット識別子、及び処理ユニットに関連付けられるサーバ識別子、即ち、処理ユニットを収容するネットワークエンティティのサーバ識別子に基づき、ユニット上のホストに対するプロトコルアドレスを生成する。続いて、ユニットはプロトコルアドレスをホストに割り当てる。
【００１２】
当該方法は、構造化された方法ではないがほぼランダムにネットワーク内のホストにＩＰアドレスが与えられることがないことに基づく。ホストのプロトコルアドレスを生成するために規則が適用される。規則を使用することによって、いくつかの類似性を有するか又は同一の範囲にある同一のユニットで実行するホストにプロトコルアドレスを割り当てる可能性がある。いくつかの類似性とは、プロトコルアドレスのいくつかのビットのみ、例えば、最下位ビット（ＬＳＢ）が異なることを意味する。さらに、当該規則が一方のサイドのプロトコルアドレスと他方のサイドのサーバ識別子、ユニット識別子及びホスト識別子との間の固有の関係を定義する場合、プロトコルアドレスに関連付けられたホストのＩＰメッセージ、サーバ及びユニットのプロトコルアドレスから取り出すことができる。同一のユニット上の全てのホストが同一のハードウェアアドレス又はＭＡＣアドレスを有する場合、第２のユニットのＭＡＣアドレスを取得するために、１つのＡＲＰリクエストのみが第１のユニットによって第２のユニットへ送信されなければならず、第１のユニットでの処理の実行により、上記規則を用いて第２のユニット上の全ての他のホストに対するプロトコルアドレスとハードウェアアドレスの組を生成することができる。これは、ネットワークの始動時にＡＲＰテーブルを追加するための、ネットワーク上でのＡＲＰリクエストの数を低減することを可能とする。
【００１３】
方法の他の実施形態において、プロトコルアドレスは、ネットワーク部分と、ホスト識別子部分とを含む。ホストに関連付けられるサーバ識別子は、ｋビットを含む第１のパラメータによって表され、ｋは２ｋ＞＝Ｋを維持する自然数である。ホストに関連付けられるユニット識別子は、ｌビットを有する第２のパラメータによって表され、ｌは２ｌ＞＝Ｌを維持する自然数である。ローカルホスト識別子は、ｍビットを有する第３のパラメータによって表され、ｍは２ｍ＞＝Ｍを維持する自然数である。ホスト識別子部分は、第１のパラメータと、第２のパラメータと、第３のパラメータとのビットの連結によって取得される。それらの機能は、規則の単一の実行を提供する。
【００１４】
他の実施形態において、ホスト識別子部分は、ｋ＋ｌ＋ｍ＜＝ＨとなるＨビットを有する。それらの機能は、各ホストに対してプロトコルアドレスが生成されうることを保証する。
【００１５】
一実施形態において、サーバはネットワークのセグメントと、ネットワークのセグメントを定義するプロトコルアドレスのホスト識別部分のビットに対応する第１のパラメータとを定義する。それらの機能は、ルータ、即ち、サーバをネットワークへ接続するためにノード又はサーバのユニットを切り替えるルータを使用することを許容する。サーバの切替ユニットに結合された全ての処理ユニットは、同一のサブネットとなるであろう。したがって、サーバの全てのホストは、同一のサブネットとなるであろう。本実施形態において、サブネットビットは、サーバ識別子に対応する。
【００１６】
方法の一実施形態において、第１のユニットは、第２のユニットの予め定められたローカルホスト識別子で第１のホストに対するプロトコルアドレスを生成する。プロトコルアドレスは、第１のホストの予め定められたローカルホスト識別子と、第２のユニットのユニット識別子と、第２のユニットと第１のホストに関連付けられるサーバ識別子とに基づく。さらに、第１のユニットは、第１のホストを提供する第２のユニットのハードウェアアドレスを送信するように、プロトコルアドレスとともに第１のホストへのリクエストを送信する。第２のユニットは、当該リクエストに応じて第２のユニットのハードウェアアドレスを含むレスポンスを送信する。続いて、第１のユニットは、当該レスポンスから第２のユニットのハードウェアアドレスを取り出し、第１のホストのプロトコルアドレスと、第２のユニットのハードウェアアドレスとの間の関係を第１のユニットのデータベースに格納する。当該データベースは、ＩＰアドレスとＭＡＣアドレスとの間の関係を定義するＡＲＰテーブルに対応する。１つ以上のホストが１つの処理ユニット又は基板によって提供され、処理ユニットがネットワークへの１つのインタフェース、即ち、１つのＭＡＣアドレスを含む場合、プロトコルアドレスを生成する規則はまた、ネットワークのサーバに処理ユニットによって提供される特定のホスト識別子と、ホストに対するプロトコルアドレスを生成することによって１回のみのネットワークの各処理ユニットのアドレスを指定する方法を提供する。
【００１７】
他の実施形態において、第１のパラメータの少なくとも１つの最上位ビットは、第１、第２及び第３のパラメータのビット数を定義する。この特徴は、プロトコルアドレスを生成する少なくとも２つの規則を使用することを許容する。これは、ネットワーク内の処理ユニットの少なくとも２つの異なるタイプを使用する必要がある場合に、大規模なプライベートネットワークに利益をもたらすことができる。例えば、古いタイプは４つのホストまで提供することができ、新たなタイプは６４のホストまで提供することができる。この特徴は、古い処理ユニットを収容するサーバを新たな処理ユニットを収容するサーバへ部分的に置き換えることを可能とする。プロトコルアドレスを生成するアルゴリズムが、２つ以上の規則に従って、古い処理ユニットがプロトコルアドレスを生成することを許容するために、置き換えられなければならないだけである。
【００１８】
一実施形態において、格納工程は、少なくとも第１のパラメータのビットと、第２のパラメータのビットとの連結によって予め定義された長さでインデックスアドレスを生成する工程を含む。続いて、第２のユニットのハードウェアアドレスは、データベース内のインデックスアドレスへ紐付けられる。それらの特徴は、全ての可能なＩＰアドレスとＭＡＣアドレスの組み合わせがＡＲＰテーブルから取り出される必要がある場合、ＡＲＰテーブルのエントリ数を低減することを許容する。低減されたＡＲＰテーブルは、テーブルを格納するわずかな複合メモリを必要とする利益を有する。代替の実施形態において、インデックスアドレスは、ネットワーク部分と、第１のパラメータのビットと、第２のパラメータのビットと、オプションとして少なくとも１つのパディングビットとの連結によって取得される。
【００１９】
他の実施形態において、第２のユニットの全ての他のホストに対して、第１のユニットは、第２のユニット上の他のホストに対するプロトコルアドレスを生成する。プロトコルアドレスは、他のホストのローカルホスト識別子、第２のユニットのユニット識別子、及び、第２のユニット及び他のホストに関連付けられるサーバ識別子に基づく。第１のユニットは、第２のユニットによって提供される他のホストのプロトコルアドレスと、前の取り出し工程で取り出された第２のユニットのハードウェアアドレスとの間の関係を格納する。これらの特徴は、低減した数のＡＲＰリクエストでＡＲＰテーブルを十分に追加することを許容する。
【００２０】
方法の一実施形態において、第１のユニットの処理は、プロトコルアドレスと関連付けられるハードウェアアドレスを提供するために第１のユニット上でホストからのリクエストを受信する。第１のユニットの処理は、インデックスアドレスを取得するためにプロトコルアドレスを処理する。第１のユニットの処理は、データベースから、インデックスアドレスを使用して、プロトコルアドレスと関連付けられるハードウェアアドレスを取り出す。最後に、第１のユニットの処理は、第１のユニット上のホストに取り出したハードウェアアドレスを送信する。それらの特徴は、低減したＡＲＰテーブルから任意のホストのＭＡＣアドレスを取得するために低減したＡＲＰテーブルを使用することを許容する。
【００２１】
他の実施形態において、当該処理は、プロトコルアドレスの少なくとも１つのビットに従って第１、第２及び第３のパラメータのビット数を推定し、プロトコルアドレスから第１及び第２のパラメータを取り出し、少なくとも第１のパラメータのビットと第２のパラメータのビットとの連結による予め定義された長さを有するインデックスアドレスを生成する。他の実施形態において、インデックスアドレスは、プロトコルアドレスのネットワーク部分と、第１のパラメータのビットと、第２のパラメータのビットと、オプションとして少なくとも１つのパディングビットとの連結によって取得される。これらの特徴は、１つのプライベートネットワークにおいて、それぞれが異なるタイプの処理ユニットを収容する２つ以上のサーバを使用することを可能にする。サーバの処理ユニットのタイプを識別するプロトコルアドレスの少なくとも１つのビットを使用することによって、プロトコルアドレスからインデックスアドレスを取り出すために２つ以上の規則を適用することが可能である。
【００２２】
方法の他の実施形態において、ハードウェアアドレスがデータベースから取り出すことができない場合、第１のユニットの処理は、プロトコルアドレスを有するリモートホストへ、そのハードウェアアドレスを送信するリクエストを送信する。プロトコルアドレスを有するリモートホストは、リクエストに応じてホストのハードウェアアドレスを含むレスポンスを送信する。第１のユニットの処理は、当該レスポンスからハードウェアアドレスを取り出し、リモートホストのプロトコルアドレスと、リモートホストを収容する第２のユニットのハードウェアアドレスとの間の関係を、第１のユニットのデータベース（２０４）に格納する。
【００２３】
第２の態様によれば、プロセッサと、ネットワークシステムへ接続する入出力デバイスと、データベースと、プロセッサにより実行されると処理デバイスがホストののローカルホスト識別子、処理デバイスのユニット識別子及び処理デバイスと関連付けられるサーバ識別子に基づく処理デバイス上のホストに対するプロトコルアドレスを生成し、ホストにプロトコルアドレスを割り当てる命令を含むデータストレージと、を備える処理デバイスを提供する。
【００２４】
他の実施形態において、処理デバイスによって当該命令が実行されることにより、処理デバイスが第１のホストの予め定義された第１のホストのローカルホスト識別子に基づく第２のユニットの予め定義されたローカルホスト識別子と、第２のユニットのユニット識別子と、第２のユニットに関連付けられるサーバ識別子とで第１のホストに対するプロトコルアドレスを生成し、そのハードウェアアドレスを含むレスポンスを送信するために予め定義されたローカルホスト識別子とともに第１のホストへのリクエストを送信し、第２のユニットからのレスポンスからハードウェアアドレスを取り出し、第１のホストのプロトコルアドレスと、第２のユニットのハードウェアアドレスとの関係を、処理デバイスのデータベースに格納する。
【００２５】
代替の実施形態において、処理デバイスによって当該命令が実行されることにより、処理デバイスがプロトコルアドレスに関連付けられるハードウェアアドレスを提供するローカルホストからのリクエストを受信し、インデックスアドレスを得るためにプロトコルアドレスを処理し、インデックスアドレスを使用してハードウェアアドレスをデータベースから取り出し、取り出したハードウェアアドレスをローカルホストへ送信する。
【００２６】
他の特徴及び利益が、一例として種々の実施形態を説明する添付の図面を参照しながらの以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【００２７】
図面を参照した以下の説明に基づき、それらの他の形態、プロパティ、及び利益が以下で説明され、の参照番号は、同様の又は比較可能な部分を示す。
【図１】ユニットで実行するホストとネットワークアーキテクチャを概略的に示すブロック図である。
【図２】プロトコルアドレスを生成する規則を概略的に示す図である。
【図３】第１の実施形態に係るサーバの処理ユニットで実行する処理を示すブロック図である。
【図４】第２の実施形態に係るサーバの処理ユニットで実行する処理を示すブロック図である。
【図５】プロトコルアドレスからインデックスアドレスを生成する規則を概略的に示す図である。
【図６】処理ユニットを示すブロック図である。
【発明を実施するための形態】
【００２８】
図１は、本発明を適用するのに適したネットワークアーキテクチャを概略的に示す。ネットワーク１０はインターネットとして示される。当該ネットワークはまた個別の隠蔽されたネットワークである。ネットワークは、１つのオペレータ又は共同で所有されるグループのオペレータに属することができる。ネットワークは単一のネットワークオペレーション及び管理（Ｏ＆Ｍ）サービスを有する。ネットワーク１０は４つのノードを含む。残りの説明において、ノードがサーバ１２として参照される。サーバは０からＮのスイッチング／ルーティングユニットと、０からＮの処理ユニットとを収容するためのネットワークエンティティである。図１において、サーバ１２は、１つのスイッチングユニット２０とＬ個の処理ユニット１４とを備える。スイッチングユニット２０は、ネットワークセグメント又はネットワークデバイスを紐付けるサーバ内のコンピュータネットワーキングデバイスである。スイッチング／ルーティングユニットはサーバへ接続される任意のデバイスからのメッセージを受信し、その後、意味のあったメッセージにおけるデバイスへのみメッセージを送信する。スイッチングユニット２０は、サーバ１２の処理ユニット１４を当該サーバの他の処理ユニットと他のサーバ１２へ接続する。スイッチングユニット２０は、ネットワークをサブネットワークに分割するために使用される。これは、同一のサーバ上でのホスト間のメッセージがネットワークの任意の他のサーバへ送信されないことを意味する。
【００２９】
処理ユニット１４は、ネットワークのサーバ内の機器の一部である。１つの物理的なイーサネット（登録商標）接続と、１つのメディアアクセスコントロール（ＭＡＣ１、...ＭＡＣ８）アドレスとを有することを特徴とする。ＭＡＣアドレスは当該接続のハードウェアアドレスである。処理ユニット１４は、サーバの処理基板の形態であってもよい。処理ユニットは、１〜Ｍ個のホスト１６を提供するのに適している。各ホスト１６は、少なくとも１つのインターネットプロトコル（ＩＰ）アドレスを有する。したがって、処理ユニット１４は少なくとも１からＭ個のＩＰアドレスを有する。アプリケーションは処理ユニットで実行され、ホスト１６の１つによって提供される。アプリケーションは、接続が確立する前にＩＰ／ＭＡＣアドレスの組が解決されなければならないＩＰアドレスを有する所定の宛先への接続を要求することができる。特定のＩＰアドレスと関連付けられるＭＡＣアドレスを取得するために、処理ユニット１４のホスト１６がＭＡＣアドレスを提供する処理ユニット１４で実行するＡＲＰ処理１８を要求する。図１から、処理ユニット１４上の全てのホスト１６（Ｈｉｄ＿１、...、Ｈｉｄ＿Ｍ）が同一のＭＡＣアドレスを共有することが明らかである。
【００３０】
ネットワークの各サーバ１２は、サーバ識別子（Ｓｉｄ＿１、...、Ｓｉｄ＿４）によって固有に識別される。サーバ１２の各処理ユニット１４は、ユニット識別子、又は、機器識別子（Ｅｉｄ＿１、...、Ｅｉｄ＿Ｌ）によって固有に識別される。さらに、処理ユニット１４の各ホスト１６は、ローカルホスト識別子（Ｈｉｄ＿１、...Ｈｉｄ＿Ｍ）によって固有に識別される。実装次第で、サーバ識別子はまた、同一の仮想ローカルエリアネットワーク（ＶＬＡＮ）の１つのセグメントをマークするサブネットワーク識別子であってもよい。この場合、Ｓｉｄ＿ｘは、番号ｘを有するスイッチングユニット２０のイーサネットスイッチング基板識別子を示し、Ｅｉｄ＿ｘは番号ｘを有する１つのＶＬＡＮセグメント内のイーサネット接続を有する機器基板を固有に示し、Ｈｉｄ＿ｘは、機器基板内の番号ｘを有するＩＰホストを固有に示す。
【００３１】
図１のネットワークにおいて、全てのホストは、ホストのローカルホスト識別子Ｈｉｄ＿ｘと、ホストを収容するユニットのユニット識別子Ｅｉｄ＿ｘと、ホストＨｉｄ＿ｘを収容する処理ユニットを収容するサーバユニットのサーバ識別子Ｓｉｄ＿ｘとに基づく。図２は、インターネットプロトコルがＩＰｖ４である場合にプロトコルアドレスを生成する一例を示す。ＩＰｖ４は３２ビットアドレスを使用する。３２ビットは、４バイトによって表すことができる。プロトコルアドレスは、１６ビットのネットワーク部分と、１６ビットのホストＩＤ（識別）部分とを含む。ネットワーク部分は、ネットワーク識別する固定部分である。当該部分は、ネットワークの全てのホストに対して同様である。ホストＩＤ部分は、ネットワークのホストを固有に識別するために使用されうる。これは、２１６＝６５５３６プロトコルアドレスがホストへ割り当てるために利用可能である。
【００３２】
図１のネットワークにおいて、ホストは、３つのパラメータ、サーバ識別子（Ｓｉｄ＿ｘ）に関連付けられる第１のパラメータＳｉｄと、ユニット識別子（Ｅｉｄ＿ｘ）に関連付けられる第２のパラメータＥｉｄと、ホスト識別子（Ｈｉｄ＿ｘ）に関連付けられる第３のパラメータＨｉｄとによって固有に識別されうる。それらの３つのパラメータは、プロトコルアドレスのホストＩＤ部分を生成するために規則又はアルゴリズムに使用されうる。
【００３３】
一般に、ネットワークがＫサーバを含む場合、第１のパラメータＳｉｄの値をｋビットによって表すことができ、ｋは２ｋ＞＝Ｋを維持する自然数である。ネットワークのサーバにおいて処理ユニットの最大数がＬである場合、第２のパラメータＥｉｄの値をｌビットによって表すことができ、ｌは２ｌ＞＝Ｌを維持する自然数である。ネットワークの処理ユニット上のホストの最大数がＭである場合、第３のパラメータＨｉｄの値をｍビットによって表すことができ、ｍは２ｍ＞＝Ｍを維持する自然数である。
【００３４】
ホストのプロトコルアドレスを生成する規則の実施形態において、ホストＩＤ部分は、第１のパラメータ、第２のパラメータ及び第３パラメータのビットの連結によって得られる。同一の規則は、ネットワークのサーバの処理ユニットで実行する全てのホストにプロトコルアドレスを割り当てるために適用されるべきである。第１のパラメータ、第２のパラメータ及び第３のパラメータを表すビット数の合計がプロトコルアドレスのホスト識別子部分の長さ以下であれば、固有のプロトコルアドレスが取得されうる。したがって、ｋ＋ｌ＋ｍ＜＝Ｈとなり、Ｈはホスト識別子部分のビットの長さを示し、ｋ、ｌ、ｍはそれぞれ第１、第２、及び第３のパラメータを表すビット数である。
【００３５】
図２は、最大１６のサーバを含むネットワークと、最大３２の処理ユニットを含むサーバと、最大１２８のホストを含む処理ユニットとを想定した一例を示す。この場合、第１のパラメータＳｉｄの値は４ビットによって表すことができ、第２のパラメータのＥｉｄの値は５ビットによって表すことができ、第３のパラメータＨｉｄの値は７ビットによって表すことができる。図２の例において、Ｓｉｄ値３のサーバににあるＥｉｄ値４の処理ユニット上のＨｉｄ値７のホストにおいて、第１のパラメータＳｉｄがビット００１１で表され、第２のパラメータＥｉｄがビット００１００で表され、第３のパラメータＨｉｄが００００１１１で表される。３つのパラメータのビットの連結は、ビットシーケンス００１１００１１００００００１１の結果となる。この１６ビットはプロトコルアドレスのホスト識別子部分を形成する。ホスト識別子部分は、バイナリ表現の１０１０１００１．０１１１１０１１で、ドット付の１０進法の１６９．１２３のネットワーク部分に続けて合成される。規則を適用することによって、ＩＰｖ４の１６９．１２３．０５０．００７のプロトコルアドレスが得られる。その後、このプロトコルアドレスは、Ｈｉｄ＝３、Ｅｉｄ＝４、及びＳｉｄ＝３のホストに割り当てられる。
【００３６】
上述したように、規則に従ったプロトコルアドレスの割り当ては、いくつかの利益を有する。処理ユニット上の全てのホストが同一のハードウェアアドレスを有する場合、即ち、同一のＭＡＣアドレスを有する場合、ＡＲＰリクエストが送信されたホストを収容する処理ユニット上で全ての他のホストにおけるＡＲＰテーブルを追加するために、処理ユニット上にＡＲＰテーブルを維持するＡＲＰプロセスによって、１つのＡＲＰリクエストのみが送信（ブロードキャスト）されるべきである。規則を用いて、ＡＲＰプロセスは、同一の処理ユニットの全ての他のホストに対するプロトコルアドレスを生成し、その後、プロトコルアドレスとハードウェアアドレスとの間の関係をＡＲＰテーブルに格納する。
【００３７】
図３は、サーバの処理ユニットで実行するプロセス１８の第１の実施形態を示すブロック図である。当該プロセス１８は、ＩＰｖ４デバイスにおけるアドレス解決プロトコルＡＲＰを実行するように構成される。ネットワーク内の全ての処理ユニットは、プロトコルアドレスを生成する、同一の規則又はアルゴリズムを使用する。ネットワーク内の処理ユニットの開始フェーズがどのように行われるかを第１の実施形態で説明し、ＡＲＰテーブル３２は、機能３０を追加することによって追加される。
【００３８】
追加機能（データを追加する追加部）３０は、上述した第１、第２、及び第３のパラメータに対応する３つの変数Ｓｉｄ、Ｅｉｄ、及びＨｉｄを使用する。本方法において、機能３０は、ネットワークの全てのホストをアドレス指定することができる。第１の変数Ｓｉｄ及び第２の変数Ｅｉｄの全ての可能な値に関し、機能３０は、予め定義されたローカルホスト識別子Ｈｉｄ値とホストに対するプロトコルアドレスを生成する。予め定義されたローカルホスト識別子は例えば値１を有する。変数Ｓｉｄ、Ｅｉｄ、及びＨｉｄ＝１の値に基づき、機能３０は、プロトコルアドレスを生成する。当該プロトコルアドレスは、ネットワークの第２の処理ユニット上のホストに属する。プロトコルアドレスの生成後、処理ユニット上で実行するＡＲＰルーチン１８の機能３０は、ＡＲＰリクエストを送信（ブロードキャスト）する。生成したプロトコルアドレスを有する第２の処理ユニット上のホストは、ＡＲＰリクエストとＡＲＰレスポンスが当該ＡＲＰリクエストと当該ＡＲＰレスポンスを送信した処理ユニットに返されることを認識する。ＡＲＰレスポンスは、レスポンスを生成するホストと関連付けられる、プロトコルアドレス、即ち、ＩＰアドレスと、ハードウェアアドレス、即ち、ＭＡＣアドレスとの両方を含む。追加機能３０は、ＡＲＰレスポンスを受信し、プロトコルアドレスとハードウェアアドレスとの間の関係をＡＲＰテーブル３２に格納する。
【００３９】
ＡＲＰテーブル３２は、従来のＡＲＰテーブルのフォーマットを有することができる。この場合、ＡＲＰテーブルは、ネットワーク上の各ホストにおける、プロトコルアドレスとハードウェアアドレスとの間の関係を特定するエントリを含む。従来のＡＲＰルーチンは、プロトコルアドレスと関連付けられるハードウェアアドレスを取得するためにＡＲＰテーブルにアクセスすることができる。そのようなＡＲＰテーブルで、追加機能３０は、ＡＲＰレスポンスの受信後に同一の処理ユニット上で実行する全ての可能なホストのプロトコルアドレスとハードウェアアドレスとの間の関係をＡＲＰテーブルに格納するように構成される。これに関し、当該機能は、同一の処理ユニット上での全ての他のホストに対して、対応するプロトコルアドレスを生成し、プロトコルアドレスとハードウェアアドレスとの間の関係をＡＲＰテーブルに格納するために規則を再度使用する。したがって、図２を参照した説明に使用されたパラメータが与えられると、処理ユニットは、最大１２８のホストを含み、ＡＲＰレスポンスの受信後にプロトコルアドレスとハードウェアアドレスとの間の関連をＡＲＰテーブルに格納し、追加機能が処理ユニット上の他の１２７の可能性のあるホストに対するプロトコルアドレスを生成し、１２７のプロトコルアドレスにおける、プロトコルアドレスとＡＲＰレスポンスから取り出されたハードウェアアドレスとの間の関連をＡＲＰテーブルに格納する。追加機能３０とＡＲＰテーブル３２との間の接続３６は、プロトコルアドレスとハードウェアアドレスとの間の関連のＡＲＰテーブルへの格納を示す。
【００４０】
上述した方法において、任意の通信がネットワークのホスト間で行われる前に、十分に追加されたＡＲＰテーブルが生成される。そのようなＡＲＰテーブルが利用可能であれば、ネットワーク内の２つのホスト間で接続が確立される前に任意のＡＲＰリクエストが送信（ブロードキャスト）される必要はない。
【００４１】
図３は、ＡＲＰルーチン１８が解決機能（解決部）３４を含むことを点線でさらに示す。他のホストとの接続の確立において、ＡＲＰルーチンが実行される場合に同一の処理ユニットで提供されるホストは、他のホストのプロトコルアドレス（ＩＰ＿ｘ）と関連付けられるハードウェアアドレスＭＡＣｘを供給するために、ＡＲＰルーチンを要求することができる。参照番号３８は、ＡＲＰテーブル３２へデータが送信されることを示し、参照番号３７は、データ３８に応じて解決機能３４へハードウェアアドレスが返されることを示す。ＡＲＰテーブルが全ての可能性のあるプロトコルアドレスがＡＲＰテーブルのエントリを有する、十分に追加されたＡＲＰテーブルである場合、データ３８は、プロトコルアドレス、又は、プロトコルアドレスの少なくともホスト識別子部分に対応する。
【００４２】
プロトコルアドレスを生成する規則を適用することの利益、及び、同一の処理ユニット上の全てのホストが処理ユニットのハードウェアアドレスを有するという知識は、解決機能３４が処理ユニット上で全てのホストと関連付けられるハードウェアアドレスを取得することを可能とするためにＡＲＰテーブルが１つのエントリのみを必要とすることである。現在、特定のプロトコルアドレスを有するホストを収容する処理ユニットをアドレス指定するためにインデックスアドレスが使用される。インデックスアドレスはホストのプロトコルアドレスから導出される。したがって、追加機能３０と解決機能３４の両方は、プロトコルアドレスからインデックスアドレスを導出することができるであろう。当該規則は、同一の処理ユニットによって収容されるホストの全てのプロトコルアドレスが同一のインデックスアドレスを有することを保証する。
【００４３】
図５は、プロトコルアドレスからインデックスアドレスを生成する規則の概略的な実施形態を示す。本実施形態において、当該規則は、図２を参照して上述したプロトコルアドレスを生成する規則に基づく。ドット付き１０進数でＩＰｖ４プロトコルアドレス１６９．１２３．０５０．００７を有することを想定する。最初の２つの番号１６９．１２３はプロトコルアドレスのネットワーク部分に対応し、最後の２つの番号はプロトコルアドレスのホスト識別部分に対応する。さらに、ホスト識別子部分が３つのパラメータＳｉｄ、Ｅｉｄ、及びＨｉｄを表すビットの連結により得られるプロトコルアドレスを生成する適用した規則に従うことが知られている。Ｓｉｄの値はプロトコルアドレスを有するホストを収容する処理ユニットを収容するサーバのサーバ識別子に対応し、Ｅｉｄの値はプロトコルアドレスを有するホストを収容する処理ユニットのユニット識別子に対応し、Ｈｉｄは処理ユニット上のホストを固有に識別するホスト識別子である。さらに、当該規則によれば、パラメータＳｉｄは４ビットを有し、パラメータＥｉｄは５ビットを有し、パラメータＨｉｄは７ビットを有する。図５は、３つのパラメータＳｉｄ、Ｅｉｄ、及びＨｉｄの値、ドット付き１０進数で値０５０．００７がどのように導出されるかを示す。その後、パラメータＳｉｄ及びＥｉｄの値がインデックスアドレスを取得するために使用される。図５において、インデックスアドレスは、プロトコルアドレスのネットワーク部分と、パラメータＳｉｄと、パラメータＥｉｄとの連結によって得られる。選択的に、少なくとも１つのパディングビットがＡＲＰテーブルが格納された処理ユニットのメモリをアドレス指定するのに適したビット長にインデックスアドレスを拡張するために使用される。図５は、パラメータＨｉｄのビット値がデフォルト値によって置き換えられる実施形態を示す。この方法で、パラメータＨｉｄの値０００１１１は値００００００１によって置き換えられる。
【００４４】
図５は、インデックスアドレスを得る２つの実施形態を示す。第１の実施形態において、パラメータＨｉｄに対応するプロトコルアドレスのビットは、インデックスアドレスを得るために前記プロトコルアドレスから取り除かれる。第２の実施形態において、パラメータＨｉｄに対応するプロトコルアドレスのビットは、インデックスアドレスを得るためにデフォルトのビット値によって置き換えられる。所定の例において、処理ユニットは１２８のホストを提供することができ、上述した方法は、ファクタ１２８でＡＲＰテーブルのエントリ数を低減することを許容する。それらの２つの実施形態は、ＡＲＰテーブルとを格納するために必要となるメモリと、ＡＲＰテーブルからハードウェアアドレスを得るために必要となる時間とを低減する。
【００４５】
図４は、低減したＡＲＰテーブルの利益を用いたＡＲＰルーチンの実施形態を示す。本実施形態において、ＡＲＰルーチンは、図３に示すような追加機能を有していない。処理ユニットの起動時においては、ＡＲＰテーブル４２は空である。ローカルホストがネットワークの他のホストと接続を確立したい場合に、当該ホストは、ＡＲＰルーチン１８の解決機能４４へプロトコルアドレスＩＰ＿ｘを送出することによって、他のホストのハードウェアアドレスを提供するＡＲＰルーチンをリクエストする。解決機能４４は、上述したように、プロトコルアドレスからインデックスアドレスを導出し、ＡＲＰテーブル４２からハードウェアアドレスＭＡＣｘを取り出すためにインデックスアドレスを使用する。インデックスアドレスに対応するエントリがＡＲＰテーブル４２に存在するのであれば、解決機能はＡＲＰテーブル４２からＭＡＣｘを読み出し、ホストへＭＡＣｘを供給することによって、ローカルホストへ応答する。
【００４６】
インデックスアドレスに対応するエントリがＡＲＰテーブルに存在しないのであれば、解決機能４４は、ＡＲＰリクエストを送信（ブロードキャスト）することになる。ＡＲＰリクエストに応じて、ＡＲＰリクエストのプロトコルアドレスを有するホストがＡＲＰリクエストを送信した解決機能４４にＡＲＰレスポンスを送出することによって応答することになる。ＡＲＰレスポンスは、ＡＲＰレスポンスを送信するホストのプロトコルアドレスとハードウェアアドレスの両方を含む。ＡＲＰレスポンスの受信後に、解決機能は、レスポンスからプロトコルアドレスとハードウェアアドレスとを取り出し、プロトコルアドレスからインデックスアドレスを導出する。続いて、解決機能４４は、インデックスアドレスを有する位置にハードウェアアドレスを格納する。さらに、ＡＲＰレスポンスに応じて、解決機能４４は、プロトコルアドレスＩＰ＿ｘに関連付けられるハードウェアアドレスを解決するリクエストを送信したローカルホストへ、ＡＲＰレスポンスのハードウェアアドレスを供給する。
【００４７】
図４の実施形態は、ネットワークの処理ユニット上のホスト数によって定義されるファクタにより、テーブルサイズと、ネットワーク上でのＡＲＰリクエストの数を低減する。
【００４８】
図６は、図１に示す処理ユニット１４のコンポーネントの一例を示すブロック図である。処理ユニット１４は、上述した機能が実行されるノード内の機器又はネットワーク内のサーバの任意の一部でありうる。処理ユニットは、スイッチング／ルータユニットや処理基板であってもよい。図６に示すように、処理ユニット１４は、プロセッサ６１０、データストレージ６２０、入出力装置６３０、及びデータベース６４０を備える。データを格納する適切なメモリであるデータストレージ６２０は、プロセッサ６１０によって実行されると、ユニット１４に上述した動作を実行させる命令を含む。入出力ユニット６３０は、イーサネット接続を提供するように構成され、ＭＡＣアドレスの形式で１つのハードウェアアドレスを有する。入出力ユニットは、処理ユニットで提供されるホストが、ネットワークの他の処理ユニット上で他のホストと通信することを許容する。データベース６４０は、現在のイーサネットデバイスでＡＲＰテーブルと同程度の機能を提供する。
【００４９】
ネットワークは、当該処理ユニットが１６のホストを収容することができる最大３２の処理ユニットを収容する第１タイプのサーバと、当該処理ユニットが２５６のホストを収容することができ最大８の処理ユニットを収容する第２タイプのサーバとを備える可能性もありうる。第１タイプのサーバのみを有するネットワークは、２１６のホストにネットワークを提供するために最大１２８のサーバを必要とする。第２タイプのサーバのみを有するネットワークは、２１６のホストにネットワークを提供するために最大３２のサーバを必要とする。両方のタイプのサーバに対して使用することができる上述したシンプルな規則を適用する場合、サーバの数が８サーバに限定されるであろう。ネットワーク上の処理ユニットが最大２５６ホストを収容することができれば、８ビットがパラメータＨｉｄに対して必要とされるであろう。サーバが最大３２の処理ユニットを収容する場合には、５ビットがパラメータＥｉｄに対して必要とされるであろう。１６ビットを含むプロトコルアドレスのホスト識別部分が与えられると、パラメータＳｉｄに利用可能なビット数は、１６−８−５＝３ビットに制限され、８サーバに対応する。そのようなシンプルな規則は、ネットワークの最大ホスト数を大いに制限し、第２タイプの新たなサーバによって第１タイプの古いサーバを徐々に置き換えるネットワークの提供者の妨げとなるであろう。
【００５０】
この問題を解決するために、より複雑な規則の第２の実施形態を以下で説明する。この規則は、サーバ識別子Ｓｉｄ＿ｘの値と、プロトコルアドレスのホスト識別部分の最上位ビット（ＭＳＢ）のビット値とは、サーバのタイプを決定し、従って、サーバのタイプに対して適用されるべき規則を決定する。例示の実施形態において、値’１’の最上位ビットは、第１タイプのサーバを示し、値’０’の最上位ビットは、第２タイプのサーバを示す。これは、第１タイプのサーバに対して、第１タイプのサーバの最大３２の処理ユニットをアドレス指定するためにパラメータＥｉｄに対して５ビットを使用し、第１タイプのサーバの１つの処理ユニットによって収容される最大１６のホストをアドレス指定するために４ビットを使用する、規則が適用されることを意味する。結果として、１６−５−４＝７ビットがパラメータＳｉｄに対して利用可能である。しかし、ＭＳＢは予め定義された値’１’となるため、６ビットがネットワークの第１タイプのサーバを固有にアドレスするために使用されることを意味する。これは、ネットワークが当該ネットワーク内に第１タイプの最大６４のサーバを含むことができることを意味する。６４のサーバは、合計で６４＊３２＊１６＝３２７６８のホストを提供することができる。
【００５１】
同様に、第２タイプのサーバに対して、第２タイプのサーバの最大８の処理ユニットをアドレス指定するパラメータＥｉｄに対して３ビットを使用し、第２タイプのサーバの１つの処理ユニットによって提供される最大２５６のホストをアドレスしているために８ビットを使用する、規則が適用されうる。結果として、１６−３−８＝５ビットがパラメータＳｉｄに対して利用可能である。しかしながら、ＭＳＢが予め定められた値’０’を有するため、４ビットが、ネットワーク内の第２タイプのサーバを固有にアドレス指定するために使用されうることを意味する。これは、ネットワークがネットワーク内の第２タイプの最大１６のサーバを含みうることを意味する。１６のサーバは合計で１６＊８＊２５６＝３２７６８のホストを提供することができる。
【００５２】
解決機能のより複雑な規則を適用するために、上述した解決機能は、プロトコルアドレスのホスト識別部分のＭＳＢを最初にチェックするように構成されなければならない。ＭＳＢの値に基づき、解決機能は、プロトコルアドレスを生成するために使用されたＳｉｄ、Ｅｉｄ、及びＨｉｄのビット数を知る。この知得は、解決機能が正しいインデックスアドレスを生成することを許容する。インデックスアドレスがプロトコルアドレス又はプロトコルアドレスのホスト識別子部分の長さを有する場合、解決機能は、適用した規則に対応する予め定められた値又は一連のビットによってホスト識別子部分のホストのホスト識別子を表すビットを置き換えなければならない。しかし、インデックスアドレスのビット長がプロトコルアドレス又はプロトコルアドレスのホスト識別子部分のビット長よりも短ければ、解決機能は、同等のビット長で両方のタイプのサーバに対してインデックスアドレスを生成するように構成されなければならない。プロトコルアドレスの第１タイプのサーバに対するパラメータＳｉｄ、Ｅｉｄのビット数の合計は、５＋３＝８ビットである。したがって、ネットワークの全ての処理ユニットに対して１２ビットの長さの固有のインデックスアドレスを得るために、パラメータＳｉｄ及びＥｉｄの連結によって得られる一連のビットに続けて、４つの予め定義されたパディングビットが追加されるべきである。
【００５３】
追加機能のより複雑な規則を適用するために、追加機能は、サーバ識別子の値０−１５が第２タイプの１６のサーバをアドレス指定するために使用され、第１タイプの６４のサーバをアドレス指定するためにサーバ識別子の値６５−１２７が使用されることを認識している。さらに、追加機能が各処理ユニットに対してテーブルに１つのみのエントリを有する低減されたＡＲＰテーブルを生成する場合、追加機能は、両方のタイプのサーバに対して固定長のインデックスアドレスを生成するように構成されなければならない。これは、前述の段落で説明した方法によって行うことができる。
【００５４】
このより複雑な規則はネットワークのオペレータが、大規模なホストを有するネットワークを提供する能力を有する第２タイプのサーバによって、第１タイプのサーバを徐々に置き換えることを許容する。さらに、より複雑な規則は、ネットワークのホストのプロトコルアドレスとハードウェアアドレスとの間の全ての関係を定義するＡＲＰテーブルのサイズと、ＡＲＰテーブルを追加する必要のあるＡＲＰリクエストの数を低減することを許容する。
【００５５】
上述した例示の実施形態において、ホスト識別子部分は第１のパラメータＳｉｄのビットと、第２のパラメータＥｉｄのビットと、最後に第３のパラメータＨｉｄのビットとの連結によって得られる。また、その他の順番で３つのパラメータのビットを連結することもできる。この場合、サーバ内の複数のホストのホスト識別子部分のＭＳＢは異なり、サーバは、当該サーバの全てのホストが同一のサブネットのプロトコルアドレスを有するようなサブネットの形態ではない。
【００５６】
インターネットプロトコルバージョン４（ＩＰｖ４）で必要とされるアドレス解決プロトコルに関連して上記例示の実施形態が説明されたことに注意されるべきである。当該実施形態はＩＰｖ６における近接探索プロトコル（ＮＤＰ）に適するように容易に構成されるうる。
【００５７】
本発明及び例示の実施形態は、多くの方法で実現されうる。例えば、１つの実施形態は、上述した例示の実施形態の方法を実行するために、プロセッサ基板などの、プライベートネットワークのノード内の機器の一部であるプロセッサによって実行可能なコンピュータで読取可能なコードを有する、コンピュータで読取可能な記憶媒体又はコンピュータプログラム製品を含む。
【００５８】
本発明は、ＡＲＰテーブルを通じて検索時間を低減する仕組みを提供する。ＡＲＰテーブルがネットワークのホスト間の任意の通信の前に十分に追加することができれば、ＡＲＰテーブルはメモリ内のルックアップテーブルとして実現されることができる。たった１回の読み取り動作によって、ＩＰアドレスに対応するＭＡＣアドレスがＡＲＰテーブルから取り出されることができる。これは、高い接続確立速度の要件が存在する場合に非常に有用である。
【００５９】
さらに、任意のソケット接続が要求される前に、内部の又はプライベートのＶＬＡＮに対するＡＲＰテーブルを追加する方法が提供される。その後、アプリケーションがソケットに接続しデータ送信を開始すると、ＩＰパケットが、ＡＲＰテーブルのＩＰアドレスとＭＡＣアドレスとの間のリンクの欠落に起因して失われることがなく、ＡＲＰテーブルは低減されたＡＲＰテーブルとなりうる。
【００６０】
さらに、ＡＲＰテーブルのサイズを最小化し、ネットワークへ送信されるＡＲＰリクエストの数を最小化する方法を提供する。したがって、ＡＲＰテーブルようにより少ないメモリを必要とし、潜在的なＡＲＰのブロードキャストストームをネットワーク上で回避することができる。
【００６１】
本発明はいくつかの実施形態に関して説明したが、代替、変更、置換及び同等の実施形態が、本明細書及び図面の閲覧により当業者に明らかになることが予期される。本発明は、図示した実施形態に限定されるものではない。本発明の着想から逸脱しない範囲の変更が可能である。
【図１】
2016503267.tif 000003
【図２】
2016503267.tif 000004
【図３】
2016503267.tif 000005
【図４】
2016503267.tif 000006
【図５】
2016503267.tif 000007
【図６】
2016503267.tif 000008
【国際調査報告】
2016503267.tif 000009
2016503267.tif 000010
2016503267.tif 000011