(57)【特許請求の範囲】
【請求項１】
ルータに接続されている１つ以上のクライアント・システムを含むコンピュータ・ネットワークであって、前記ルータは１つ以上のルートを含み、各ルートはＩＰアドレスをクライアント・システムに対してマッピングするコンピュータ・ネットワークにおいてパケットをルート付けする方法において、
指定されたＩＰアドレスの指定されたクライアント・システムに対する割り当てを検出するステップであって前記ルータにより実行されるステップと、
指定されたＩＰアドレスを指定されたクライアント・システムに対してマッピングする新しいルートを前記ルータ内に生成するステップであって前記ルータにより実行されるステップと、
新しいルートが後続のＤＨＣＰアドレス割り当てによりただ重ね書きされ得るように当該新しいルートをマークするステップであって前記ルータにより実行されるステップと、
前記ルータ内に記憶されているルートであって新しいルートにより無効にされる当該ルートを削除するステップであって前記ルータにより実行されるステップと、
ＩＰパケットを前記ルータ内に記憶されているルートに従ってルート付けするステップであって前記ルータにより実行されるステップと
を備える方法。
【請求項２】
前記ネットワークはＤＨＣＰサーバを含み、
指定されたＩＰアドレスの指定されたクライアント・システムに対する割り当てを検出する前記ステップはさらに、前記ＤＨＣＰサーバにより送られたＤＨＣＰＡＣＫであって指定されたクライアント・システムに割り当てられた指定されたＩＰアドレスを含むＤＨＣＰＡＣＫを検出するステップであって前記ルータにより実行されるステップを備える請求項１記載の方法。
【請求項３】
前記ルータ内に記憶されているルートであって新しいルートにより無効にされる当該ルートを削除する前記ステップはさらに、指定されたクライアント・システムを指定されたＩＰアドレスでないＩＰアドレスと関連付けるルートを削除するステップであって前記ルータにより実行されるステップを備える請求項１記載の方法。
【請求項４】
前記ルータ内に記憶されているルートであって新しいルートにより無効にされる当該ルートを削除する前記ステップはさらに、指定されたＩＰアドレスを指定されたクライアント・システムでないクライアント・システムと関連付けるルートを削除するステップであって前記ルータにより実行されるステップを備える請求項１記載の方法。
【請求項５】
前記ルータ内に記憶されている１つ以上のルートが、前記ルータを構成する間に確立される請求項１記載の方法。
【請求項６】
前記ルータを構成する間に確立されたルートは、新しいルートを前記ルータ内に生成する前記のステップ及び前記ルータ内に記憶されているルートを削除する前記のステップにより変えられない請求項５記載の方法。
【請求項８】
ルータに接続された１つ以上のクライアント・システムを含むコンピュータ・ネットワークであって前記ルータは１つ以上のルートを含み、各ルートはＩＰアドレスをクライアント・システムにマッピングするコンピュータ・ネットワークにおいてパケットをルート付けする装置において、
コンピュータ・システムが指定されたＩＰアドレスの指定されたクライアント・システムに対する割り当てを検出するようにさせるべく構成された第１の部分と、
前記コンピュータ・システムが指定されたＩＰアドレスを指定されたクライアント・システムに対してマッピングする新しいルートを前記ルータ内に生成するようにさせるべく構成された第２の部分と、
前記コンピュータ・システムが前記新しいルートにより無効にされる、前記ルータ内に記憶されているルートを削除するようにさせるべく構成された第３の部分と、
前記コンピュータ・システムが前記ルータ内に記憶されているルートに従ってＩＰパケットをルート付けするようにさせるべく構成された第４の部分と
を備える装置。
【請求項９】
前記第１の部分はさらに、前記コンピュータ・システムが指定されたクライアント・システムに対してＤＨＣＰサーバにより送られたＤＨＣＰＡＣＫメッセージであって指定されたクライアント・システムに対して割り当てられた指定されたＩＰアドレスを含むＤＨＣＰＡＣＫメッセージを検出するようにさせるべく構成された第５の部分を備える請求項８記載の装置。
【請求項１０】
前記第３の部分は、前記コンピュータ・システムが指定されたクライアント・システムを指定されたＩＰアドレスでないＩＰアドレスと関連付ける、前記ルータ内に記憶されているルートを削除するようにさせるべく構成されている請求項９記載の装置。
【請求項１１】
前記第３の部分は、前記コンピュータ・システムが指定されたＩＰアドレスを指定されたクライアント・システムでないクライアント・システムと関連付ける、前記ルータ内に記憶されているルートを削除するようにさせるべく構成されている請求項９記載の装置。
【請求項１２】
前記ルータ内に記憶されているルータの１つ以上が、前記ルータを構成する間に確立される請求項８記載の装置。
【請求項１３】
前記ルータを構成する間に確立されたルートは、前記第２の部分及び第３の部分により変えられない請求項１２記載の装置。
【発明の詳細な説明】
発明の分野
本発明は一般的にコンピュータ・ネットワークにおけるセキュリティに関する。詳細には、本発明は、マルチサーバ環境においてＩＰアドレスをクライアント・システムに対して割り当てる方法及び装置に関する。
発明の背景
インターネット・プロトコルを用いるコンピュータ・ネットワークは、通常「ＩＰアドレス」と呼ばれる。ＩＰネットワーク内で、ホスト・システム及び他のオブジェクトは、インターネット・プロトコル・アドレス（ＩＰアドレス）として知られている３２ビット番号により識別される。ＩＰアドレスは、ＩＰネットワーク内で送られたメッセージの送信元（ソース）及び宛先（デスティネーション）を識別するための単純な機構を提供する。
伝統的に、ＩＰネットワーク内のオブジェクトを識別するＩＰアドレスは、ネットワーク構成中静的に割り当てられてきた。このタイプの割り当てを用いて、ルータ及び他のネットワーク構成要素は、オブジェクトとそれらのＩＰアドレスとを相関させる静的に割り当てられた結合を用いるため事前構成される。一般的に、このアドレス割り当て方法は、理想的ではない場合、限定数のオブジェクトが含まれかつ各オブジェクトに割り当てられたＩＰアドレスがまれにしか変わらないネットワークにおいて適切であることが立証された。
大きくまたは急速に変化するネットワークにおいて、ＩＰアドレスの静的割り当ては多くの場合不適切である。その結果、ＩＰアドレスを動的に学習することができる若干の方法が開発された。例えば、幾つかのＩＰネットワークにおいて、ルータはクライアント・システムから受け取ったＩＰパケットを解析する。これらのパケットの中の送信元アドレスは、ルータ内のルートを更新するため、抽出され用いられる。不都合にも、クライアント・システムは、ＩＰパケットに含まれる送信元アドレスを捏造し得る。これは、ルータが捏造されたＩＰアドレスを再学習するようだます。したがって、ＩＰアドレス学習は、クライアント・システムが送信元ＩＰアドレスを捏造しないことが信用できない環境において安全でないかも知れない。
この問題を処理するため、幾つかのルータは学習してしまったアドレスをロックする。これらのルータは、非活動の事前定義された期間が過ぎるまで関心のＩＰアドレスについてのルートを再学習するのを拒絶する。このロッキングにより、ルータがＩＰアドレスを再割り当てするようだまされるという危険なしに、クライアント・システムがＩＰアドレスを使用し続けることが可能である。非活動の期間により、クライアント・システムを新しいＩＰアドレスに移動し、ルータはクライアント・システムの新しいＩＰアドレスを自動的に学習することが可能となる。
ネットワーク内のＩＰアドレスは、ますますサーバ・システムにより動的ホスト構成プロトコル（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）（ＤＨＣＰ）を用いて割り当てられている。ＤＨＣＰプロトコルを用いるネットワークにとって、１つ以上のＤＨＣＰサーバは、ＩＰアドレスを要求するメッセージを聞く。可能ならば、ＤＨＣＰサーバは、次いで、メッセージを送るクライアント・システムに対してＩＰアドレスを割り当てる。次いで、新しく割り当てられたＩＰアドレスは、ＤＨＣＰサーバによりクライアント・システムに送られるメッセージに含まれる。ＩＰアドレスは、クライアント・システムに対して「リース（ｌｅａｓｅ）」される。それらのリースを周期的に更新することをしないクライアント・システムは、それらの割り当てられたＩＰアドレスを解放するかも知れない。
一般的に、ＩＰアドレスをクライアント・システムに対して割り当てるためＤＨＣＰサーバを使用することは、非常に有益であることが立証された。これは、特に、多数のクライアント・システムを含むネットワークにおいて真実である。不都合にも、ＩＰアドレスを学習するルータがＤＨＣＰサーバ・システムにより割り当てられるＩＰアドレスを学習することを可能にする安全な機構は現在存在しない。
発明の概要
本発明の好適な実施形態は、マルチサーバのネットワーク化された環境においてＩＰアドレスをクライアント・システムに対して割り当てる方法及び装置を含む。詳細には、本発明にとっての好適な環境は、一連のクライアント・システム及び一連のサーバ・システムを含むコンピュータ・ネットワークである。各クライアント・システムは対応するケーブル・モデムに接続され、該ケーブル・モデムは次いでルータに接続される。ネットワークは、インターネットＲＦＣ１５４１に定義された動的ホスト構成プロトコル（ＤＨＣＰ）に従ってＩＰアドレスの割り当てを与える１つ以上のＤＨＣＰサーバを含む。
ルータは、ＩＰパケットをクライアント・システムとサーバ・システムとの間で送る。詳細には、ルータは、１つ以上の「ルート」を含むよう事前構成されることができる。各ルートは、ＩＰアドレスとクライアント・システムとの間のマッピングである。ルータにより知られたルートはルート・テーブルに含まれるのが好ましい。ルータがＩＰパケットを受け取ると、ルータはパケットの宛先アドレスをパケット・ヘッダから抽出する。次いで、ルータは、受け取ったＩＰパケットの宛先アドレスと整合するルートについてルート・テーブルを探索する。ルータが整合するルートを見つけた場合、ルータは、整合するルートに含まれるＩＰパケットをクライアント・システムに転送する。
ルータは、クライアント・システムから受け取ったＩＰパケットを調べる。これらのパケットに含まれている送信元ＩＰアドレスが、ルータにより抽出されて用いられ、新しいルートをクライアント・システムに対して確立する。これは、ＩＰアドレス「学習」として知られている。一旦ＩＰアドレスが学習されると、それは「ロック」される。ロッキングは、ＩＰアドレスが所定の時間期間が経過するまで再学習されるのを阻止する。これは、他のクライアント・システムがＩＰ送信元アドレスを捏造してルータがルートを不正に再学習するのを阻止する。
ＤＨＣＰプロトコルを用いて、クライアント・システムは、動的に割り当てられたＩＰアドレスをＤＨＣＰサーバ・システムから要求して受け取る。ルータは、ＤＨＣＰサーバ・システムによりクライアント・システムに送られるＤＨＣＰＡＣＫメッセージを聞く。ＤＨＣＰＡＣＫメッセージは、特定のクライアント・システムに割り当てられてしまったＩＰアドレスを含む。ルータがＤＨＣＰＡＣＫメッセージを検出すると、ルータはクライアント・システムに対して割り当てられたＩＰアドレスを抽出する。ＤＨＣＰＡＣＫメッセージに含まれるＩＰアドレスを用いて、ルータは、ＩＰアドレスを要求するクライアント・システムのＩＰアドレスを「学習」する。次いで、ルータはルートをそのルート・テーブルに加える。新しいルートは、それがＤＨＣＰサーバにより割り当てられてしまったことを示すためマークされる。その後、ルータは、このＩＰアドレスがＤＨＣＰサーバ・システムにより再割り当てされる場合そのＩＰアドレスを再学習するのみである。
幾つかのケースにおいては、学習されたＩＰアドレスは、ルータのルート・テーブル内に初めから構成されているルートと競合するであろう。これらのケースにおいては、競合するルートは、ルート・テーブルから取り除かれる。このようにして、本発明は、動的に割り当てられたＩＰアドレスを反映するルートが既に構成されているルートに取って代わるのを可能にする。
本発明の利点は、一部、以下の説明において記載され、また一部、その記載から当業者により理解されるであろうし、また本発明の実施により学び得る。本発明の利点は、特に添付の請求の範囲により指摘される構成要素及び組合わせ及びその均等物により実現されまた達成されるであろう。
【図面の簡単な説明】
この明細書の一部に組み込まれその一部を構成する添付図面は、本発明の若干の実施形態を図示し、この記載と共に本発明の原理を説明するのに役立つ。
図１は、本発明の好適な実施形態にとって代表的環境として示されるコンピュータ・ネットワークのブロック図である。
図２は、本発明の好適な実施形態により用いられるルータのブロック図である。
図３は、本発明の好適な実施形態において用いられるＤＨＣＰメッセージのブロック図である。
図４は、本発明のＩＰアドレスを学習する方法の好適な実施形態と関連したステップを示すフローチャートである。
好適な実施形態の詳細な説明
ここで本発明の好適な実施形態に詳細に言及するが、その実施形態の例は添付図面に図示されている。可能なときはいつでも、同一参照番号が同一または類似の構成要素を言及するため図面全体を通して用いられている。
図１において、コンピュータ・ネットワーク１００が本発明の代表的環境として示されている。構造的には、コンピュータ・ネットワーク１００は一連のクライアント・システム１０２を含み、その一連のクライアント・システム１０２のうちのクライアント・システム１０２ａから１０２ｆが示されている。各クライアント・システム１０２は、図１に示されるパーソナル・コンピュータを含むがそれに限定されない異なるデバイスの範囲から選択されてよい。ケーブル・モデム１０４が各クライアント・システム１０２に接続されている。各ケーブル・モデム１０４は、ついでケーブル・ルータ１０６に接続されている。ケーブル・ルータ１０６及びケーブル・モデム１０４の使用はまた例示を意図し、他のネットワーキング技術及びトポロジーが等しく実際に役立つことが認められるべきである。多数の異なるケーブル・モデム及びケーブル・ルータが種々の製造業者から入手可能であることがまた認められるはずである。特に、ケーブル・モデム１０４はＣｙｂｅｒＳＵＲＦケーブル・モデムであってよく、ケーブル・ルータ１０６はＣａｂｌｅＭＡＳＴＲケーブル・ルータであってよく、両方ともモトローラ社により供給される。
ルータ１０６が図２にコンピュータ・システム２０２を含むよう詳細に示され、そのコンピュータ・システム２０２は次いで１つまたは複数のプロセッサ２０４及びメモリ２０６を含む。入力デバイス２０８及び出力デバイス２１０は、コンピュータ・システム２０２に接続されており、ディスク・ドライブ、キーボード、モデム、ネットワーク・アダプタ、プリンタ及びディスプレイのような広範囲の種々のＩ／Ｏデバイスを表す。任意の種類の適切なディスク・ドライブのうちのディスク・ドライブ２１２が、コンピュータ・システム２０２に接続されて示されている。ルータ・プロセス２１４及びルート・テーブル２１６は、コンピュータ・システム２０２のメモリ２０６内に常駐するよう示されている。ルート・テーブル２１６は、クライアント・システム１０２と対応ＩＰアドレスとを関連付ける１つ以上の「ルート」を含む。例として、ルート・テーブル２１６に含まれている１つ以上のルートがルータ１０６の構成の一部として手動で追加されたと仮定する。ルータ１０６がＩＰパケットを受け取ると、ルータ・プロセス２１４はパケット・ヘッダに含まれている宛先アドレスを抽出する。次いで、ルータ・プロセス２１４は、受け取ったＩＰパケットの宛先アドレスと整合するルートに含まれるルート・テーブルを探索する。ルータが整合するルートを見つけた場合、ルータ・プロセス２１４は、整合するルートに含むがクライアント・システム１０２にＩＰパケットを転送する。
ルータ１０６は、クライアント・システム１０２から受け取るＩＰパケットを解析する。これらのパケットに含まれている送信元ＩＰアドレスがルータ１０６により抽出され、ルート・テーブル２１６を修正するため用いられ、これらのＩＰパケットに含まれている送信元アドレスを反映する新しいルートを確立する。これは、ＩＰアドレス「学習」として知られている。一旦ＩＰアドレスが学習されると、それは「ロック」される。ロッキングは、ルータ１０６が非活動の所定の時間期間が経過するまでＩＰアドレスと関連したルートを再学習するのを阻止する。この文脈では、ルートは非活動であり、ルータ１０６はそのルートと関連したＩＰアドレスと整合する送信元アドレスを有するいずれのＩＰパケットも含まない。これは、他のクライアント・システム１０２がＩＰ送信元アドレスを捏造してルータがルートを不正に再学習するようだますのを阻止する。
コンピュータ・ネットワーク１００はまた一連のサーバ・システム１０８を含み、その一連のサーバ・システム１０８のうちのサーバ・システム１０８ａから１０８ｅが示されている。各サーバ・システム１０８はケーブル・ルータ１０６に接続されている。一般的に、サーバ・システム１０８は、コンピュータ・ネットワーク内に見つけられる広範囲のサーバ・システムを表すことを意図している。
ＤＨＣＰサーバ・システム１１０はまた、コンピュータ・ネットワーク１００に含まれ、ケーブル・ルータ１０６に接続されている。ＤＨＣＰサーバ・システム１１０は、動的ホスト構成プロトコル（ＤＨＣＰ）を実行するコンピュータまたは他のシステムである。機能的には、ＤＨＣＰサーバ・システム１１０は、ネットワーク１００内のＩＰアドレスの割り当てを提供する。図１は単一のＤＨＣＰサーバ・システム１１０のみを示すが、追加のＤＨＣＰサーバ・システム１１０が本発明の精神から離れることなく用いられてもよいことは理解されるべきである。図１の種々の構成要素間の接続が論理的接続を表すことを意図していることがまた認められるべきである。これらの接続に用いられる物理的トポロジーは図１に示されるものから変え得る。
クライアント・システム１０２とＤＨＣＰサーバ・システム１１０との間で送られるＤＨＣＰメッセージにとって好適なフォーマットが、図３に示され、全体的に３００で示されている。構造的には、ＤＨＣＰメッセージは、ｏｐフィールド３０２、ｙｉａｄｄｒフィールド３０４、ｃｈａｄｄｒフィールド３０６及びｏｐｔｉｏｎｓ（オプションズ）フィールド３０８を含む（図３をよく見ると、各メッセージがまた多数の他のフィールドを含むことを示している。簡潔のため、これらのフィールドは特に説明しない。）。機能的には、各ＤＨＣＰメッセージは、ＤＨＣＰＤＩＳＣＯＶＥＲ、ＤＨＣＰＯＦＦＥＲ、ＤＨＣＰＲＥＱＵＥＳＴまたはＤＨＣＰＡＣＫのようなタイプを有する。各ＤＨＣＰメッセージのタイプは、ｏｐｔｉｏｎｓフィールド３０８に符号化される。ｏｐｔｉｏｎｓフィールド３０８はまた、ベンダー特定情報の符号化を含む多くの他の目的のため用いられる。各ＤＨＣＰメッセージは、それがクライアント・システム１０２とＤＨＣＰサーバ・システム１１０のうちのいずれから送られているかを指示するためマークされる。このマーキングは、ｏｐフィールド３０２をＢＯＯＴＲＥＱＵＥＳＴまたはＢＯＯＴＲＥＰＬＹをセットすることにより実行される。メッセージ内で、ｙｉａｄｄｒフィールド３０４は、ＤＨＣＰメッセージの或る一定のタイプに対して、ＩＰアドレスがＤＨＣＰサーバ１１０からクライアント・システム１０２へ渡されることを含む。ｃｈａｄｄｒフィールド３０６は、クライアント・システム１０２の機械アドレス（これはまた「ＭＡＣ」アドレスとして知られている。）のため用いられる。
本発明の実施形態は、ＤＨＣＰサーバ１１０により割り当てられたＩＰアドレスを学習する方法を含む。詳細には、ＤＨＣＰサーバ１１０により割り当てられたＩＰアドレスを学習するためルータ１０６により用いられる方法が、図４に示され、全体的に４００で示されている。方法４００はステップ４０２で始まり、そこでルータ１０６は図３に示されるタイプのＤＨＣＰメッセージを受け取る。ステップ４０４で、ルータ・プロセス２１４は、受け取ったメッセージを検査して、ＤＨＣＰＡＣＫが受け取られかを判断する。一般的に、これは、受け取ったメッセージのｏｐｔｉｏｎｓフィールド３０８の検査により実行される。
受け取ったメッセージがＤＨＣＰＡＣＫである場合、方法４００の実行はステップ４０６で継続する。ステップ４０６で、ルータ・プロセス２１４は、ＤＨＣＰＡＣＫメッセージのｙｉａｄｄｒフィールド３０４に含まれているＩＰアドレスを抽出する。ＤＨＣＰプロトコルに従って、抽出されたＩＰアドレスは、クライアント・システム１０２による使用のためＤＨＣＰサーバ１１０により割り当てられてしまう。
ステップ４１０で、ルータ・プロセス２１４は、ステップ４０６で抽出されたＩＰアドレスを用いて、クライアント・システム１０２のためのルートを生成する。ルートは、ＤＨＣＰサーバ１１０により割り当てられたＩＰアドレスで指向されたＩＰパケットがクライアント・システム１０２に向けて送られるべきであることをルータ１０６に告げるマッピングである。ステップ４１０で、ルータ・プロセス２１４は、新しいルートを含むようルート・テーブル２１６を更新する。ルータ・プロセス２１４は、新しいルートが割り当てられたＤＨＣＰであることを指示するようその新しいルートをマークすることが重要である。その後、ルータ１０６がステップ４０６で抽出された同じＩＰアドレスを再割り当てする別のＤＨＣＰＡＣＫを受け取る場合、ルータ・プロセス２１４はこのルートをオーバーライドするのみである。
続くステップ４１２で、ルータ・プロセス２１４は、ルート・テーブル２１６から無効または失効の（ｓｔａｌｅ）エントリーを除去する。本発明の目的のため、「失効の」エントリーは、ステップ４１０でルータ・プロセス２１４により追加された新しいルートにより無効にされるルート・テーブル２１６に含まれたルートを先に学習される。こうして、クライアント・システム１０２をＤＨＣＰサーバ１１０により割り当てられたＩＰアドレスとは異なるＩＰアドレスと関連付ける先に学習されたルートが、ルート・テーブル２１６から取り除かれる。さらに、ＤＨＣＰサーバ１１０により割り当てられたＩＰアドレスをＩＰアドレスを要求するクライアント・システムでないクライアント・システム１０２と関連付ける先に学習されたルートがまた、ルート・テーブル２１６から取り除かれる。このようにして、クライアント・システム１０２に対してＤＨＣＰサーバ１１０により割り当てられたＩＰアドレスは、先に学習されたルートをオーバーライドする。ルータ１０６の中に静的に構成されるルートは取り除かれないことは重要である。こうして、本発明は、ネットワークが静的に割り当てられた１つ以上のＩＰアドレスを含むところで用いられ得る。
ステップ４１４で、ルータ１０６は、クライアント・システム１０２による受け取りのためＤＨＣＰＡＣＫメッセージをモデム１０４に向けて送る。ルータ・プロセス２１４がステップ４１４で受け取ったメッセージがＤＨＣＰＡＣＫメッセージでないと判断した場合、ステップ４１４はまた実行される。
この明細書で開示された本発明の記載及び実施の考慮から他の実施形態が当業者には明らかであろう。この記載及び事例は例示のみと考えられ、本発明の真の範囲は以下の請求の範囲及びその均等物により指示されることが意図されている。
0004043052.tif 000002
【図２】
0004043052.tif 000003
【図３】
0004043052.tif 000004
【図４】
0004043052.tif 000005
0004043052.tif 000006