(57)【特許請求の範囲】
【請求項１】
方法であって、
パケットを端末から受信し、前記パケットは、前記端末に関連付けられているソースインターネットプロトコル（ＩＰ）アドレス及びソースメディアアクセス制御（ＭＡＣ）アドレスを含み、
前記端末に関連付けられている一致するエントリが、有効なソースＩＰアドレス及び有効なソースＭＡＣアドレスを格納しているローカル検証テーブルの中で見つかるか否かを決定し、
前記端末に関連付けられている前記一致するエントリが、前記ローカル検証テーブルの中で見つからないとの決定に応じて、前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスに基づいて、リクエストを生成し、
前記リクエストに関連付けられている識別子を含む模倣記録を生成し、
前記リクエストを動的ホスト構成プロトコル（ＤＨＣＰ）サーバに伝送し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを、前記ＤＨＣＰサーバからの応答に少なくとも部分的に基づいて決定することであって、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられている前記識別子に一致するかどうかを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられている前記識別子に一致するとの決定に応じて、
前記模倣記録を削除し、
前記応答が前記端末に伝送されることを阻止することを含む、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを決定する
ことを備える方法。
【請求項２】
請求項１に記載の方法であって、
前記ローカル検証テーブルは、ローカルソースアドレス有効性（ＳＡＶＩ）バインドテーブルを含む、方法。
【請求項３】
請求項１に記載の方法であって、更に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定される場合に、前記パケットを、前記パケットに関連付けられている宛先に伝送し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定される場合に、前記パケットを破棄する、
ことを備える方法。
【請求項４】
請求項１に記載の方法であって、更に、
前記リクエストを前記ＤＨＣＰサーバに伝送する前に、前記パケットをバッファに格納し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定される場合に、前記パケットを前記バッファから取り出して、前記パケットに関連付けられている宛先に伝送し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定される場合に、前記パケットを破棄する、
ことを備える方法。
【請求項５】
請求項１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられ、前記格納されている識別子に一致しないとの決定に応じて、前記応答を前記端末に伝送する、
ことを備える方法。
【請求項６】
請求項１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられている前記識別子に一致しないとの決定に応じて、前記応答を前記端末に伝送する、
ことを備える方法。
【請求項７】
請求項１に記載の方法であって、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを決定することは、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから既定の長さの時間内に受信されるか否かを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信されない場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信され、前記応答が肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定する、
ことを含む、方法。
【請求項８】
請求項１に記載の方法であって、更に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを決定することは、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから既定の長さの時間内に受信されるか否かを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信されない場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記パケットが前記パケットに関連付けられている宛先に送信されることを阻止し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信され、前記応答が肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定する、
ことを含む、方法。
【請求項９】
請求項１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから既定の長さの時間内に受信されるか否かを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信されない場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信され、前記応答が肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスを含む新しいエントリを、前記ローカル検証テーブルの中に生成し、
前記パケットを前記パケットに関連付けられている宛先に伝送する、
ことを備える方法。
【請求項１０】
請求項１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が非肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記ＤＨＣＰサーバからの前記応答が肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定する、
ことを備える方法。
【請求項１１】
請求項１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が非肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記パケットが前記パケットに関連付けられている宛先に送信されることを阻止し、
前記ＤＨＣＰサーバからの前記応答が肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定する、
ことを備える方法。
【請求項１２】
請求項１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が非肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記ＤＨＣＰサーバからの前記応答が肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスを含む新しいエントリを、前記ローカル検証テーブルの中に生成し、
前記パケットを前記パケットに関連付けられている宛先に伝送する、
ことを備える方法。
【請求項１３】
請求項１に記載の方法であって、
前記リクエストは、サーバ識別子（ＤＨＣＰサーバＩＤ）オプション又はリクエストＩＰアドレスオプションを伴わずに生成される、方法。
【請求項１４】
コンピュータプログラムであって、
パケットを端末から受信するための機能と、前記パケットは、前記端末に関連付けられているソースインターネットプロトコル（ＩＰ）アドレス及びソースメディアアクセス制御（ＭＡＣ）アドレスを含み、
前記端末に関連付けられている一致するエントリが、有効なソースＩＰアドレス及び有効なソースＭＡＣアドレスを格納しているローカル検証テーブルの中で見つかるか否かを決定するための機能と、
前記端末に関連付けられている前記一致するエントリが、前記ローカル検証テーブルの中で見つからないとの決定に応じて前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスに基づいて、リクエストを生成するための機能と、
前記リクエストに関連付けられている識別子を含む模倣記録を生成するための機能と、
前記リクエストを動的ホスト構成プロトコル（ＤＨＣＰ）サーバに伝送するための機能と、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるかどうかを、前記ＤＨＣＰサーバからの応答に少なくとも部分的に基づいて決定するための機能であって、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられている前記識別子に一致するかどうかを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられている前記識別子に一致するとの決定に応じて、
前記模倣記録を削除し、
前記応答が前記端末に伝送されることを阻止することを含む、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを決定するための機能と、
をコンピュータによって実現させるコンピュータプログラム。
【請求項１５】
請求項１４に記載のコンピュータプログラムであって、更に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定される場合に、前記パケットを前記パケットに関連付けられている宛先に伝送するための機能と、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定される場合に、前記パケットを破棄するための機能と、
をコンピュータによって実現させるコンピュータプログラム。
【請求項１６】
請求項１４に記載のコンピュータプログラムであって、更に、
前記リクエストを前記ＤＨＣＰサーバに伝送する前に、前記パケットをバッファに格納するための機能と、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定される場合に、前記パケットを前記バッファから取り出して、前記パケットに関連付けられている宛先に伝送するための機能と、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定される場合に、前記パケットを破棄するための機能と、
をコンピュータによって実現させるコンピュータプログラム。
【請求項１７】
請求項１４に記載のコンピュータプログラムであって、更に、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから既定の長さの時間内に受信されるか否かを決定するための機能と、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信されない場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定するための機能と、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信され、前記応答が肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスを含む新しいエントリを、前記ローカル検証テーブルの中に生成し、
前記パケットを前記パケットに関連付けられている宛先に伝送する、
ための機能と、
をコンピュータによって実現させるコンピュータプログラム。
【請求項１８】
請求項１４に記載のコンピュータプログラムであって、更に、
前記ＤＨＣＰサーバからの前記応答が非肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記パケットが前記パケットに関連付けられている宛先に送信されること阻止する、
ための機能と、
前記ＤＨＣＰサーバからの前記応答が肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定するための機能と、
をコンピュータによって実現させるコンピュータプログラム。
【請求項１９】
請求項１４に記載のコンピュータプログラムであって、更に、
前記ＤＨＣＰサーバからの前記応答が非肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定するための機能と、
前記ＤＨＣＰサーバからの前記応答が肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスを含む新しいエントリを、前記ローカル検証テーブルの中に生成し、
前記パケットを前記パケットに関連付けられている宛先に伝送する、
ための機能と、
をコンピュータによって実現させるコンピュータプログラム。
【請求項２０】
システムであって、
プロセッサであって、
前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されたメモリと、
を備え、
前記命令は、実行時に、前記プロセッサに、
パケットを端末から受信させ、前記パケットは、前記端末に関連付けられているソースインターネットプロトコル（ＩＰ）アドレス及びソースメディアアクセス制御（ＭＡＣ）アドレスを含み、
前記端末に関連付けられている一致するエントリが、有効なソースＩＰアドレス及び有効なソースＭＡＣアドレスを格納しているローカル検証テーブルの中で見つかるか否かを決定させ、
前記端末に関連付けられている前記一致するエントリが、前記ローカル検証テーブルの中で見つからないとの決定に応じて、前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスに基づいて、リクエストを生成させ、
前記リクエストに関連付けられている識別子を含む模倣記録を生成させ、
前記リクエストを動的ホスト構成プロトコル（ＤＨＣＰ）サーバに伝送させ、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを、前記ＤＨＣＰサーバからの応答に少なくとも部分的に基づいて決定させることであって、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられている前記識別子に一致するかどうかを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられている前記識別子に一致するとの決定に応じて、
前記模倣記録を削除し、
前記応答が前記端末に伝送されることを阻止することを含む、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを決定させる、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連技術の相互参照］
本出願は、２０１５年８月２４日に出願され名称を「ＭＥＴＨＯＤ  ＡＮＤ  ＤＥＶＩＣＥ  ＵＳＥＤ  ＴＯ  ＶＥＲＩＦＹ  ＴＨＥ  ＶＡＬＩＤＩＴＹ  ＯＦ  ＳＯＵＲＣＥ  ＡＤＤＲＥＳＳＥＳ（ソースアドレスの有効性を検証するために用いられる方法およびデバイス）」とする中国特許出願第２０１５１０５２４５９７．４号に基づく優先権を主張する。この出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
【０００２】
本出願は、インターネット技術の分野に関わる。特に、本出願は、ソースアドレスの有効性を検証するための技術に関わる。
【背景技術】
【０００３】
旧来のネットワークアーキテクチャでは、端末から受信されたメッセージに含まれる端末ソースアドレスの有効性の検証によって、ＩＰの偽造及びなりすましを効果的に阻止できる。例えば、偽造及びなりすましは、端末によって送信されたメッセージに含まれるＩＰアドレスが手動で構成されているときに起きることがある。従来の検証プロセスでは、次のような原理が適用される。すなわち、ソースメディアアクセス制御（ＭＡＣ）アドレスのキュリティチェックがワイヤレスセキュリティ標準８０２．１１ｉを使用して実現され、それによって、ＭＡＣアドレスのセキュリティ及び有効性が保証される。（例えばアクセスポイント（ＡＰ）又はアクセスコントローラ（ＡＣ）などの）検証エンティティが、端末のソースアドレス（例えば、ソースインターネットプロトコル（ＩＰ）アドレス及びソースＭＡＣアドレス）を受信し、ソースＩＰアドレスとソースＭＡＣアドレスとの間のバインド関係を保存することによって、ソースアドレス有効性向上（ＳＡＶＩ）バインドテーブルエントリを確立する。例えば、ＳＡＶＩバインドテーブルエントリは、各端末のソースＩＰアドレスとＭＡＣアドレスとの間のバインド関係を格納する。したがって、ＳＡＶＩバインドテーブルエントリに格納されたバインド関係は、検証エンティティで受信されるメッセージのソースアドレスに含まれるソースＩＰアドレスが有効であるかどうかを検証するために使用できる。
【０００４】
しかしながら、検証エンティティが端末のための一致するＳＡＶＩバインドテーブルエントリを有さない場合は、その端末のソースアドレスの有効性を検証することができない。この状況では、従来は、複数の検証エンティティにわたって格納された複数のＳＡＶＩバインドテーブルエントリを同期化するために、この検証エンティティとその他の検証エンティティとの間に伝送制御プロトコル（ＴＣＰ）チャネルが確立されてきた。
【０００５】
例えば、ＡＰが検証エンティティとしての役割を果たす集中型ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）アーキテクチャ（例えばＡＣ及び適合ＡＰを含む）では、端末が最初にオンラインになるときに、その端末は、動的ホスト構成プロトコル（ＤＨＣＰ）サーバに対してＩＰアドレスをリクエストすることによってＤＨＣＰを起動する。ＡＰＩは、ＤＨＣＰメッセージをインターセプトし、その端末のための対応するＳＡＶＩバインドテーブルエントリを生成し、それと同時に、インターセプトされたＤＨＣＰメッセージをＡＣにサブミットする。端末が、複数のＡＣに跨ってＡＰ２へのローミングを行うときは、ＡＰ２は、ローカルで検索を実施するので、端末に一致するＳＡＶＩバインドテーブルエントリを見つけられない。ＡＰ２は、端末に一致するＳＡＶＩバインドテーブルエントリを見つけられないと決定した後、複数の検証エンティティ間でのＳＡＶＩバインドテーブルエントリの同期化を促すために、ＡＣとの間にチャネルを確立させられる。
【０００６】
別の例では、ＡＣが検証エンティティである集中型ＷＬＡＮアーキテクチャにおいて、ＤＨＣＰメッセージはＡＣ上でインターセプトされ、ＳＡＶＩバインドテーブルエントリが生成される。端末が複数のＡＣ間でローミングを行う場合、複数の検証エンティティ間でＳＡＶＩバインドテーブルエントリを同期化するために、複数のＡＣ間でチャネルが確立されなければならない。
【０００７】
しかしながら、複数の検証エンティティ間でＳＡＶＩバインドテーブルエントリを同期化するために使用されている従来の技術は、同期化を実施するために（１本以上の）チャネルを確立する必要に見舞われる。チャネルの確立は、ネットワークの複雑性を増大させる。また、チャネルが割り込まれる場合、複数の検証エンティティ間でＳＡＶＩバインドテーブルエントリを同期化することが不可能になり、したがって、ローミングを行う検証エンティティが端末のソースアドレスの有効性を検証できなくなる。端末が検証できない場合、端末のメッセージは破棄され、これは、端末が正常に通信する能力を妨げる。
【図面の簡単な説明】
【０００８】
本発明の様々な実施形態が、以下の詳細な説明及び添付の図面で開示される。
【０００９】
以下の図面を参照にした非制限的な実施形態の詳細な説明を読むことを通じて、本発明のその他の特徴、目的、及び利点が更に明らかになる。
【００１０】
【図１】端末のソースアドレスの有効性を検証するためのシステムの一実施形態を示す図である。
【００１１】
【図２】端末のソースアドレスの有効性を検証するためのプロセスの一実施形態を示すフローチャートである。
【００１２】
【図３】端末のソースアドレスの有効性を検証するためのプロセスの一例を示すフローチャートである。
【００１３】
【図４】検証デバイスの第１の実施形態を示す図である。
【００１４】
【図５】検証デバイスの第２の実施形態を示す図である。
【００１５】
【図６】検証デバイスの第３の実施形態を示す図である。
【００１６】
【図７】検証デバイスの第４の実施形態を示す図である。
【００１７】
【図８】検証デバイスの第５の実施形態を示す図である。
【００１８】
【図９】端末のソースアドレスの有効性を検証するためのプログラムドコンピュータシステムの一実施形態を示す機能図である。
【発明を実施するための形態】
【００１９】
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、並びに／又は接続先のメモリに格納された命令及び／若しくは接続先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサを含む、数々の形態で実現できる。本明細書では、これらの実現形態、又は本発明がとりえるその他のあらゆる形態が、技術と称されてよい。総じて、開示されるプロセスのステップの順番は、発明の範囲内で変更されてよい。別途明記されない限り、タスクを実施するように構成されているものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成されている汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実現されてよい。本書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ以上のデバイス、回路、及び／又は処理コアを言う。
【００２０】
本発明の原理を例示す添付の図面とともに、以下で、本発明の１つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態との関連で説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、及び等価物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部又は全部を伴わずとも特許請求の範囲にしたがって実施されてよい。明瞭を期するために、本発明に関連する技術分野で知られる技術要素は、本発明が不必要に不明瞭にならないように、詳細な説明を省略されている。
【００２１】
本書で使用されるコンピュータ機器は、ユーザ機器及びネットワーク機器を含む。ユーザ機器は、コンピュータ、スマートフォン、及びタブレットデバイスを含み、ただし、これらに限定はされない。ネットワーク機器は、個々のネットワークサーバ、複数のネットワークサーバによって形成されたサーバ群、又は例えば多数のコンピュータ若しくはネットワークサーバでなるクラウドコンピューティングベースのクラウドを含み、ただし、これらに限定はされない。クラウドコンピューティングは、仮想化を通じてコンピューティングリソースが共有される分散コンピューティングの一種である。コンピュータ機器は、本出願を実現するために独立に走らされてよい、又はネットワークにアクセスし、ネットワーク内のその他のコンピュータ機器との対話動作を通じて本出願を実現してよい。コンピュータ機器が中に存在しているネットワークは、例えば、インターネット、メトロポリタンエリアネットワーク、ローカルエリアネットワーク、及びＶＰＮネットワークを含み、ただし、これらに限定はされない。留意すべきは、本書で説明されるユーザ機器、ネットワーク機器、及びネットワークが例に過ぎないことである。
【００２２】
コンピュータ機器は、ユーザ機器及びネットワーク機器を含む。ユーザ機器は、コンピュータ、スマートフォン、及びタブレットデバイスを含み、ただし、これらに限定はされない。ネットワーク機器は、個々のネットワークサーバ、複数のネットワークサーバによって形成されたサーバ群、又は例えば多数のコンピュータ若しくはネットワークサーバでなるクラウドコンピューティングベースのクラウドを含み、ただし、これらに限定はされない。クラウドコンピューティングは、分散コンピューティングの一種であり、ゆるく結合された一群のコンピュータで形成された超仮想コンピュータを含む。コンピュータ機器は、本出願を実現するために独立に走らされてよい、又はネットワークにアクセスし、ネットワーク内のその他のコンピュータ機器との対話動作を通じて本出願を実現してよい。コンピュータ機器が中に存在しているネットワークは、例えば、インターネット、メトロポリタンエリアネットワーク、ローカルエリアネットワーク、及びＶＰＮネットワークを含み、ただし、これらに限定はされない。留意すべきは、本書で説明されるユーザ機器、ネットワーク機器、及びネットワークが例に過ぎないことである。
【００２３】
以下で論じられる方法（その一部がフローチャートによって示されている）は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はこれらの任意の組み合わせを通じて実現されてよい。方法が、ソフトウェア、ファームウェア、ミドルウェア、又はマイクロコードを通じて実現されるときは、必要なタスクを実行するために使用されるプログラムコード又はコードセグメントは、機械又はコンピュータによって読み取り可能な媒体（例えば、ストレージ媒体）に格納できる。１つ以上のプロセッサが、必要なタスクを実行してよい。
【００２４】
本書で開示される特定の構造及び機能詳細は、代表的なものに過ぎず、本出願の例示的実施形態を説明する目的で使用される。しかしながら、本出願は、多くの代替的形態を通じて具体的に実現されてよい。更に、本出願は、本書で明記される実施形態に単に限定されると解釈されるべきでない。
【００２５】
「第１の（ｆｉｒｓｔ）」や「第２の（ｓｅｃｏｎｄ）」などの用語が、様々なユニットを説明するために使用されるが、これらのユニットは、これらの用語によって限定されるべきではないことが理解されるべきである。これらの用語は、１つのユニットを別のユニットと区別するために使用されるに過ぎない。一例を挙げると、例示的実施形態の範囲から逸脱しない限り、第１のユニットが第２のユニットと呼ばれてよく、同様に、第２のユニットが第１のユニットと呼ばれてよい。本書で使用される「及び／又は」（ａｎｄ／ｏｒ）」という用語は、挙げられた１つ以上の関連項目の任意の又は全ての組み合わせを含む。
【００２６】
本書で使用される用語は、特定の実施形態の説明を意図しているに過ぎず、例示的実施形態を制限することを意図していない。文脈によって別途明示されない限り、本書で使用される単数形「ａ」又は「ａｎ」は、複数形も含むことを意図している。また、本書で使用される「を含む（ｃｏｍｐｒｉｓｅ）」及び／又は「を含有する（ｃｏｎｔａｉｎ）」は、記載されている特徴、整数、ステップ、動作、ユニット、及び／又はコンポーネントの存在を指定しており、１つ以上のその他の特徴、整数、ステップ、動作、ユニット、コンポーネント、又はそれらの組み合わせの存在又は追加を排除しない。
【００２７】
一部の代替的実装形態では、言及された機能／行為が、図に示されたのとは異なる順序で起きてよいことが留意されるべきである。例えば、関わる機能／行為に応じて、順番に提示された２つの図が、基本的に同時に実行されてよい、又は逆の順序で実行されることがあってよい。
【００２８】
以下は、図面を参照した本出願の技術スキームの更に詳細な説明である。
【００２９】
端末に関連付けられているソースアドレスを検証する実施形態が、本明細書で説明される。パケットが、端末から受信される。パケットは、端末に関連付けられているソースインターネットプロトコル（ＩＰ）アドレス及びソースメディアアクセス制御（ＭＡＣ）アドレスを含む。端末に関連付けられている一致するエントリが、有効なソースＩＰアドレス及び有効なソースＭＡＣアドレスを格納しているローカル検証テーブルの中で見つけられるか否かが決定される。例えば、検証テーブルは、ソースアドレス有効性向上（ＳＡＶＩ）バインドテーブルを含む。端末に関連付けられている一致するエントリがローカル検証テーブルの中で見つからない場合は、ソースＩＰアドレス及びソースＭＡＣアドレスに基づいて、リクエストが生成される。例えば、リクエストは、ＤＨＣＰリクエストを含む。リクエストは、動的ホスト構成プロトコル（ＤＨＣＰ）サーバに伝送される。ＤＨＣＰサーバからの応答に少なくとも部分的に基づいて、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスが有効であるかどうかが決定される。
【００３０】
図１は、端末のソースアドレスの有効性を検証するためのシステムの一実施形態を示す図である。この例では、システム１００は、端末１０２と、ネットワーク１０４と、検証デバイス１０６と、ストレージ１１０と、動的ホスト構成プロトコル（ＤＨＣＰ）サーバ１０８とを含む。ネットワーク１０４は、１つ以上の高速データネットワーク及び／又は電気通信ネットワークを含んでいてよい。
【００３１】
端末１０２は、（例えば、少なくとも宛先インターネットプロトコル（ＩＰ）アドレス及び／又は宛先メディアアクセス制御（ＭＡＣ）アドレスによって特定された）宛先端末に向けたパケットを生成するように構成されている。例えば、パケットは、ＴＣＰパケットの送信者ＩＰアドレスフィールドの中のソースＩＰアドレスと、ＴＣＰパケットの送信者ＭＡＣアドレスフィールドの中のソースＭＡＣアドレスとを含むＴＣＰパケットを含んでいてよい。例えば、端末１０２は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットデバイス、スマートフォン、又は任意のコンピューティングデバイスを含む。例えば、パケットは、データパケットを含む。パケットは、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスを含む。端末１０２は、パケットを検証デバイス１０６に送信するように構成されている。
【００３２】
検証デバイス１０６は、端末１０２から送信される通信を制限するように及び／又は端末１０２などの端末からの通信を受信しえるその他の様々な端末で受信される通信を保護するように構成されている。検証デバイス１０６は、受信されたパケットに含まれるソースＩＰアドレス及びソースＭＡＣアドレスが有効であるか否か、結果として端末１０２が検証され得るか否かを決定する。例えば、検証デバイス１０６は、アクセスポイントデバイス又はアクセスコントローラデバイスを含む。例えば、アクセスポイントデバイスは、ワイヤレスルータであることができる。アクセスポイントデバイスは、ファットアクセスポイント（ＦＡＴ  ＡＰ）デバイスとも呼ぶことができる。管理されたＡＰが、ワイヤレス通信を管理する役割を担う一方で、例えば、アクセスコントローラデバイスは、ＡＰの管理及びワイヤード通信の転送の役割を担うワイヤレスコントローラ（例えば、Ｃｉｓｃｏ（商標）５５００シリーズワイヤレスコントローラ）であることができる。各種の実施形態において、検証デバイス１０６は、検証テーブルをストレージ１１０にローカルに格納するように構成されている。検証テーブルは、検証済みの端末に関連付けられている有効なソースＩＰアドレス及び／又はソースＭＡＣアドレスを特定している。様々な実施形態において、検証テーブルは、ソースアドレス有効化向上（ＳＡＶＩ）バインドテーブルを含む。ＳＡＶＩバインドテーブルは、様々なエントリを含み、各エントリは、検証済みの端末の有効なソースＩＰアドレス及び／又は有効なソースＭＡＣアドレスを少なくとも含み、随意として、ソースＩＰアドレスに関連付けられているリース期間を含む。受信されたパケットに含まれるソースアドレス（ソースＩＰアドレス及びソースＭＡＣアドレス）が有効であるかどうかを決定するために、受信されたパケットのソースアドレス（例えば、ソースＩＰアドレス及びソースＭＡＣアドレス）の少なくとも１つが、ローカル検証テーブルに格納されたエントリのソースアドレスと比較される。一致するエントリがローカル検証テーブルの中で見つけられる場合は、ソースアドレスは、有効であると決定され、パケットは、その宛先端末に転送される。そうではなく、一致するエントリがローカル検証テーブルの中で見つけられない場合は、検証デバイス１０６は、端末１０２からＤＨＣＰサーバ１０８へのＤＨＣＰリクエストの伝送を模倣するように構成されている。様々な実施形態において、端末１０２からＤＨＣＰサーバ１０８へのＤＨＣＰリクエストの伝送の模倣は、検証デバイス１０６が、端末１０２に対応する（とともに、端末１０２から受信されたパケットの中に含まれていた）ソースＩＰアドレス及びソースＭＡＣアドレスを含むＤＨＣＰリクエストを生成し、当該ＤＨＣＰリクエストをＤＨＣＰサーバ１０８に送信することを含む。様々な実施形態において、検証デバイス１０６によって生成されるＤＨＣＰリクエストは、サーバ識別子（ＤＨＣＰサーバＩＤ）オプション及びリクエストＩＰアドレスオプションを含まない。ＤＨＣＰサーバ１０８が、ＤＨＣＰリクエストに含まれるソースＩＰアドレスを少なくとも含む記録を自身が格納していると決定する場合、ＤＨＣＰサー���１０８は、肯定応答（例えばＡＣＫ）を検証デバイス１０６に送り返す。そうではなく、もし、ＤＨＣＰサーバ１０８が、ＤＨＣＰリクエストに含まれるソースＩＰアドレスを少なくとも含む記録を自身が格納していないと決定するならば、ＤＨＣＰサーバ１０８は、検証デバイス１０６に非肯定応答（例えばＮＡＫ）を送り返す又は何の応答も返さない。検証デバイス１０６が、ＤＨＣＰサーバ１０８から肯定応答を受信する場合は、検証デバイス１０６は、端末１０２に対応するソースＩＰアドレス及びソースＭＡＣアドレスが有効であると決定し、パケットをその宛先端末に（又は端末１０２と宛先端末との間の次の中間エンティティに少なくとも）転送するように構成されている。更に、検証デバイス１０６は、随意として、承認された端末１０２に対応するソースＩＰアドレス及びソースＭＡＣアドレスを含む新しいエントリをローカル検証テーブルの中に生成し、このエントリに基づいて直接的に、端末１０２から受信される後続のパケットの有効性を検証可能にすることができる。そうではなく、検証デバイス１０６が、ＤＨＣＰサーバ１０８から非肯定応答を受信する又は何の応答も受信しない場合は、検証デバイス１０６は、端末１０２に対応するソースＭＡＣアドレスとソースＭＡＣアドレスとが無効であると決定し、パケットがその宛先端末に転送されるのを阻止するように構成されている。
【００３３】
以下で更に詳細に説明されるように、端末及びその対応するソースアドレスは、検証デバイスを使用して、端末からＤＨＣＰサーバへのＤＨＣＰリクエストの伝送を模倣することによって検証できる。ＤＨＣＰサーバから検証デバイスへの応答又はその欠如は、端末及びそのソースアドレスが検証され得るか否か、その結果端末からのパケットがそれらの宛先端末に転送できるかどうかを検証デバイスに示す。複数の検証デバイス間で（例えばＴＣＰ）チャネルを確立しそれらのデバイスに対応するＳＡＶＩバインドテーブルを同期化することが、もはや必要でなくなる。複数の検証デバイス間でのＴＣＰチャネルの確立を回避することの利点は、１つには、ある検証デバイスによってＳＡＶＩバインドテーブルエントリが追加されるときに、その新しいエントリがその他の検証デバイス間で同期化される必要がないことである。ＴＣＰチャネルの確立を回避することの第２の利点は、新しい検証デバイスが使用されるときに、その新しい検証デバイスが、既存の検証デバイスからそれらのデバイスのＳＡＶＩバインドテーブルエントリを受信する／既存の検証デバイスとの間でそれらのデバイスのＳＡＶＩバインドテーブルエントリのための同期化を行う必要がないことである。更に、端末に代わるＤＨＣＰリクエストの伝送の模倣は、端末に対して透過的であり、したがって、端末から送信される又は端末によって受信される通常の通信が邪魔されることはない。
【００３４】
図２は、端末のソースアドレスの有効性を検証するためのプロセスの一実施形態を示すフローチャートである。一部の実施形態では、プロセス２００は、図１のシステム１００で実施される。具体的には、一部の実施形態では、プロセス２００は、図１のシステム１００の検証デバイス１０６で実施される。
【００３５】
ステップ２０２では、端末からパケットが受信される。パケットは、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスを含む。
【００３６】
様々な実施形態において、端末から送信されたパケットは、（例えば、パケットに含まれる宛先ＩＰアドレス及び／又は宛先ＭＡＣアドレスによって特定された）宛先デバイス／端末に送信されるべき通信の一部である。
【００３７】
ステップ２０４では、端末に関連付けられている一致するエントリがローカル検証テーブルの中で見つかるか否かが決定される。
【００３８】
様々な実施形態において、「ローカル」検証テーブルは、プロセス２００を実施している検証デバイスによって格納されているＳＡＶＩバインドテーブルを含む。様々な実施形態において、端末に関連付けられている一致するエントリがローカルＳＡＶＩバインドテーブルの中で見つかるか否かを決定することは、端末が検証され得るか否か、その結果としてそのパケットがその宛先に転送されるべきであるか否かを決定するために使用される。様々な実施形態において、端末に関連付けられ、一致するエントリがローカルＳＡＶＩバインドテーブルの中で見つかるか否かを決定することは、パケットの中に含まれるソースＩＰアドレスを、ＳＡＶＩバインドテーブルの中で検索を行うためのインデックスとして使用することを含む。例えば、パケットの中に含まれるソースＩＰアドレスを、ＳＡＶＩバインドテーブルの中で検索を行うためのインデックスとして使用することは、パケットの中に含まれるソースＩＰアドレスを、ＳＡＶＩバインドテーブルの中のエントリに格納されている各ソースＩＰアドレスに照らして比較することを含む。
【００３９】
パケットの中に含まれるソースＩＰアドレスがＳＡＶＩバインドテーブルの中で見つけられる場合は、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスは、有効である（すなわち検証された）と決定され、パケットは、（例えば、パケットの中に含まれる宛先ＩＰアドレス及び／又は宛先ＭＡＣアドレスによって特定された）その宛先場所に転送される。
【００４０】
そうではなく、パケットの中に含まれるソースＩＰアドレスがＳＡＶＩバインドテーブルの中で見つけられない場合は、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスは、有効であるとまだ決定されず、後述されるように、パケットに対して更なる検証が実施されることになる。
【００４１】
一部の実施形態では、パケットのソースＩＰアドレス及びソースＭＡＣアドレスの有効性を決定する前に、受信されたパケットがバッファに格納される。例えば、バッファは、パケットがそのソースアドレスが有効又は無効であるとわかる前に格納される一時的な格納場所を含んでいてよい。
【００４２】
ステップ２０６では、端末に関連付けられている一致するエントリがローカル検証テーブルの中で見つからないと決定される。
【００４３】
ステップ２０７では、ソースＩＰアドレス及びソースＭＡＣアドレスに基づいて、端末に関連付けられているリクエストが生成される。端末に関連付けられている一致するエントリがローカル検証テーブルの中で見つからないとの決定を受けて、以下で更に詳しく説明されるように、ＤＨＣＰリクエストが生成される。
【００４４】
ステップ２０８では、リクエストがＤＨＣＰサーバに伝送される。
【００４５】
以下は、端末用の一致するエントリがローカルＳＡＶＩバインディングテーブルの中で見つけられないかもしれない２つの筋書き例である。
【００４６】
１．端末は、同じワイヤレスローカルエリアネットワークの中で（例えば、同じＤＨＣＰサーバ環境の中で又はプライマリ−スタンバイ関係を有する二重のライブＤＨＣＰサーバの中で）、古い検証デバイスに関連付けられているエリアから、新しい検証デバイスに関連付けられている別のエリアへローミングを行っており、ＩＰアドレスを再取り出しするためにＤＨＣＰリクエストを実行していない。
【００４７】
２．検証デバイスは、再起動されており、その結果、再起動前に保存されたＳＡＶＩバインドテーブルエントリが喪失されたかもしれない。
【００４８】
端末に関連付けられている一致するエントリが、ローカルＳＡＶＩバインディングテーブルの中で見つけられない場合には（すなわち、ローカルに保存されたＳＡＶＩバインドテーブルが、パケットに含まれるソースＩＰアドレスを含むエントリを格納していない場合）、検証デバイスは、端末に代わってＤＨＣＰリクエストを生成し、当該ＤＨＣＰリクエストをＤＨＣＰサーバに送信する。様々な実施形態において、ＤＨＣＰリクエストは、ＤＨＣＰリクエストが実際は検証デバイスによって生成されて伝送されるときに、パケットの中に含まれるソースＩＰアドレス及びソースＭＡＣアドレスをＤＨＣＰリクエストに含めてあたかも該リクエストが端末から送信されているかのように「模倣」することによって、端末に代わって検証サーバによって生成される。
【００４９】
例えば、パケットに含まれるソースＩＰアドレス値及びソースＭＡＣアドレス値は、ＤＨＣＰリクエストの中の様々なフィールド内の値として使用される。以下は、ＤＨＣＰリクエストの中の主要フィールドの例を挙げたものであり、パケットに含まれるソースＩＰアドレス又はソースＭＡＣアドレスのいずれかを含有するフィールドについては、その旨が注記されている。
【００５０】
Ｄｓｔ  ＭＡＣ                ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ
【００５１】
Ｓｒｃ  ＭＡＣ                パケットに含まれるソースＭＡＣアドレス
【００５２】
Ｔｙｐｅ                      ０ｘ０８００
【００５３】
Ｓｒｃ  ＩＰ                  パケットに含まれるソースＩＰアドレス
【００５４】
Ｄｓｔ  ＩＰ                  ２５５．２５５．２５５．２５５
【００５５】
Ｐｒｏｔｏｃｏｌ              １７
【００５６】
Ｓｒｃ  Ｐｏｒｔ              ６８
【００５７】
Ｄｓｔ  Ｐｏｒｔ              ６７
【００５８】
Ｍｅｓｓａｇｅ  Ｔｙｐｅ      ０ｘ０１
【００５９】
Ｈａｒｄｗａｒｅ  Ｔｙｐｅ    ０ｘ０１
【００６０】
ＨＬＥＮ                      ０ｘ０６
【００６１】
ＨＯＰＳ                      ０ｘ００
【００６２】
ＸＩＤ                        乱数値
【００６３】
ＳＥＣＳ                      ０ｘ００
【００６４】
ＦＬＡＧＳ                    ０ｘ００
【００６５】
ＣＩＡＤＤＲ                  パケットに含まれるソースＩＰアドレス
【００６６】
ＹＩＡＤＤＲ                  ０ｘ００００００００
【００６７】
ＳＩＡＤＤＲ                  ０ｘ００００００００
【００６８】
ＧＩＡＤＤＲ                  ０ｘ００００００００
【００６９】
ＣＨＡＤＤＲ                  パケットに含まれるソースＭＡＣアドレス
【００７０】
Ｏｐｔｉｏｎ５３              ０ｘ３５  ０１  ０３
【００７１】
Ｏｐｔｉｏｎ６１              ０ｘ３７  ０ｄ  ０１＋パケットに含まれるソースＭＡＣアドレス
【００７２】
Ｏｐｔｉｏｎ５１              ０ｘ３３  ０４  ００  ７６  ａ７  ００
【００７３】
Ｏｐｔｉｏｎ２５５            ０ｘｆｆ
【００７４】
ゲートウェイプログラムがＤＨＣＰリレーモードに構成され、「Ｄｓｔ  ＩＰ」フィールドの値として「２５５．２５５．２５５．２５５」を含む場合、ＤＨＣＰリクエストは、ゲートウェイに、リクエストパケットをＤＨＣＰサーバに転送させる。たとえゲートウェイプログラムがＤＨＣＰリレーモードに構成されず、ＤＨＣＰサーバが同じサブネット内にあることを意味していても、ＤＨＣＰリクエストは、「Ｄｓｔ  ＩＰ」フィールドの値として「２５５．２５５．２５５．２５５」を伴うように構成されているので、ＤＨＣＰリクエストはやはり、ＤＨＣＰサーバに転送される。上記の例に示されるように、端末から受信されたパケットに含まれているソースＩＰアドレス及びソースＭＡＣアドレスは、検証デバイスによって生成されるＤＨＣＰリクエストの中の幾つかのフィールドの値として含まれる。上記例のＤＨＣＰリクエストの中の、パケットからのソースＩＰアドレス値を含むフィールドは、「Ｓｒｃ  ＩＰ」及び「ＣＩＡＤＤＲ」である。上記例のＤＨＣＰリクエストの中の、パケットからのソースＭＡＣアドレス値を含むフィールドは、「Ｓｒｃ  ＭＡＣ」、「ＣＨＡＤＤＲ」及び「Ｏｐｔｉｏｎ６１」である。また、生成されたＤＨＣＰリクエストが、サーバ識別子（ＤＨＣＰサーバＩＤ）オプション又はリクエストＩＰアドレスオプションを含有しないことが留意されるべきである。なぜならば、ＤＨＣＰリクエストがサーバＩＤオプション又はリクエストＩＰアドレスオプションを有するときは、ＤＨＣＰサーバが新しいＩＰアドレスを端末に割り振って、それを記録するからである。ＤＨＣＰサーバは、割り振られたＩＰアドレスと、対応するＭＡＣアドレスと、割り振られたＩＰアドレスの有効期限との間の対応関係などの情報を格納する。ＤＨＣＰリクエストが、サーバ識別子（ＤＨＣＰサーバＩＤ）オプション及びリクエストＩＰアドレスオプションを含有しない場合、ＤＨＣＰサーバは、新しいＩＰアドレスを端末に割り振ることをしない。その代わりに、ＤＨＣＰサーバは、ＤＨＣＰリクエストに含有されているＣＩＡＤＤＲフィールドの値（パケットに含まれるソースＩＰアドレス）及びＣＨＡＤＤＲフィールドの値（パケットに含まれるソースＭＡＣアドレス）に対応する記録がＤＨＣＰサーバによって格納されているかどうかを決定する。ＤＨＣＰサーバに記録されている既存のエントリが、ＣＩＡＤＤＲフィールドのＩＰアドレスに一致するＩＰアドレスを含み、このＩＰアドレスが、そのエントリの有効期限（例えばリース期間）内である場合、このことは、ＣＩＡＤＤＲフィールドのＩＰアドレスが有効であることを示し、ＤＨＣＰサーバは、ＡＣＫ（又は他の何らかの肯定応答）を検証デバイスに返す。そうではなく、ＤＨＣＰサーバに記録されているエントリに、ＣＩＡＤＤＲフィールドのＩＰアドレスに一致するＩＰアドレスを含むエントリがない場合には、このことは、ＣＩＡＤＤＲフィールドのＩＰアドレスが有効ではないことを示し、ＤＨＣＰサーバは、検証デバイスにＮＡＫ（又は何らかのその他の非肯定応答）を返す又は何の応答も伝送しない。例えば、ＤＨＣＰサーバが、ＤＨＣＰリクエストのＣＩＡＤＤＲフィールドのＩＰアドレスに関係した記録を有さな���、又はＤＨＣＰリクエストのＣＩＡＤＤＲフィールドのＩＰアドレスと、ＤＨＣＰリクエストのＣＨＡＤＤＲフィールドのＭＡＣアドレスとの間の対応関係が、ＤＨＣＰサーバに記録されている既存のエントリにおけるＩＰアドレスとＭＡＣアドレスとの間の対応関係に一致しない、又はＤＨＣＰリクエストのＣＩＡＤＤＲフィールドのＩＰアドレスが、その有効期限を過ぎているなどの場合も、ＤＨＣＰサーバは、ＤＨＣＰリクエストに対してＮＡＫを送信する又は何の応答も送信しないことができる。
【００７５】
したがって、端末によるＤＨＣＰサーバへのＤＨＣＰリクエストの伝送を模倣することによって、ＤＨＣＰサーバの応答に基づいて、パケットに含まれるＩＰソースアドレス及びＭＡＣソースアドレスの有効性が決定できる。
【００７６】
また、それぞれの検証テーブルを同期化するために複数の検証デバイス間でＴＣＰ接続が必要とされる従来のシステムとは対照的に、様々な実施形態で説明されるようなＤＨＣＰに関係した通信は、例えばユーザデータグラムプロトコル（ＵＤＰ）などのコネクションレスプロトコルに基づく。このように、コネクションレスプロトコルを使用することによって、本書で説明されるような様々な実施形態は、そうでなければ（例えばＴＣＰ）接続を維持するために使用されていただろうリソースを節約することができる。
【００７７】
ステップ２１０では、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスが有効であるか否かが、ＤＨＣＰサーバからの応答に少なくとも部分的に基づいて決定される。
【００７８】
上述のように、ＤＨＣＰリクエストに応えてＤＨＣＰサーバから肯定応答が受信される場合は、ＤＨＣＰリクエストに含まれていた、パケットからのソースＩＰアドレス及びソースＭＡＣアドレスは、有効であると決定される。しかしながら、ＤＨＣＰサーバから非肯定応答が受信される又は何の応答も受信されない場合は、ＤＨＣＰリクエストに含まれていた、パケットからのソースＩＰアドレス及びソースＭＡＣアドレスは、無効であると決定される。
【００７９】
一部の実施形態では、ＤＨＣＰリクエストがＤＨＣＰサーバに伝送された時点から計時を開始でき、ＤＨＣＰサーバから返される肯定応答が既定の長さの時間内に受信される場合、端末のソースＩＰアドレス及びソースＭＡＣアドレスは、有効であると決定される。しかしながら、既定の長さの時間内に応答が受信されない又は既定の長さの時間内に非肯定応答が受信されるならば、端末のソースＩＰアドレス及びソースＭＡＣアドレスは、無効であると見なされる。
【００８０】
一部の実施形態では、端末によるＤＨＣＰサーバへのＤＨＣＰリクエストの伝送が検証デバイスによって模倣されているので（例えば、実際は、模倣されたＤＨＣＰリクエストが検証デバイスからＤＨＣＰサーバに送信されているので）、この模倣リクエストを端末によって実際に伝送されるＤＨＣＰリクエストから区別するために、伝送された模倣リクエストのために模倣記録が確立できる。模倣記録は、ＤＨＣＰリクエストに含まれていた（、パケットからの）ソースＩＰアドレス及びソースＭＡＣアドレス、並びに模倣ＤＨＣＰリクエストの識別子を記録するために使用できる。続いて、ＤＨＣＰサーバによって返された応答（例えば肯定応答）の受信を受けて、応答に含まれる識別子が、模倣記録に含まれる識別子に一致するか否か、その結果、応答が、伝送された模倣ＤＨＣＰリクエストに関するものであるか否かが決定される。例えば、ＤＨＣＰリクエストの識別子は、ＤＨＣＰトランザクションＩＤであることができる。応答の識別子（例えばＤＨＣＰトランザクションＩＤ）が、模倣記録に含まれる識別子（例えばＤＨＣＰトランザクションＩＤ）に一致すると決定される場合、受信された応答は、伝送された模倣ＤＨＣＰリクエストへの応答であると決定される。伝送された模倣ＤＨＣＰリクエストへの応答が受信されたと決定されると、応答は端末に伝送されず、一致する模倣記録は削除される。応答の識別子が、模倣記録に含まれるいずれの識別子にも一致しないと決定される場合、受信された応答は、伝送された模倣ＤＨＣＰリクエストへの応答ではないと決定され、この結果、応答は、（実際に端末によってＤＨＣＰサーバに伝送されたと想定されるので、）端末に伝送される。この模倣記録を使用することによって、応答がまだ受信されていない模倣ＤＨＣＰリクエストを追跡することが可能であり、また、伝送された模倣ＤＨＣＰリクエストを実際に端末によって伝送されたＤＨＣＰリクエストから区別することも可能である。模倣記録の使用は、また、端末からのＤＨＣＰリクエストの伝送を検証デバイスが模倣するプロセスを、端末に対して透過的にもできる。
【００８１】
様々な実施形態において、ＤＨＣＰサーバによって返された肯定応答が受信されると、パケットのソースＩＰアドレス及びソースＭＡＣアドレスが有効であると決定することに加えて、パケットを伝送した端末のために、パケットのソースＩＰアドレス及びソースＭＡＣアドレスを含む新しいＳＡＶＩバインドテーブルエントリが確立及び保存できる。端末に対応するソースＩＰアドレス及びソースＭＡＣアドレスを含むＳＡＶＩバインドテーブルエントリを生成することによって、このバインドテーブルエントリに基づいて直接的に、端末から受信される（ソースＩＰアドレス及びソースＭＡＣアドレスを含む）後続のパケットが検証できる。
【００８２】
一部の実施形態では、パケットのソースＩＰアドレス及びソースＭＡＣアドレスの有効性を決定する前に、パケットがバッファに格納される。パケットのソースＩＰアドレス及びソースＭＡＣアドレスを含む模倣ＤＨＣＰリクエストに応えてＤＨＣＰサーバから肯定応答が受信される場合は、バッファに格納されたパケットは、その宛先に伝送できる。しかしながら、代わりに、ＤＨＣＰサーバから非肯定応答が受信される又は何の応答も受信されない場合、バッファに格納されたパケットは破棄できる、又は認証要求メッセージが端末に送信できる、及び／又は検証デバイスが関係付けられている現ネットワーク接続から端末が切断できる。
【００８３】
図３は、端末のソースアドレスの有効性を検証するためのプロセスの一例を示すフローチャートである。一部の実施形態では、プロセス３００は、図１のシステム１００で実施される。具体的には、一部の実施形態では、プロセス３００は、図１のシステム１００の検証デバイス１０６で実施される。一部の実施形態では、図２のプロセス２００のステップ２０２〜２１０が、プロセス３００によって実現できる。
【００８４】
ステップ３０２では、端末からパケットが受信され、当該パケットは、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスを含む。
【００８５】
ステップ３０４では、パケットがバッファに格納される。一部の実施形態では、バッファへのパケットの格納は、パケットをローカルな一時的な格納場所に格納することを言う。パケットがその宛先に転送されるか否かは、後述のように、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスが有効であると決定されるか否かに依存する。
【００８６】
ステップ３０６では、端末に関連付けられている一致するエントリがローカルＳＡＶＩバインディングテーブルの中で見つかるか否かが決定される。ローカルＳＡＶＩバインドテーブルは、プロセス３００を実施している検証デバイスによって格納されている。端末に関連付けられている一致するエントリがローカルＳＡＶＩバインドテーブルの中で見つからない場合は、制御はステップ３０８に移行される。そうではなく、端末に関連付けられている一致するエントリがローカルＳＡＶＩバインドテーブルの中で見つかる場合は、制御はステップ３２２に移行され、そこでは、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスが有効であることが決定され、パケットはバッファから取り出され、パケットに関連付けられている宛先に送信される。
【００８７】
ステップ３０８では、ＤＨＣＰリクエストが生成され、ＤＨＣＰサーバに伝送される。ＤＨＣＰリクエストは、ソースＩＰアドレス及びソースＭＡＣアドレスを含む。端末によるＤＨＣＰサーバへのＤＨＣＰリクエストの伝送は、検証デバイスによって模倣され、検証デバイスは、パケットからのソースＩＰアドレス及びソースＭＡＣアドレスを伴うＤＨＣＰリクエストを生成し、当該ＤＨＣＰリクエストをＤＨＣＰサーバに送信する。
【００８８】
ステップ３１０では、ＤＨＣＰリクエストに対応する模倣記録が生成されて格納される。模倣記録は、ＤＨＣＰリクエストに関連付けられている識別子（例えばＤＨＣＰトランザクションＩＤ）を含む。様々な実施形態において、模倣記録は、検証デバイスに格納される。
【００８９】
ステップ３１２では、ＤＨＣＰリクエストの伝送から既定の長さの時間が経過したか否かが決定される。一部の実施形態では、既定の長さの時間は、管理ユーザによって決定される。既定の長さの時間が経過していない場合は、制御はステップ３１２に戻される。そうではなく、既定の長さの時間が経過した場合は、制御はステップ３１４に移行される。
【００９０】
ステップ３１４では、ＤＨＣＰサーバから肯定応答が受信されたか否かが決定される。例えば、肯定応答は、ＡＣＫである。一部の実施形態では、ＤＨＣＰサーバからの肯定応答は、ＤＨＣＰリクエストからのソースＩＰアドレス及びソースＭＡＣアドレスの少なくともいずれかを含む記録をＤＨＣＰサーバが格納していることを示す。したがって、ＤＨＣＰリクエストからのソースＩＰアドレス及びソースＭＡＣアドレスは、有効であると決定される。ＤＨＣＰサーバから肯定応答が受信された場合は、制御はステップ３１８に戻される。そうではなく、ＤＨＣＰサーバから肯定応答が受信されていない（例えば、既定の長さの時間内に非肯定応答（例えばＮＡＫ）が受信された、既定の長さの時間後に非肯定応答（例えばＮＡＫ）が受信された、又は既定の長さの時間内に何の応答も受信されなかった）場合は、制御はステップ３２６に移行される。したがって、ＤＨＣＰリクエストからのソースＩＰアドレス及びソースＭＡＣは、無効であると決定される。
【００９１】
ステップ３１８では、ＤＨＣＰリクエストに対応する模倣記録が削除される。肯定応答に関連付けられている識別子（例えばＤＨＣＰトランザクションＩＤ）が、模倣記録に格納されているＤＨＣＰリクエストの識別子（例えばＤＨＣＰトランザクションＩＤ）と比較される。一致する場合、模倣ＤＨＣＰリクエストへの応答が受信されたことが確認されたので、模倣記録は削除できる。更に、応答が、（端末によって伝送された実際のＤＨＣＰリクエストではなく）模倣ＤＨＣＰリクエストへのものであると確認された場合は、ＤＨＣＰサーバからの応答は、端末に伝送されない。
【００９２】
ステップ３２０では、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスを含む新しいエントリが、ローカルＳＡＶＩバインドテーブルの中に生成される。
【００９３】
ステップ３２２では、パケットがバッファから取り出され、パケットに関連付けられている宛先に送信される。端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスが有効であると決定されると、パケットを送信した端末は、検証されたと想定され、パケットは、バッファから取り出され、（例えばパケットによって特定された）宛先に送信される。
【００９４】
ステップ３２６では、パケットがバッファから取り除かれる。端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスは、無効であると決定されるので、パケットを送信した端末は検証されず、したがって、バッファは最終的に空にされ、パケットは結果として破棄される。
【００９５】
一部の実施形態では、パケットが転送されるか又は破棄されるかが、ログに記録される。
【００９６】
図４は、検証デバイスの第１の実施形態を示す図である。図４の例に示されるように、検証デバイス４００は、決定ユニット４１０と、模倣伝送ユニット４２０と、有効性検証ユニット４３０とを含む。
【００９７】
ユニットは、１つ以上のプロセッサ上で実行されるソフトウェアコンポーネントとして、プログラマブルロジックデバイスなどのハードウェアとして、及び／又は特殊用途向け集積回路として実装できる。設計された要素は、本発明の実施形態で説明される方法を（パソコン、サーバ、ネットワーク機器などの）コンピュータデバイスに実行させるための幾つかの命令を含み尚且つ（光ディスク、フラッシュストレージデバイス、モバイルハードディスクなどの）不揮発性のストレージ媒体に格納できるソフトウェア製品の形で具現化できる。ユニットは、１つのデバイス上に実装されてよい、又は複数のデバイスに分散されてよい。
【００９８】
決定ユニット４１０は、端末によって伝送されたパケットを受信するように構成されている。パケットは、端末のソースＩＰアドレス及びソースＭＡＣアドレスを含む。決定ユニット４１０は、ローカル検証（例えばＳＡＶＩバインド）テーブルが、パケットのソースＩＰアドレスに一致するＩＰアドレスを格納するエントリを含むかどうかを決定するように構成されている。
【００９９】
ローカルＳＡＶＩバインドテーブルが、パケットのソースＩＰアドレスに一致するＩＰアドレスを格納するエントリを含まない場合は、模倣伝送ユニット４２０は、端末からＤＨＣＰサーバへのＤＨＣＰリクエストの伝送を模倣するように構成されている。様々な実施形態において、模倣伝送ユニット４２０は、リクエストの中の１つ以上のフィールド内にパケットからのソースＩＰアドレス及びソースＭＡＣアドレスを伴うＤＨＣＰリクエストを生成し、該リクエストをＤＨＣＰサーバに送信することによって、端末からＤＨＣＰサーバへのＤＨＣＰリクエストの伝送を模倣するように構成されている。
【０１００】
有効性検証ユニット４３０は、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスが有効であるかどうかを、ＤＨＣＰサーバからの応答に基づいて決定するように構成されている。
【０１０１】
図５は、検証デバイスの第２の実施形態を示す図である。図５の例に示されるように、検証デバイス５００は、決定ユニット５１０と、模倣伝送ユニット５２０と、有効性検証ユニット５３０と、タイマーユニット５４０とを含む。
【０１０２】
決定ユニット５１０は、図４のシステム４００の決定ユニット４１０と同様に実装できる。模倣伝送ユニット５２０は、図４のシステム４００の模倣伝送ユニット４２０と同様に実装できる。
【０１０３】
タイマーユニット５４０は、ＤＨＣＰリクエストがＤＨＣＰサーバに伝送されてから経過した時間の長さを追跡するように構成されている。
【０１０４】
有効性検証ユニット５３０は、図４のシステム４００の有効性検証ユニット４３０と同様に実装できる。また、有効性検証ユニット５３０は、既定の長さの時間内にＤＨＣＰサーバから肯定応答が受信される場合、パケットに含まれるソースＩＰアドレス及びソースＭＡＣアドレスが有効であると決定するように構成されている。そうではなく、既定の長さの時間内にＤＨＣＰサーバから非肯定応答が受信される又は何の応答も受信されない場合、有効性検証ユニット５３０は、パケットに含まれるソースＩＰアドレス及びソースＭＡＣアドレスが無効であると決定するように構成されている。
【０１０５】
図６は、検証デバイスの第３の実施形態を示す図である。図６の例に示されるように、検証デバイス６００は、決定ユニット６１０と、模倣伝送ユニット６２０と、有効性検証ユニット６３０と、模倣記録ユニット６５０と、照合ユニット６６０と、削除ユニット６７０とを含む。
【０１０６】
決定ユニット６１０は、図４のシステム４００の決定ユニット４１０と同様に実装できる。模倣伝送ユニット６２０は、図４のシステム４００の模倣伝送ユニット４２０と同様に実装できる。有効性検証ユニット６３０は、図４のシステム４００の有効性検証ユニット４３０と同様に実装できる。
【０１０７】
模倣記録ユニット６５０は、模倣伝送ユニット６２０によって生成されたＤＨＣＰリクエスト用に模倣記録を確立するように構成されている。
【０１０８】
照合ユニット６６０は、ＤＨＣＰサーバからの肯定応答がＤＨＣＰリクエストに対応する応答であるか否かを、確立された模倣記録の照合によって決定するように構成されている。
【０１０９】
削除ユニット６７０は、ＤＨＣＰサーバからの応答が模倣記録に一致する場合、模倣記録を削除するように構成されている。
【０１１０】
図７は、検証デバイスの第４の実施形態を示す図である。図７の例に示されるように、検証デバイス７００は、決定ユニット７１０と、模倣伝送ユニット７２０と、有効性検証ユニット７３０と、バインドテーブルエントリ確立・保存ユニット７８０とを含む。
【０１１１】
決定ユニット７１０は、図４のシステム４００の決定ユニット４１０と同様に実装できる。模倣伝送ユニット７２０は、図４のシステム４００の模倣伝送ユニット４２０と同様に実装できる。有効性検証ユニット７３０は、図４のシステム４００の有効性検証ユニット４３０と同様に実装できる。
【０１１２】
ＤＨＣＰサーバによって返された、模倣ＤＨＣＰリクエストに対応する肯定応答の受信に応えて、バインドテーブルエントリ確立・保存ユニット７８０は、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスを含む新しいエントリを端末のためにローカルＳＡＶＩバインドテーブルの中に確立及び保存するように構成されている。
【０１１３】
図８は、検証デバイスの第５の実施形態を示す図である。図８の例に示されるように、検証デバイス８００は、決定ユニット８１０と、模倣伝送ユニット８２０と、有効性検証ユニット８３０と、バッファユニット８９０と、伝送ユニット８９５とを含む。
【０１１４】
決定ユニット８１０は、図４のシステム４００の決定ユニット４１０と同様に実装できる。模倣伝送ユニット８２０は、図４のシステム４００の模倣伝送ユニット４２０と同様に実装できる。
【０１１５】
バッファユニット８９０は、パケットをバッファに格納するように構成されている。
【０１１６】
ＤＨＣＰリクエストに応えてＤＨＣＰサーバから肯定応答が受信される場合は、伝送ユニット８９５は、バッファからパケット（そのソースＩＰアドレス及びソースＭＡＣアドレスは上記ＤＨＣＰリクエストに含まれている）を取り出し、その宛先（例えば、パケットに含まれている宛先ＩＰアドレス及び／又は宛先ＭＡＣアドレス）に伝送するように構成されている。
【０１１７】
有効性検証ユニット８３０は、図４のシステム４００の有効性検証ユニット４３０と同様に実装できる。また、有効性検証ユニット８３０は、既定の長さの時間内にＤＨＣＰサーバから肯定応答が受信される場合、パケットに含まれるソースＩＰアドレス及びソースＭＡＣアドレスが有効であると決定するように構成されている。そうではなく、既定の長さの時間内にＤＨＣＰサーバから非肯定応答が受信される又は何の応答も受信されない場合、有効性検証ユニット８３０は、パケットに含まれるソースＩＰアドレス及びソースＭＡＣアドレスが無効であると決定するように構成され、それに対応して、バッファユニット８９０は、端末のパケットを破棄し、認証要求メッセージを端末に伝送するように構成されている。
【０１１８】
上述のように、端末に関連付けられているソースＩＰアドレス及びソースＭＡＣアドレスは、検証デバイスを使用した、端末からＤＨＣＰサーバへのＤＨＣＰリクエストの伝送の模倣に基づいて、有効性を検証される。端末に関連付けられているソースアドレスに対して検証を実施する様々な実施形態は、（例えば複数の検証デバイスによって管理されている）ＳＡＶＩバインドテーブルエントリを同期化するための追加チャネルの確立を必要としない。このようなチャネルの使用を回避することによって、ネットワーク構成が簡略化される。端末に代わってＤＨＣＰリクエストの伝送を模倣するプロセスは、端末に対して透過的でもあり、したがって、端末から送信される又は端末によって受信される通常の通信が邪魔されることはない。
【０１１９】
図９は、端末のソースアドレスの有効性を検証するためのプログラムドコンピュータシステムの一実施形態を示す機能図である。端末のソースアドレスの有効性を検証するために、その他のコンピュータシステムアーキテクチャ及びコンピュータシステム構成が使用できることが明らかである。後述のような様々なサブシステムを含むコンピュータシステム９００は、少なくとも１つのマイクロプロセッササブシステム（プロセッサ又は中央演算処理装置（ＣＰＵ）とも呼ばれる）９０２を含む。例えば、プロセッサ９０２は、シングルチッププロセッサによって又は複数のプロセッサによって実現できる。一部の実施形態では、プロセッサ９０２は、コンピュータシステム９００の動作を制御する汎用デジタルプロセッサである。メモリ９１０から取り出された命令を使用して、プロセッサ９０２は、入力データの受信及び操作、並びに出力デバイス（例えばディスプレイ９１８）へのデータの出力及び表示を制御する。
【０１２０】
プロセッサ９０２は、メモリ９１０に双方向に接続され、メモリ９１０は、通常はランダムアクセスメモリ（ＲＡＭ）である第１の一次ストレージエリアと、通常は読み出し専用メモリ（ＲＯＭ）である第２の一次ストレージエリアとを含むことができる。当該分野で周知のように、一次ストレージは、一般的ストレージエリアとして及びスクラッチパッドメモリとして使用でき、入力データ及び処理済みデータを格納するためにも使用できる。一次ストレージは、プログラミング命令及びデータも、プロセッサ９０２上で起きるプロセスのためのその他のデータ及び命令に加えてデータオブジェクト及びテキストオブジェクトの形態で格納することができる。やはり当該分野で周知のように、一次ストレージは、通常は、プロセッサ９０２がその機能（例えば、プログラムされた命令）を実施するために使用する基本的な動作命令、プログラムコード、データ、及びオブジェクトを含む。例えば、メモリ９１０は、例えば、データアクセスが双方向又は単方向のいずれである必要があるかに応じて、後述される任意の適切なコンピュータ読み取り可能ストレージ媒体を含むことができる。例えば、プロセッサ９０２は、頻繁に必要とされるデータを直接的に且つ非常に迅速に取り出してキャッシュメモリ（不図示）に格納することもできる。
【０１２１】
着脱式大容量ストレージデバイス９１２が、コンピュータシステム９００のための追加のデータストレージ容量を提供し、双方向（読み出し／書き込み）又は単方向（読み出しのみ）のいずれかでプロセッサ９０２に接続される。例えば、ストレージ９１２は、磁気テープ、フラッシュメモリ、ＰＣカード、携帯型大容量ストレージデバイス、ホログラフィックストレージデバイス、及びその他のストレージデバイスなどの、コンピュータ読み取り可能媒体を含むこともできる。例えば、固定大容量ストレージ９２０も、追加のデータストレージ容量を提供することができる。固定大容量ストレージ９２０として最も一般的な例は、ハードディスクドライブである。大容量ストレージ９１２及び９２０は、一般に、プロセッサ９０２によって通常は能動的に使用されていない追加のプログラミング命令やデータなどを格納する。大容量ストレージ９１２及び９２０に保持される情報は、必要に応じて、仮想メモリとしてメモリ９１０（例えばＲＡＭ）の一部として標準的に組み込めることがわかる。
【０１２２】
バス９１４は、プロセッサ９０２に、ストレージサブシステムへのアクセスを提供することに加えて、その他のサブシステム及びデバイスへのアクセスを提供するためにも使用できる。図に示されるように、これらは、ディスプレイ９１８、ネットワークインターフェース９１６、キーボード９０４、及びポインティングデバイス９０８はもちろん、必要に応じて、補助入出力デバイスインターフェース、サウンドカード、スピーカ、及びその他のサブシステムを含むことができる。例えば、ポインティングデバイス９０８は、マウス、スタイラス、トラックボール、又はタブレットであることができ、グラフィカルユーザインターフェースとのやり取りに有用である。
【０１２３】
ネットワークインターフェース９１６は、図に示されるようにネットワーク接続を使用してプロセッサ９０２が別のコンピュータ、コンピュータネットワーク、又は電気通信ネットワークに接続されることを可能にする。例えば、ネットワークインターフェース９１６を通じて、プロセッサ９０２は、方法／プロセスのステップを実施する過程で別のネットワークから情報（例えばデータオブジェクト若しくはプログラム命令）を受信する又は別のネットワークに情報を出力することができる。情報は、プロセッサ上で実行される一連の命令として表されることが多く、別のネットワークから受信できる又は別のネットワークに出力できる。コンピュータシステム９００を外部ネットワークに接続するために及びデータを標準プロトコルにしたがって転送するために、インターフェースカード又は類似のデバイス、及びプロセッサ９０２によって実装される（例えば、プロセッサ９０２上で実行される／実施される）適切なソフトウェアが使用できる。例えば、本書で開示される様々なプロセス実施形態は、プロセッサ９０２上で実行できる、又は処理の一部を共有するリモートプロセッサと協働してインターネット、イントラネットネットワーク、若しくはローカルエリアネットワークなどのネットワークで実施できる。プロセッサ９０２には、ネットワークインターフェース９１６を通じて追加の大容量ストレージデバイス（不図示）も接続できる。
【０１２４】
コンピュータシステム９００と協働して、補助入出力デバイスインターフェース（不図示）が使用できる。補助入出力デバイスインターフェースは、プロセッサ９０２が、マイク、タッチセンサ式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声又は手書き認識装置、生体認証リーダ、カメラ、携帯型大容量ストレージデバイス、及びその他のコンピュータなどの他のデバイスにデータを送信することを、及び更に一般的にはこれらの他のデバイスからデータを受信することを可能にする、汎用並びに専用のインターフェースを含むことができる。
【０１２５】
留意すべきは、本出願が、ソフトウェア及び／又はソフトウェアとハードウェアとの組み合わせの形で実現できることである。例えば、本出願は、特殊用途向け集積回路（ＡＳＩＣ）、汎用コンピュータ、又はその他の類似のハードウェア機器を使用して実現できる。一部の実施形態では、本出願のソフトウェアプログラムは、上述されたステップ又は機能を実現するために、プロセッサによる実行を使用してよい。同様に、本出願のソフトウェアプログラム（関連のデータ構造を含む）は、ＲＡＭストレージデバイス、磁気又は光ドライブ、フロッピィディスク、又は類似の機器などの、コンピュータ読み取り可能な記録媒体に格納されてよい。また、本出願のステップ又は機能の一部は、例えばプロセッサと協働して様々な機能又は関数を実行する回路などのハードウェアを通じて実現されてよい。
【０１２６】
また、本出願の一部は、例えば、コンピュータの動作を通じてコンピュータによって実行されるときに、本出願に基づく方法及び／又は技術方式を呼び出す又は提供することができるコンピュータプログラムコマンドなどの、コンピュータプログラム製品として適用されてよい。そして、本出願の方法を呼び出すプログラムコマンドは、固定式の若しくは移動式の記録媒体に格納されてよい、及び／又はブロードキャスト媒体若しくはその他の信号キャリア媒体のデータストリームを通じて伝送されてよい、及び／又はプログラムコマンドに基づいて作動するコンピュータ機器の作業メモリに格納されてよい。ここでは、本出願に基づく一部の実施形態は、デバイスを含む。このデバイスは、コンピュータプログラムコマンドを格納するために使用されるメモリと、プログラムコマンドを実行するために使用されるプロセッサとを含み、コンピュータプログラムコマンドがプロセッサによって実行されるときに、デバイスは、本出願に基づく複数の実施形態の方法及び／又は技術方式を実行するようにトリガされる。
【０１２７】
当業者にならば、上述の例示的実施形態の詳細に本出願が限定されないこが明らかである。更に、本出願は、本出願の趣旨又は基本的特徴から逸脱することなくその他の具体的形態で実現できる。したがって、どのように見られるかに関わらず、全ての実施形態は、例示的であって非制限的であると見なされるべきである。本出願の範囲は、特許請求の範囲によって限定され、上記の説明によっては限定されない。したがって、特許請求の範囲の意味及び均等物範囲内に入るあらゆるヴァリエーションが、本出願に含まれるものとする。また、明らかに「を含む（ｃｏｍｐｒｉｓｅ）」又は「を含む（ｉｎｃｌｕｄｅ）」という用語は、その他のユニット又はステップを排除するものではなく、単数形は、複数形を排除するものではない。システムの特許請求の範囲に記載された複数のユニット又はデバイスは、１つのユニット又はデバイスによってソフトウェア又はハードウェアを通じて実現されてもよい。「第１の」、「第２の」などの用語は、呼称を目的としており、いかなる具体的順序も示していない。
【０１２８】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するためには、多くの代替的手法がある。開示された実施形態は、例示的なものであり、制限的なものではない。
適用例１：方法であって、
パケットを端末から受信し、前記パケットは、前記端末に関連付けられているソースインターネットプロトコル（ＩＰ）アドレス及びソースメディアアクセス制御（ＭＡＣ）アドレスを含み、
前記端末に関連付けられている一致するエントリが、有効なソースＩＰアドレス及び有効なソースＭＡＣアドレスを格納しているローカル検証テーブルの中で見つかるか否かを決定し、
前記端末に関連付けられている前記一致するエントリが、前記ローカル検証テーブルの中で見つからないと決定し、
前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスに基づいて、リクエストを生成し、
前記リクエストを動的ホスト構成プロトコル（ＤＨＣＰ）サーバに伝送し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを、前記ＤＨＣＰサーバからの応答に少なくとも部分的に基づいて決定する、
ことを備える方法。
適用例２：適用例１に記載の方法であって、
前記ローカル検証テーブルは、ローカルソースアドレス有効性（ＳＡＶＩ）バインドテーブルを含む、方法。
適用例３：適用例１に記載の方法であって、更に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定される場合に、前記パケットを、前記パケットに関連付けられている宛先に伝送し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定される場合に、前記パケットを破棄する、
ことを備える方法。
適用例４：適用例１に記載の方法であって、更に、
前記リクエストを前記ＤＨＣＰサーバに伝送する前に、前記パケットをバッファに格納し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定される場合に、前記パケットを前記バッファから取り出して、前記パケットに関連付けられている宛先に伝送し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定される場合に、前記パケットを破棄する、
ことを備える方法。
適用例５：適用例１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられ、格納されている識別子に一致するか否かを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられ、前記格納されている識別子に一致する場合に、前記応答が前記端末に伝送されるのを阻止し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられ、前記格納されている識別子に一致しない場合に、前記応答を前記端末に伝送する、
ことを備える方法。
適用例６：適用例１に記載の方法であって、更に、
前記リクエストに関連付けられている識別子を含む模倣記録を生成し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられている前記識別子に一致するかどうかを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられている前記識別子に一致する場合に、前記模倣記録を削除し、前記応答が前記端末に伝送されることを阻止し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストに関連付けられている前記識別子に一致しない場合に、前記応答を前記端末に伝送する、
ことを備える方法。
適用例７：適用例１に記載の方法であって、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを決定することは、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから既定の長さの時間内に受信されるか否かを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信されない場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信され、前記応答が肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定する、
ことを含む、方法。
適用例８：適用例１に記載の方法であって、更に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを決定することは、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから既定の長さの時間内に受信されるか否かを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信されない場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記パケットが前記パケットに関連付けられている宛先に送信されることを阻止し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信され、前記応答が肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定する、
ことを含む、方法。
適用例９：適用例１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから既定の長さの時間内に受信されるか否かを決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信されない場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信され、前記応答が肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスを含む新しいエントリを、前記ローカル検証テーブルの中に生成し、
前記パケットを前記パケットに関連付けられている宛先に伝送する、
ことを備える方法。
適用例１０：適用例１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が非肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記ＤＨＣＰサーバからの前記応答が肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定する、
ことを備える方法。
適用例１１：適用例１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が非肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記パケットが前記パケットに関連付けられている宛先に送信されることを阻止し、
前記ＤＨＣＰサーバからの前記応答が肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定する、
ことを備える方法。
適用例１２：適用例１に記載の方法であって、更に、
前記ＤＨＣＰサーバからの前記応答が非肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記ＤＨＣＰサーバからの前記応答が肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスを含む新しいエントリを、前記ローカル検証テーブルの中に生成し、
前記パケットを前記パケットに関連付けられている宛先に伝送する、
ことを備える方法。
適用例１３：適用例１に記載の方法であって、
前記リクエストは、サーバ識別子（ＤＨＣＰサーバＩＤ）オプション又はリクエストＩＰアドレスオプションを伴わずに生成される、方法。
適用例１４：非一時的なコンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品であって、
パケットを端末から受信するためのコンピュータ命令と、前記パケットは、前記端末に関連付けられているソースインターネットプロトコル（ＩＰ）アドレス及びソースメディアアクセス制御（ＭＡＣ）アドレスを含み、
前記端末に関連付けられている一致するエントリが、有効なソースＩＰアドレス及び有効なソースＭＡＣアドレスを格納しているローカル検証テーブルの中で見つかるか否かを決定するためのコンピュータ命令と、
前記端末に関連付けられている前記一致するエントリが、前記ローカル検証テーブルの中で見つからないと決定するためのコンピュータ命令と
前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスに基づいて、リクエストを生成するためのコンピュータ命令と、
前記リクエストを動的ホスト構成プロトコル（ＤＨＣＰ）サーバに伝送するためのコンピュータ命令と、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるかどうかを、前記ＤＨＣＰサーバからの応答に少なくとも部分的に基づいて決定するためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
適用例１５：適用例１４に記載のコンピュータプログラム製品であって、更に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定される場合に、前記パケットを前記パケットに関連付けられている宛先に伝送し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定される場合に、前記パケットを破棄する、
ことを備えるコンピュータプログラム製品。
適用例１６：適用例１４に記載のコンピュータプログラム製品であって、更に、
前記リクエストを前記ＤＨＣＰサーバに伝送する前に、前記パケットをバッファに格納し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定される場合に、前記パケットを前記バッファから取り出して、前記パケットに関連付けられている宛先に伝送し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定される場合に、前記パケットを破棄する、
ことを備えるコンピュータプログラム製品。
適用例１７：適用例１４に記載のコンピュータプログラム製品であって、更に、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから既定の長さの時間内に受信されるか否かを決定するためのコンピュータ命令と、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信されない場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定するためのコンピュータ命令と、
前記ＤＨＣＰサーバからの前記応答が、前記リクエストを前記ＤＨＣＰサーバに伝送してから前記既定の長さの時間内に受信され、前記応答が肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスを含む新しいエントリを、前記ローカル検証テーブルの中に生成し、
前記パケットを前記パケットに関連付けられている宛先に伝送する、
ためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
適用例１８：適用例１４に記載のコンピュータプログラム製品であって、更に、
前記ＤＨＣＰサーバからの前記応答が非肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定し、
前記パケットが前記パケットに関連付けられている宛先に送信されること阻止する、
ためのコンピュータ命令と、
前記ＤＨＣＰサーバからの前記応答が肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定するためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
適用例１９：適用例１４に記載のコンピュータプログラム製品であって、更に、
前記ＤＨＣＰサーバからの前記応答が非肯定を含む場合に、前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが無効であると決定するためのコンピュータ命令と、
前記ＤＨＣＰサーバからの前記応答が肯定を含む場合に、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であると決定し、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスを含む新しいエントリを、前記ローカル検証テーブルの中に生成し、
前記パケットを前記パケットに関連付けられている宛先に伝送する、
ためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
適用例２０：システムであって、
プロセッサであって、
前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されたメモリと、
を備え、
前記命令は、実行時に、前記プロセッサに、
パケットを端末から受信させ、前記パケットは、前記端末に関連付けられているソースインターネットプロトコル（ＩＰ）アドレス及びソースメディアアクセス制御（ＭＡＣ）アドレスを含み、
前記端末に関連付けられている一致するエントリが、有効なソースＩＰアドレス及び有効なソースＭＡＣアドレスを格納しているローカル検証テーブルの中で見つかるか否かを決定させ、
前記端末に関連付けられている前記一致するエントリが、前記ローカル検証テーブルの中で見つからないと決定させ、
前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスに基づいて、リクエストを生成させ、
前記リクエストを動的ホスト構成プロトコル（ＤＨＣＰ）サーバに伝送させ、
前記端末に関連付けられている前記ソースＩＰアドレス及び前記ソースＭＡＣアドレスが有効であるか否かを、前記ＤＨＣＰサーバからの応答に少なくとも部分的に基づいて決定させる、システム。
【図１】
0006553805.tif 000002
【図２】
0006553805.tif 000003
【図３】
0006553805.tif 000004
【図４】
0006553805.tif 000005
【図５】
0006553805.tif 000006
【図６】
0006553805.tif 000007
【図７】
0006553805.tif 000008
【図８】
0006553805.tif 000009
【図９】
0006553805.tif 000010