(57)【要約】【課題】  ＤＨＣＰを用いてＩＰアドレスの動的割当てを行うネットワークにおいて、通信装置によるホワイトリストを用いた特定端末への通信制御を行うこと。【解決手段】  許容された通信規則を含むホワイトリストを自動生成するパケット中継装置１００であって、ＤＨＣＰによるＤＨＣＰサーバ６００とＤＨＣＰクライアント７００間の通信をスヌープし、ＤＨＣＰクライアント７００のＩＰアドレスが変更された際に当該のＤＨＣＰクライアント７００に関連するホワイトリストに含まれるＩＰアドレス情報についても、自動で当該のＤＨＣＰクライアント７００に新しく割り当てられたＩＰアドレス情報へと変更することで、ＤＨＣＰにより動的にＩＰアドレスが変更されるネットワークにおいて、ホワイトリストを用いた通信制御を可能とする。【選択図】図１
2018133692.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
ＭＡＣアドレス、ＩＰアドレス、前記ＩＰアドレスの有効期限を対応して記憶するプロトコル情報テーブルと、
ＭＡＣアドレス、ＩＰアドレスを含むホワイトリストを記憶するホワイトリスト格納メモリと、
処理部と、
を備え、
前記処理部は、
ＩＰアドレスの動的割当てを行うプロトコルによるサーバとクライアント間の通信確立又は通信接続のための通信内容から、クライアントＭＡＣアドレス、クライアントＩＰアドレス、前記クライアントＩＰアドレスのクライアント有効期限を抽出し、
前記クライアントＭＡＣアドレスにより前記プロトコル情報テーブル内のＭＡＣアドレスを検索して、検索された場合、前記クライアントＩＰアドレス及び前記クライアント有効期限により、検索されたエントリのＩＰアドレス及び有効期限を更新し、検索されなかった場合、前記クライアントＭＡＣアドレス、前記クライアントＩＰアドレス、前記クライアント有効期限を含むエントリを新規に作成し、
前記クライアントＭＡＣアドレスにより前記ホワイトリスト格納メモリ内のＭＡＣアドレスを検索して、前記クライアントＩＰアドレスを用いて、検索されたエントリのＩＰアドレスを更新する、
通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記ホワイトリストは、送信元ＩＰアドレス及び宛先ＩＰアドレス、送信元ＭＡＣアドレス及び宛先ＭＡＣアドレス、パケットの転送又は廃棄を制御するための送信元有効無効ビット及び宛先有効無効ビットを含み、
前記処理部は、
前記クライアントＭＡＣアドレスをキーとし前記ホワイトリスト格納メモリを検索し、
前記クライアントＭＡＣアドレスが送信元ＭＡＣアドレスと一致したエントリの送信元ＩＰアドレスを前記クライアントＩＰアドレスへと修正して送信元有効無効ビットを有効とし、前記クライアントＭＡＣアドレスが宛先ＭＡＣアドレスと一致したエントリの宛先ＩＰアドレスを前記クライアントＩＰアドレスへと修正して宛先有効無効ビットを有効とする、
ことを特徴とする通信装置。
【請求項３】
請求項１に記載の通信装置であって、
前記ホワイトリストは、送信元ＩＰアドレス及び宛先ＩＰアドレス、送信元ＭＡＣアドレス及び宛先ＭＡＣアドレス、パケットの転送又は廃棄を制御するための送信元有効無効ビット及び宛先有効無効ビットを含み、
前記処理部は、
ＩＰアドレスの動的割当てを行うプロトコルによるサーバとクライアント間の通信解放又は通信切断のための通信内容から、クライアントＭＡＣアドレスを抽出し、
前記クライアントＭＡＣアドレスにより前記プロトコル情報テーブル内のＭＡＣアドレスを検索して、検索されたエントリを削除し、
前記クライアントＭＡＣアドレスをキーとし前記ホワイトリスト格納メモリを検索し、
前記クライアントＭＡＣアドレスが送信元ＭＡＣアドレスと一致するエントリの送信元有効無効ビットを無効とし、前記クライアントＭＡＣアドレスが宛先ＭＡＣアドレスと一致するエントリの宛先有効無効ビットを無効とする、
ことを特徴とする通信装置。
【請求項４】
請求項３に記載の通信装置であって、
前記処理部は、
前記プロトコル情報テーブル内の有効期限が０になったエントリを削除し、
削除されたエントリのＭＡＣアドレスをキーとし前記ホワイトリスト格納メモリを検索し、
前記削除されたエントリのＭＡＣアドレスが送信元ＭＡＣアドレスと一致するエントリの送信元有効無効ビットを無効とし、前記削除されたエントリのＭＡＣアドレスが宛先ＭＡＣアドレスと一致するエントリの宛先有効無効ビットを無効とする、
ことを特徴とする通信装置。
【請求項５】
請求項２に記載の通信装置であって、
入出力装置からホワイトリストの生成状態から運用状態へと変更する命令を受け付けた場合、
前記処理部は、
前記プロトコル情報テーブルに格納されている各エントリに格納されているＭＡＣアドレス情報及びＩＰアドレス情報を用いて、
前記ＭＡＣアドレス情報をキーとし前記ホワイトリスト格納メモリを検索し、
前記ＭＡＣアドレス情報が送信元ＭＡＣアドレスと一致したエントリの送信元ＩＰアドレスを前記ＩＰアドレス情報へと修正して送信元有効無効ビットを有効とし、前記ＭＡＣアドレス情報が宛先ＭＡＣアドレスと一致したエントリの宛先ＩＰアドレスを前記ＩＰアドレス情報へと修正して宛先有効無効ビットを有効とする、
ことを特徴とする通信装置。
【請求項６】
請求項２に記載の通信装置であって、
入出力装置から追加又は修正するＭＡＣアドレス情報、ＩＰアドレス情報及び有効期限情報が入力された場合、
前記処理部は、
前記ＭＡＣアドレス情報により前記プロトコル情報テーブル内のＭＡＣアドレスを検索して、検索された場合、ＩＰアドレス情報及び有効期限情報により、検索されたエントリのＩＰアドレス及び有効期限を更新し、検索されなかった場合、前記ＭＡＣアドレス情報、前記ＩＰアドレス情報、前記有効期限情報を含むエントリを新規に作成し、
前記ＭＡＣアドレス情報によりが送信元ＭＡＣアドレスと一致したエントリの送信元ＩＰアドレスを前記ＩＰアドレス情報へと修正して送信元有効無効ビットを有効とし、前記ＭＡＣアドレス情報が宛先ＭＡＣアドレスと一致したエントリの宛先ＩＰアドレスを前記ＩＰアドレス情報へと修正して宛先有効無効ビットを有効とする、
ことを特徴とする通信装置。
【請求項７】
請求項３に記載の通信装置であって、
入出力装置から削除するＭＡＣアドレス情報が入力された場合、
前記処理部は、
前記ＭＡＣアドレス情報により前記プロトコル情報テーブル内のＭＡＣアドレスを検索して、検索されたエントリを削除し、
前記ＭＡＣアドレス情報をキーとし前記ホワイトリスト格納メモリを検索し、
前記ＭＡＣアドレス情報が送信元ＭＡＣアドレスと一致するエントリの送信元有効無効ビットを無効とし、前記ＭＡＣアドレス情報が宛先ＭＡＣアドレスと一致するエントリの宛先有効無効ビットを無効とする、
ことを特徴とする通信装置。
【請求項８】
請求項２に記載の通信装置であって、
前記処理部は、運用状態において、前記ホワイトリスト格納メモリを参照し、
前記送信元有効無効ビット及び前記宛先有効無効ビットが有効な場合、受信したパケットを転送し、
前記送信元有効無効ビット又は前記宛先有効無効ビットが無効な場合、受信したパケットを廃棄する、
ことを特徴とする通信装置。
【請求項９】
通信システムであって、
通信装置と、
クライアントにＩＰアドレスの動的割当てを行うサーバと、
を備え、
前記通信装置は、
ＭＡＣアドレス、ＩＰアドレス、前記ＩＰアドレスの有効期限を対応して記憶するプロトコル情報テーブルと、
ＭＡＣアドレス、ＩＰアドレスを含むホワイトリストを記憶するホワイトリスト格納メモリと、
処理部と、
を備え、
前記処理部は、
ＩＰアドレスの動的割当てを行うプロトコルによるサーバとクライアント間の通信確立又は通信接続のための通信内容から、クライアントＭＡＣアドレス、クライアントＩＰアドレス、前記クライアントＩＰアドレスのクライアント有効期限を抽出し、
前記クライアントＭＡＣアドレスにより前記プロトコル情報テーブル内のＭＡＣアドレスを検索して、検索された場合、前記クライアントＩＰアドレス及び前記クライアント有効期限により、検索されたエントリのＩＰアドレス及び有効期限を更新し、検索されなかった場合、前記クライアントＭＡＣアドレス、前記クライアントＩＰアドレス、前記クライアント有効期限を含むエントリを新規に作成し、
前記クライアントＭＡＣアドレスにより前記ホワイトリスト格納メモリ内のＭＡＣアドレスを検索して、前記クライアントＩＰアドレスを用いて、検索されたエントリのＩＰアドレスを更新する、
通信システム。
【請求項１０】
通信装置における通信方法であって、
前記通信装置は、
ＭＡＣアドレス、ＩＰアドレス、前記ＩＰアドレスの有効期限を対応して記憶するプロトコル情報テーブルと、
ＭＡＣアドレス、ＩＰアドレスを含むホワイトリストを記憶するホワイトリスト格納メモリと、
処理部と、
を備え、
前記処理部は、
ＩＰアドレスの動的割当てを行うプロトコルによるサーバとクライアント間の通信確立又は通信接続のための通信内容から、クライアントＭＡＣアドレス、クライアントＩＰアドレス、前記クライアントＩＰアドレスのクライアント有効期限を抽出し、
前記クライアントＭＡＣアドレスにより前記プロトコル情報テーブル内のＭＡＣアドレスを検索して、検索された場合、前記クライアントＩＰアドレス及び前記クライアント有効期限により、検索されたエントリのＩＰアドレス及び有効期限を更新し、検索されなかった場合、前記クライアントＭＡＣアドレス、前記クライアントＩＰアドレス、前記クライアント有効期限を含むエントリを新規に作成し、
前記クライアントＭＡＣアドレスにより前記ホワイトリスト格納メモリ内のＭＡＣアドレスを検索して、前記クライアントＩＰアドレスを用いて、検索されたエントリのＩＰアドレスを更新する、
通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及びシステム及び方法に関する。
【背景技術】
【０００２】
近年、発電所などの重要インフラ内のネットワークに攻撃者が侵入し、システムの制御を奪われることがないような対策が必要である。重要インフラのネットワークにおいては、ファイアウォール装置、及びパーソナルコンピュータ等の端末に搭載されているウィルスソフト等による防御対策は実施されているが、システム制御を奪おうとする攻撃者の侵入を防ぐために、より強力な対策が必要とされる。攻撃者に侵入された際のリスクを軽減する手法として、通信装置によるホワイトリスト機能を利用する方法がある。通信装置によるホワイトリスト機能は、ネットワーク内を流れる正規通信に含まれる正規端末情報をホワイトリスト収容が可能な通信装置に登録し、ホワイトリスト収容が可能な通信装置に登録された正規端末以外からの非正規通信を遮断することでセキュリティレベルを高める機能である。
【０００３】
本技術の背景分野として、特開２０１５−０５０７６７号公報（特許文献１）及び特願２０１５−１６６６７１号公報（特許文献２）及び特願２０１５−２１０４９５号公報（特許文献３）がある。
特許文献１には、「ネットワークスイッチは、許容された通信規則を含むホワイトリストが予め格納され、ホワイトリストを基盤として、複数のスイッチインタフェースを介して入力された１つ以上のパケットを監視し、ホワイトリストに従うパケットに対しては通信を許容するホワイトリスト監視部と、ホワイトリストをアップデートさせてホワイトリスト監視部に送るホワイトリスト管理部とを含む。」と記載されている（要約参照）。
特許文献２には、「第１データ受信部が受信した第１データの制御情報及び第１データの複数種類のヘッダ情報を受信し、優先度情報が示す第１データ受信部が所属する第１データ受信部群の優先度と、ホワイトリスト格納第１メモリが格納することができるホワイトリストのエントリ数を示す収容条件と、に基づいて、第１データの複数種類のヘッダ情報から、パラメータを選択し、第１データの制御情報と、選択した１以上のパラメータと、を含むエントリを、ホワイトリストに追加する。」と記載されている（要約参照）。
特許文献３には、「パケット中継装置は、パケット受信部、パケット転送部、Ｓ／Ｗ制御部、パケット送信部、入出力インタフェースを備え、許容された通信規則を含むホワイトリストを自動生成する。データを受信するデータ受信部毎に、ホワイトリストを用いた通信制御を行うか、ホワイトリストを用いずにデータ通信を実施するかを選択できる。」と記載されている（要約参照）。
【０００４】
一方、ＤＨＣＰを用いたネットワークにおけるセキュリティ技術については、特開２００７−３６３７４号公報（特許文献４）で紹介されている。
特許文献４には「パケット転送装置は、複数のポートとプロトコル処理部と制御部とを有する。クライアント端末からのＤＨＣＰによるＩＰアドレス割当て要求をＤＨＣＰサーバへ転送し、ＩＰアドレス割当ての申請を受信する。その際に、パケット転送装置は、記憶部に該クライアント端末の情報（ＩＰアドレス、ＭＡＣアドレス）を記憶する。また、該クライアント端末によるＡＲＰ解決又はパケット転送装置自身によるＡＲＰ解決によって、ＡＲＰパケットからも記憶部に該クライアント端末の情報（ＩＰアドレス、ＭＡＣアドレス）を記憶する。記憶したＤＨＣＰパケットとＡＲＰパケットのＩＰアドレスが一致すると、ＡＲＰパケットを送信したクライアント端末に対してポートフィルタリングをする。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−０５０７６７号公報
【特許文献２】特願２０１５−１６６６７１号公報
【特許文献３】特願２０１５−２１０４９５号公報
【特許文献４】特開２００７−３６３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の特許文献１〜３が示す通り、ホワイトリストには管理者が事前に設定する場合と通信内容から自動で生成する場合があるが、いずれにしても一度設定、生成されたホワイトリストのパラメータについては変化しない前提である。そのため、例えばＤｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（以後ＤＨＣＰ）を用いて端末のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスが動的に変更していくようなネットワークに対しては適応が難しいことが想定される。
【０００７】
また、特許文献４により、ＤＨＣＰを使用してＩＰアドレスの割当てを行っているネットワークにおいて、不正な端末が接続された際に転送装置のポートを閉塞することで通信を遮断することが出来るが、ホワイトリスト機能のように正規の端末の不審な挙動を捕らえて通信制御を行うことはできない。
【０００８】
本発明は、以上の点に鑑み、動的に端末のＩＰアドレスが変化するネットワークにおいて、ホワイトリスト機能によるセキュリティ向上を実現可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の解決手段によると、
通信装置であって、
ＭＡＣアドレス、ＩＰアドレス、前記ＩＰアドレスの有効期限を対応して記憶するプロトコル情報テーブルと、
ＭＡＣアドレス、ＩＰアドレスを含むホワイトリストを記憶するホワイトリスト格納メモリと、
処理部と、
を備え、
前記処理部は、
ＩＰアドレスの動的割当てを行うプロトコルによるサーバとクライアント間の通信確立又は通信接続のための通信内容から、クライアントＭＡＣアドレス、クライアントＩＰアドレス、前記クライアントＩＰアドレスのクライアント有効期限を抽出し、
前記クライアントＭＡＣアドレスにより前記プロトコル情報テーブル内のＭＡＣアドレスを検索して、検索された場合、前記クライアントＩＰアドレス及び前記クライアント有効期限により、検索されたエントリのＩＰアドレス及び有効期限を更新し、検索されなかった場合、前記クライアントＭＡＣアドレス、前記クライアントＩＰアドレス、前記クライアント有効期限を含むエントリを新規に作成し、
前記クライアントＭＡＣアドレスにより前記ホワイトリスト格納メモリ内のＭＡＣアドレスを検索して、前記クライアントＩＰアドレスを用いて、検索されたエントリのＩＰアドレスを更新する、
通信装置が提供される。
【００１０】
本発明の第２の解決手段によると、
通信システムであって、
通信装置と、
クライアントにＩＰアドレスの動的割当てを行うサーバと、
を備え、
前記通信装置は、
ＭＡＣアドレス、ＩＰアドレス、前記ＩＰアドレスの有効期限を対応して記憶するプロトコル情報テーブルと、
ＭＡＣアドレス、ＩＰアドレスを含むホワイトリストを記憶するホワイトリスト格納メモリと、
処理部と、
を備え、
前記処理部は、
ＩＰアドレスの動的割当てを行うプロトコルによるサーバとクライアント間の通信確立又は通信接続のための通信内容から、クライアントＭＡＣアドレス、クライアントＩＰアドレス、前記クライアントＩＰアドレスのクライアント有効期限を抽出し、
前記クライアントＭＡＣアドレスにより前記プロトコル情報テーブル内のＭＡＣアドレスを検索して、検索された場合、前記クライアントＩＰアドレス及び前記クライアント有効期限により、検索されたエントリのＩＰアドレス及び有効期限を更新し、検索されなかった場合、前記クライアントＭＡＣアドレス、前記クライアントＩＰアドレス、前記クライアント有効期限を含むエントリを新規に作成し、
前記クライアントＭＡＣアドレスにより前記ホワイトリスト格納メモリ内のＭＡＣアドレスを検索して、前記クライアントＩＰアドレスを用いて、検索されたエントリのＩＰアドレスを更新する、
通信システムが提供される。
【００１１】
本発明の第３の解決手段によると、
通信装置における通信方法であって、
前記通信装置は、
ＭＡＣアドレス、ＩＰアドレス、前記ＩＰアドレスの有効期限を対応して記憶するプロトコル情報テーブルと、
ＭＡＣアドレス、ＩＰアドレスを含むホワイトリストを記憶するホワイトリスト格納メモリと、
処理部と、
を備え、
前記処理部は、
ＩＰアドレスの動的割当てを行うプロトコルによるサーバとクライアント間の通信確立又は通信接続のための通信内容から、クライアントＭＡＣアドレス、クライアントＩＰアドレス、前記クライアントＩＰアドレスのクライアント有効期限を抽出し、
前記クライアントＭＡＣアドレスにより前記プロトコル情報テーブル内のＭＡＣアドレスを検索して、検索された場合、前記クライアントＩＰアドレス及び前記クライアント有効期限により、検索されたエントリのＩＰアドレス及び有効期限を更新し、検索されなかった場合、前記クライアントＭＡＣアドレス、前記クライアントＩＰアドレス、前記クライアント有効期限を含むエントリを新規に作成し、
前記クライアントＭＡＣアドレスにより前記ホワイトリスト格納メモリ内のＭＡＣアドレスを検索して、前記クライアントＩＰアドレスを用いて、検索されたエントリのＩＰアドレスを更新する、
通信方法が提供される。
【発明の効果】
【００１２】
本発明によれば、動的に端末のＩＰアドレスが変化するネットワークにおいて、ホワイトリスト機能によるセキュリティ向上を実現可能となる。
【図面の簡単な説明】
【００１３】
【図１】本実施例におけるパケットの中継装置及びパケット中継装置に接続されるＤＨＣＰサーバとＤＨＣＰクライアントの構成例を示すブロック図である。
【図２】本実施例におけるホワイトリスト及びホワイトリスト格納メモリ内情報の一例である。
【図３】本実施例におけるＤＨＣＰ情報テーブルの一例である。
【図４】本実施例における転送設定メモリが保持する設定情報の一例である。
【図５】ＤＨＣＰサーバ６００及びＤＨＣＰクライアント７００間で、ＤＨＣＰを用いた通信を行った際に、パケットを中継するパケット中継装置１００内の動作を示した説明図である。
【図６−１】本実施例において、パケット中継装置のパケット転送部がＤＨＣＰ  ＡＣＫパケットを受信した際の動作を説明するフロー図である。
【図６−２】本実施例において、パケット中継装置のＤＨＣＰ情報変更反映プログラムがパケット転送部からＤＨＣＰ情報を受信し、ＤＨＣＰ情報テーブル内情報の追加、書換えを行う際の動作を説明するフロー図である。
【図６−３】本実施例において、パケット中継装置のＤＨＣＰ情報変更反映プログラムがパケット転送部からＤＨＣＰ情報を受信し、ホワイトリスト格納メモリ内のホワイトリスト情報の書換えを行う際のフロー図である。
【図７−１】本実施例において、パケット中継装置のパケット転送部がＤＨＣＰ  ＲＥＬＥＡＳＥパケットを受信した際の動作を説明するフロー図である。
【図７−２】本実施例において、パケット中継装置のＤＨＣＰ情報変更反映プログラムがパケット転送部からＤＨＣＰ情報を受信し、ＤＨＣＰ情報テーブル内情報の削除を行う際の動作を説明するフロー図である。
【図７−３】本実施例において、パケット中継装置のＤＨＣＰ情報変更反映プログラムがパケット転送部からＤＨＣＰ情報を受信し、ホワイトリスト格納メモリ内のホワイトリスト情報の書換えを行う際のフロー図である。
【図８】本実施例における入出力装置からパケット中継装置へ送信される命令の一例である。
【発明を実施するための形態】
【００１４】
Ａ．概要
本発明及び／又は本実施例によると、例えば、ホワイトリストによる通信制御を可能とし、ＤＨＣＰクライアントとＤＨＣＰサーバとの間でやり取りされるＤＨＣＰによる通信からＤＨＣＰクライアントとなる端末のＩＰアドレス及びＭＡＣアドレスの組合せ及び当該のＩＰアドレスに対する有効期限（以下リースタイマ）を格納するデータベースを保持する通信装置について、通信装置に設定されたホワイトリストを、ＩＰアドレス及びＭＡＣアドレスの組合せ及びリースタイマを格納しているデータベースのとあるエントリが変更された際に、当該のエントリに格納されているＭＡＣアドレスをキーに検索し、ヒットするものがあれば当該のホワイトリストに設定されているＩＰアドレスを、変更されたデータベースの当該のエントリに格納されているＩＰアドレスに修正することで、ＤＨＣＰによるアドレスの動的変更に対応するホワイトリスト機能を提供することができる。
【００１５】
また、本発明及び／又は本実施例によると、例えば、ＤＨＣＰを用いてＩＰアドレスの動的割当てを行うネットワークにおいて、通信装置によるホワイトリストを用いた特定端末への通信制御を、特定端末のＩＰアドレスが動的に変化しても行えるようにすることができる。
【００１６】
Ｂ．通信装置及びシステム
図１は、データの一例であるパケットを中継する、パケット中継装置及びパケット中継装置に接続されるＤＨＣＰサーバとＤＨＣＰクライアントの構成例を示す。パケット中継装置１００は、通信装置の一例である。パケット中継装置１００は、例えば、パケットの中継、ホワイトリストの生成、ＤＨＣＰサーバとＤＨＣＰクライアントの間でやり取りされるＤＨＣＰによる通信からＤＨＣＰ情報テーブルの作成、修正及びＤＨＣＰ情報テーブルの変更に伴うホワイトリストの修正を実行する。ホワイトリストとは、パケット中継装置１００により転送が許可されたパケットの一覧を示す。なお、ＤＨＣＰは、例えば、ＲＦＣ２１３１で規定されているが、これに限られない。
パケット中継装置１００は、例えば、複数のパケット送受信部２００、パケット転送部３００、Ｓ／Ｗ（ＳｏｆｔＷａｒｅ）制御部４００、及び入出力インタフェース５００を含む。
パケット送受信部２００それぞれは、例えば、端末や他のパケット中継装置等の外部装置と、メタルケーブルや光ケーブル等の有線回線又は無線回線で接続され、接続された外部装置からパケットを受信し、受信したパケットを接続された外部装置へと送信する。パケット送受信部２００それぞれは、パケット送受信部２００を一意に識別する送受信部番号を有する。
パケット送受信部２００それぞれは、パケットを受信した際に、当該パケットに当該パケット送受信部２００に対応する制御情報を付加する。制御情報は、例えば、パケット送受信部２００のパケット送受信部番号、及び当該パケット送受信部２００が所属するＶＬＡＮ識別子であるＶＬＡＮ番号を含む。
パケット転送部３００は、例えば、パケット受信部２００からパケットを受信し、Ｓ／Ｗ制御部４００が生成したホワイトリストに従って、受信したパケットの転送、又は廃棄等を行う。Ｓ／Ｗ制御部４００は、例えば、ホワイトリストを生成、ＤＨＣＰサーバとＤＨＣＰクライアントの間でやり取りされるＤＨＣＰによる通信からＤＨＣＰ情報テーブルの作成・変更、及びＤＨＣＰ情報テーブルの変更に伴うホワイトリストの修正を実行する。
入出力インタフェース５００は、入出力装置５１０が接続される。入出力インタフェース５００は、入出力装置５１０を介して、利用者からの入力を受け付ける。また、入出力インタフェース５００は、プログラムの実行結果等を入出力装置５１０に出力する。入出力装置５１０は、例えば、キーボードやマウス等の利用者からの入力を受ける入力装置、及びディスプレイ装置やプリンタ等のパケット中継装置１００の処理結果を利用者が視認可能な形式で出力する出力装置を含む。
尚、図１では入出力装置５１０は、パケット中継装置１００と独立した装置として記載されているが、パケット中継装置１００にディスプレイや操作ボタン等の入出力装置５１０が備え付けられていてもよい。
ＤＨＣＰサーバ６００は、ＤＨＣＰによるクライアントへのＩＰアドレスの割当てを行うためのサーバであり、パケット中継装置１００とパケット送受信部２００によって接続される。
ＤＨＣＰクライアント７００は、ＤＨＣＰによるＩＰアドレスの割当てサービスを受ける端末であり、パケット中継装置１００とパケット送受信部２００によって接続される。
尚、ＤＨＣＰクライアント７００が接続されるパケット送受信部２００は、ＤＨＣＰサーバ６００が接続されるパケット送受信部２００とは、異なる送受信部番号を持つものとする。
【００１７】
パケット転送部３００は、ホワイトリスト格納メモリ３１０と、転送先決定部３２０と、転送テーブルメモリ３３０と、転送設定メモリ３４０と、を含む。
ホワイトリスト格納メモリ３１０は、例えば、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等であり、Ｓ／Ｗ制御部４００が生成したホワイトリストを格納する。
転送テーブルメモリ３３０は、例えば、ＣＡＭやＤＲＡＭ等であり、パケットのヘッダ情報と、パケットの転送先即ちパケット送受信部２００と、の対応を示す情報を格納する。当該情報は管理者等によって作成され、予め転送テーブルメモリ３３０に格納されている。ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ２の通信に用いられるＭａｃ  Ａｄｄｒｅｓｓ  Ｔａｂｌｅや、ＯＳＩ参照モデルのレイヤ３の通信に用いられるＲｏｕｔｉｎｇ  Ｔａｂｌｅは、当該対応を示す情報の一例である。
転送設定メモリ３４０は、例えば、ＤＲＡＭ等であり、後述するパケット中継装置１００のモードや状態、ホワイトリスト登録外パケット受信時の動作等の設定情報を格納する。転送設定メモリ３４０に格納される設定情報は、入出力装置５１０を介して、管理者等により設定される。
【００１８】
転送先決定部３２０は、パケット送受信部２００からパケットを受信し、受信したパケットのヘッダ情報をキーに転送テーブルメモリ３３０内を検索することにより、受信したパケットの転送先を決定する。
また、転送先決定部３２０は、後述するホワイトリスト運用状態中にパケットを受信した場合、ホワイトリスト格納メモリ３１０に格納されたホワイトリストを検索する。転送先決定部３２０は、受信したパケットがホワイトリスト登録外パケットであると判定した場合、当該パケットの廃棄を行う。
転送先決定部３２０は、後述するホワイトリスト生成状態中にパケットを受信すると、受信したパケットから所定のヘッダ情報及び所定の制御情報を抽出し、Ｓ／Ｗ制御部４００へと送信する。転送先決定部３２０は、転送設定メモリ３４０の設定内容に従い、ホワイトリストを利用した通信を実施するか否かなどの判別を行う。また、後述するＤＨＣＰＡＣＫパケット、ＤＨＣＰ  ＲＥＬＥＡＳＥパケットを受信した際には、パケットからＤＨＣＰクライアント７００の情報を抽出し、Ｓ／Ｗ制御部４００へと送信する。
パケット転送部３００は、ホワイトリストの高速検索、パケットのワイヤレートでの通信など、単純で高速な命令を実行するため、通常、ハードウェアで構成されることができる。パケット転送部３００は、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等で構成されてもよい。なお、パケット転送部３００は、ソフトウェアで構成されてもよい。
【００１９】
Ｓ／Ｗ制御部４００は、ＣＰＵ（Ｃｏｎｔｒｏｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４１０と、Ｓ／Ｗメモリ４２０と、を含む。ＣＰＵ４１０は、Ｓ／Ｗメモリ４２０に格納されたプログラムを実行するプロセッサを含む。Ｓ／Ｗメモリ４２０は、不揮発性の記憶素子であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及び揮発性の記憶素子であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含むことができる。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ））などを格納する。ＲＡＭは、ＤＲＡＭのような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
Ｓ／Ｗメモリ４２０は、ホワイトリスト生成プログラム４２１、転送設定プログラム４２２、ＤＨＣＰ情報変更反映プログラム４２３とＤＨＣＰ情報テーブル４２４を含む。
Ｓ／Ｗメモリ４２０に格納されたプログラムはＣＰＵ４１０（プロセッサ）によって実行されることで、定められた処理を記憶装置及び通信ポート（通信デバイス）等を用いながら行う。従って、本実施例及び他の実施例においてプログラムを主語とする説明は、ＣＰＵ４１０（プロセッサ）を主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する計算機及び計算機システムが行う処理である。
ＣＰＵ４１０（プロセッサ）は、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、ＣＰＵ４１０（プロセッサ）は、ホワイトリスト生成プログラム４２１に従って動作することでホワイトリスト生成部として機能し、転送設定プログラム４２２に従って動作することで転送設定部として機能し、ＤＨＣＰ情報変更反映プログラム４２３に従って動作することでＤＨＣＰ情報変更反映部として機能する。ＤＨＣＰ情報テーブル４２４については、ＤＨＣＰ情報変更反映プログラム４２３によって作成・変更を行われる。さらに、ＣＰＵ４１０（プロセッサ）は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。なお、Ｓ／Ｗ制御部４００（特にＣＰＵ４１０）及びパケット転送部３００（特に転送先決定部３２０）を処理部と呼ぶことができる。
【００２０】
ホワイトリスト生成プログラム４２１は、転送先決定部３２０から受信した制御情報及びヘッダ情報から、ホワイトリストを生成し、ホワイトリスト格納メモリ３１０へと書き込む。
転送設定プログラム４２２は、入出力装置６１０から入力された転送設定を転送設定メモリ３４０に書き込む。
ＤＨＣＰ情報変更反映プログラム４２３は、ＤＨＣＰサーバ６００とＤＨＣＰクライアント７００の間でやり取りされるＤＨＣＰによる通信から、ＤＨＣＰサーバ６００によってＤＨＣＰクライアント７００へと割り当てられるＩＰアドレスと、当該のＤＨＣＰクライアント７００のＭＡＣアドレスの組合せ及び当該のＩＰアドレスに対するリースタイマを抽出し、ＤＨＣＰ情報テーブル４２４を当該のＤＨＣＰクライアント７００のＭＡＣアドレスをキーに検索する。ＤＨＣＰ情報テーブル４２４に当該のＤＨＣＰクライアント７００のＭＡＣアドレスに関するエントリがなければ、ＤＨＣＰ情報変更反映プログラム４２３は、ＤＨＣＰ情報テーブル４２４に、新しいエントリを作成し、作成した情報を格納する。ＤＨＣＰ情報テーブル４２４に既に当該のＤＨＣＰクライアント７００のＭＡＣアドレスに対するエントリが存在する場合には、ＤＨＣＰ情報変更反映プログラム４２３は、ＤＨＣＰ情報テーブル４２４を、ＩＰアドレス情報及びリースタイマを抽出した情報へと更新する。
尚、リースタイマについては情報が格納されたタイミングから残り時間に対する減算が行われていき、残り時間が０になったタイミングで後述するエントリの削除処理が実行される。
また、ＤＨＣＰ情報変更反映プログラム４２３は、ＤＨＣＰ情報テーブル４２４の更新後にホワイトリスト格納メモリ３１０内を検索し、当該のＤＨＣＰクライアント７００のＭＡＣアドレスに関連するホワイトリストのエントリを発見した場合、当該のエントリに格納されているＩＰアドレス情報を当該のＤＨＣＰクライアント７００へ割り当てられるＩＰアドレスへと修正する。
【００２１】
図２は、ホワイトリスト格納メモリ３１０に格納されるホワイトリストの一例を示す。図２の例ではホワイトリストはｎ個のエントリを含む。ホワイトリストの各エントリは、複数のパラメータを含む。当該複数のパラメータそれぞれは、パケット送受信部２００から受信したパケットから転送先決定部３２０が抽出した制御情報又はヘッダ情報である。
エントリ８００は、ホワイトリストに含まれるエントリの一例である。エントリ８００は、例えば、それぞれパケットの制御情報を示すパラメータである、パケット受信部番号８０１、及びＶＬＡＮ番号８０２を含む。エントリ８００は、例えば、それぞれパケットのヘッダ情報を示すパラメータである、Ｓｏｕｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ８０３、Ｄｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ８０４、Ｐｒｏｔｏｃｏｌ８０５、Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ８０６、Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ８０７、Ｓｏｕｒｃｅ  ｐｏｒｔ番号８０８、及びＤｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ番号８０９を含む。
【００２２】
パケット送受信部番号８０１は、パケット送受信部２００それぞれを一意に識別する番号である。パケット送受信部番号８０１により、パケットを受信したパケット送受信部２００が特定される。ＶＬＡＮ番号８０２は、パケット送受信部２００が所属するＶＬＡＮを一意に識別する番号である。
Ｓｏｕｒｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ８０３は、パケットの送信元Ｍａｃアドレスを示す。Ｄｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ８０４は、パケットの宛先Ｍａｃアドレスを示す。ｐｒｏｔｏｃｏｌ８０５は、プロトコルの種類を示す。Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ８０６は、パケットの送信元ＩＰアドレスを示す。Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ８０７は、パケットの宛先ＩＰアドレスを示す。Ｓｏｕｒｃｅ  ｐｏｒｔ番号８０８は、パケットの送信元ポート番号を示す。Ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ番号８０９は、パケットの宛先ポート番号を示す。
【００２３】
また、エントリ８００は、転送先決定部３２０がホワイトリストの検索を行う際のパラメータとして使用する一例（パラメータ８０１〜８０９）とは別に、ＤＨＣＰ情報変更反映プログラム４２３がホワイトリスト格納メモリ３１０を検索する際のキーとして、Ｓｏｕｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ８１１、Ｄｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ８１３を含む。Ｓｏｕｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ８１１は、Ｓｏｕｒｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ８０３と同様の情報であり、Ｄｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ８１３はＤｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ８０４と同様の情報である。さらに、ＤＨＣＰ情報変更反映プログラム４２３上から当該のＭＡＣアドレスに関する情報が削除された場合に、当該のＭＡＣアドレスに関するホワイトリストを無効化するためのＶａｌｉｄ  ｂｉｔ８１０及び８１２を持つ。Ｖａｌｉｄ  ｂｉｔ８１０はＳｏｕｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ８１１に対して有効・無効を判別するものであり、Ｖａｌｉｄ  ｂｉｔ８１２はＤｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ８１３に対して有効・無効を判別するものである。
尚、エントリ８００は、図２のパラメータ８０１〜８０９の例に限らず、１種類以上の制御情報を示すパラメータと、Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ８０６及びＤｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ８０７を含む複数種類のヘッダ情報を示すパラメータと、を含めばよい。エントリ８００は、例えば、前述したヘッダ情報を示すパラメータに加えて又は代えて、ＴＯＳ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）、フラグ、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）、ＩＤ、バージョン、及びヘッダ値等のヘッダ情報を含んでもよい。
また、本実施例におけるエントリ８００は、パラメータ８１０〜８１３までの情報は必ず保持するものとする。
【００２４】
図３は、ＤＨＣＰ情報テーブル４２４に格納される情報の一例を示す。図３の例では、ＤＨＣＰ情報テーブル４２４はｍ個のエントリを含む。ＤＨＣＰ情報テーブル４２４の各エントリは複数のパラメータを含む。当該複数のパラメータそれぞれは、ＤＨＣＰサーバ６００からパケット送受信部２００を介して転送先決定部３２０が受信したＤＨＣＰ  ＡＣＫパケットから抽出した情報である。ＤＨＣＰ  ＡＣＫパケットにはＩＰアドレスを割り当てるＤＨＣＰクライアント７００のＭＡＣアドレス、当該のＤＨＣＰクライアント７００に割り当てるＩＰアドレス及び当該のＩＰアドレスに対するリースタイマが含まれる。尚、リースタイマは、ＤＨＣＰサーバ６００がＤＨＣＰ  ＡＣＫパケットを送出する際に、ＤＨＣＰ  ＡＣＫパケットにプリセットする情報である。エントリ９００は、ＤＨＣＰ情報テーブル４２３に含まれるエントリの一例である。Ｍａｃ  Ａｄｄｒｅｓｓ９０１はＤＨＣＰ  ＡＣＫパケットに含まれるＩＰアドレスを割り当てるＤＨＣＰクライアント７００のＭＡＣアドレスである。ＩＰ  Ａｄｄｒｅｓｓ９０２はＤＨＣＰ  ＡＣＫパケットに含まれる当該のＤＨＣＰクライアント７００に割り当てるＩＰアドレスである。リースタイマ９０３は、当該のＩＰアドレスに対する有効期限を格納する。
【００２５】
図４は、転送設定メモリ３４０が保持する転送設定情報の一例を示す。転送設定情報は、例えば、転送設定の種別を示す保持情報５０１、保持情報５０１の状態を示す保持内容５０２、及び保持内容５０２の初期状態を示す初期状態５０３を含む。図４において、保持内容５０２を示す各セルには「／」で区切られた複数の値が記載されているが、実際には当該複数の値のいずれか１つが格納される。初期状態５０３は、対応する保持内容５０２に記載されている複数の値のいずれか１つを格納する。
【００２６】
以下、転送設定情報に従ったパケット中継装置１００の動作の概略の一例を説明する。
転送先決定部３２０はパケットを受信すると、レコード５０４の保持内容５０２が、ホワイトリストの生成を行う生成状態であるか、ホワイトリストによる通信制御を行う運用状態であるかを判定する。
以下、レコード５０４の保持内容５０２が生成状態である場合の動作例を説明する。転送先決定部３２０は、パケット送受信部２００から受信したパケットが、ＤＨＣＰ以外のパケットであった場合、通常のパケット中継装置と同様にパケットの転送を行いながら、受信したパケットの所定のヘッダ情報及び所定の制御情報をホワイトリスト生成プログラム４２１に送信する。ホワイトリスト生成プログラム４２１は、転送先決定部３２０から受信したヘッダ情報及び制御情報（８０１〜８０９）からホワイトリストのパラメータを抽出するとともに、ＤＨＣＰ情報変更反映プログラム４２３がホワイトリスト格納メモリ３１０の検索を行うための制御情報（８１１、８１３）を抽出し、Ｖａｌｉｄ  ｂｉｔ８１０及びＶａｌｉｄ  ｂｉｔ８１２に対し有効状態を書き込むための値を生成する。そして、抽出、生成した情報をホワイトリスト格納メモリ３１０へ書き込む。
尚、転送先決定部３２０が受信したパケットがＤＨＣＰに関連するパケットであった場合については、レコード５０４の保持内容５０２に関わらず同じ動作になるため後述とする。
以下、レコード５０４の保持内容５０２が運用状態である場合の動作例を説明する。転送先決定部３２０は、パケット送受信部２００から受信したパケットが、ＤＨＣＰ以外のパケットであった場合、当該のパケット情報がホワイトリスト格納Ｈ／Ｗメモリ３１０に格納されたホワイトリストに登録済みか、且つ登録済みであった場合に当該のエントリのＶａｌｉｄ  ｂｉｔ８１０及びＶａｌｉｄ  ｂｉｔ８１２が有効か、否かを判定する。当該パケット情報がホワイトリストに登録済みであり、且つ当該のエントリのＶａｌｉｄ  ｂｉｔ８１０及びＶａｌｉｄ  ｂｉｔ８１２が有効な場合、転送先決定部３２０は、受信したパケットに対して、通常のパケット中継装置と同様にパケットの転送を行う。
当該パケット情報がホワイトリストに登録済みでないもしくは登録済みであってもＶａｌｉｄ  ｂｉｔ８１０、Ｖａｌｉｄ  ｂｉｔ８１２のいずれかが無効な場合、転送先決定部３２０は、パケットを廃棄する。
【００２７】
図５は、本実施例において、ＤＨＣＰサーバ６００及びＤＨＣＰクライアント７００間で、ＤＨＣＰを用いた通信を行った際に、パケットを中継するパケット中継装置１００内の動作を示した説明図である。尚、図５のＤＨＣＰ  ＡＣＫパケット受信時及びＤＨＣＰ  ＲＥＬＥＡＳＥ受信時の動作に関しては、詳細をそれぞれ図６−１〜３及び図７−１〜３で別途説明する。
ＤＨＣＰサーバ６００からＳ１でＤＨＣＰ  ＡＣＫパケットが送出され、パケット中継装置１００で受信すると、Ｓ２でパケット転送部３００は、パケットの転送を行うとともに、Ｓ３でＤＨＣＰ  ＡＣＫパケット内に格納されているＤＨＣＰクライアント７００のＭＡＣアドレス、ＤＨＣＰクライアント７００へ割り当てられるＩＰアドレス、リースタイマを抽出し、Ｓ／Ｗ制御部４００へと送信する。ＤＨＣＰ情報を受信したＳ／Ｗ制御部は、Ｓ４でＤＨＣＰ情報テーブルとホワイトリストの更新を行う。
ＤＨＣＰクライアント７００からＳ５でＤＨＣＰ  ＲＥＬＥＡＳＥパケットが送出され、パケット中継装置１００で受信すると、Ｓ６でパケット転送部３００は、パケットの転送を行うとともに、Ｓ７でＤＨＣＰ  ＲＥＬＥＡＳＥパケット内に格納されているＤＨＣＰクライアント７００のＭＡＣアドレスを抽出し、Ｓ／Ｗ制御部４００へと送信する。ＤＨＣＰ情報を受信したＳ／Ｗ制御部は、Ｓ８でＤＨＣＰ情報テーブルとホワイトリストの更新を行う。
ＤＨＣＰサーバ６００からＳ９でＤＨＣＰ  ＡＣＫ以外のＤＨＣＰパケットが送出され、パケット中継装置１００で受信すると、Ｓ１０でパケット転送部３００は、パケットの転送を行う。
ＤＨＣＰクライアント７００からＳ１１でＤＨＣＰ  ＲＥＬＥＡＳＥ以外のＤＨＣＰパケットが送出され、パケット中継装置１００で受信すると、Ｓ１２でパケット転送部３００は、パケットの転送を行う。
上記で説明したとおり、ＤＨＣＰパケットについてはホワイトリストの検索や登録外廃棄の対象外としてパケットの転送を行う。
【００２８】
以下に、ＤＨＣＰ  ＡＣＫパケット受信時の動作について説明する。尚、図６−１〜図６−３については、以下の説明の通り、図６−１、図６−２、図６−３の順番にシーケンシャルに動作が実行されるものとする。
【００２９】
図６−１は、本実施例において、パケット中継装置１００のパケット転送部３００がＤＨＣＰ  ＡＣＫパケットを受信した際の動作を説明するフロー図である。ステップ１００１で、転送先決定部３２０は、ＤＨＣＰ  ＡＣＫパケット内の情報として格納されているＤＨＣＰクライアント７００のＭＡＣアドレス、ＤＨＣＰクライアント７００へ割り当てられるＩＰアドレス、リースタイマを抽出する。その後、転送先決定部３２０は、ステップ１００２で抽出した情報（例えば、ＤＨＣＰ情報）をＤＨＣＰ情報変更反映プログラム４２３へ送信する。
【００３０】
図６−２は、本実施例において、パケット中継装置１００のＤＨＣＰ情報変更反映プログラム４２３がパケット転送部３００からＤＨＣＰ情報を受信し、ＤＨＣＰ情報テーブル４２４内情報の追加、書換えを行う際の動作を説明するフロー図である。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１００３でＤＨＣＰクライアント７００のＭＡＣアドレスをキーとし、ＤＨＣＰ情報テーブル４２４を検索する。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１００４で検索の結果ＨＩＴした場合には、ステップ１００５へと進み、ＤＨＣＰ情報テーブル４２４のＨＩＴしたエントリに対し、ＤＨＣＰクライアント７００へ割り当てられるＩＰアドレス、リースタイマを更新する。
ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１００４でＨＩＴしなかった場合には、当該のＭＡＣアドレスに関する情報がＤＨＣＰ情報テーブル４２４には存在しないということになり、ステップ１００６で新規にＤＨＣＰ情報テーブル４２４にエントリを作成し、パケット転送部３００から送信されてきたＤＨＣＰ情報を当該のエントリに格納する。
【００３１】
図６−３は、本実施例において、パケット中継装置１００のＤＨＣＰ情報変更反映プログラム４２３がパケット転送部３００からＤＨＣＰ情報を受信し、ホワイトリスト格納メモリ内３１０のホワイトリスト情報の書換えを行う際のフロー図である。
ステップ１００７でＤＨＣＰ情報変更反映プログラム４２３は、ＤＨＣＰクライアント７００のＭＡＣアドレスをキーとし、ホワイトリスト格納メモリ３１０内のＳｏｕｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ８１１フィールドの値と一致するものがあるかを検索する。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１００８で検索したエントリに対しＨＩＴした場合には、ステップ１００９へと進み、当該のエントリに対し、Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ８０６フィールドの値をＤＨＣＰクライアント７００へ割り当てられるＩＰアドレスの値に書き換え、Ｖａｌｉｄ  ｂｉｔ８１０フィールドに有効を示す値を格納し、ステップ１０１０へと進む。ステップ１００８でＨＩＴしなかった場合にも、ステップ１０１０へと進む。ステップ１０１０では、ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１００８で検索したエントリがホワイトリスト格納メモリ内３１０の最終エントリであるか否かを判別する。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１０１０で最終エントリでなかった場合には、ステップ１０１１へと移行し、ホワイトリスト格納メモリ内３１０内の次のエントリについて検索を進め、ステップ１００８へと戻る。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１０１０で最終エントリであった場合には、ホワイトリスト格納メモリ３１０内の全てのエントリに対し検索を終えたことになり、ステップ１０１２へと移行する。
ステップ１０１２でＤＨＣＰ情報変更反映プログラム４２３は、ＤＨＣＰクライアント７００のＭＡＣアドレスをキーとし、ホワイトリスト格納メモリ３１０内のＤｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ８１３フィールドの値と一致するものがあるかを検索する。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１０１３で検索したエントリに対しＨＩＴした場合には、ステップ１０１４へと進み、当該のエントリに対し、Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ８０７フィールドの値をＤＨＣＰクライアント７００へ割り当てられるＩＰアドレスの値に書き換え、Ｖａｌｉｄ  ｂｉｔ８１２フィールドに有効を示す値を格納し、ステップ１０１５へと進む。ステップ１０１３でＨＩＴしなかった場合にも、ステップ１０１５へと進む。ステップ１０１５では、ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１０１３で検索したエントリがホワイトリスト格納メモリ内３１０の最終エントリであるか否かを判別する。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１０１５で最終エントリでなかった場合には、ステップ１０１６へと移行し、ホワイトリスト格納メモリ内３１０内の次のエントリについて検索を進め、ステップ１０１３へと戻る。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１０１５で最終エントリであった場合には、ホワイトリスト格納メモリ３１０内の全てのエントリに対し検索を終えたことになり、修正処理を終える。
ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１００９及びステップ１０１４を繰り返し行うことで、ＤＨＣＰクライアント７００のＩＰアドレスが変更された場合に、ホワイトリストとして登録されているＩＰアドレス情報も追随可能となる。前述の動作により、動的にＩＰアドレスが変化するネットワークに対しても、ホワイトリストの適用が可能となる。
【００３２】
以下に、ＤＨＣＰ  ＲＥＬＥＡＳＥパケット受信時の動作について説明する。尚、図７−１〜図７−３については、以下の説明の通り、図７−１、図７−２、図７−３の順番にシーケンシャルに動作が実行されるものとする。
図７−１は、本実施例において、パケット中継装置１００のパケット転送部３００がＤＨＣＰ  ＲＥＬＥＡＳＥパケットを受信した際の動作を説明するフロー図である。ステップ１１０１で転送先決定部３２０はＤＨＣＰ  ＲＥＬＥＡＳＥパケット内の情報として格納されているＤＨＣＰクライアント７００のＭＡＣアドレスを抽出する。その後、転送先決定部３２０は、ステップ１１０２で抽出した情報（例えば、ＤＨＣＰ情報）をＤＨＣＰ情報変更反映プログラム４２３へ送信する。
【００３３】
図７−２は、本実施例において、パケット中継装置１００のＤＨＣＰ情報変更反映プログラム４２３がパケット転送部３００からＤＨＣＰ情報を受信し、ＤＨＣＰ情報テーブル内情報の削除を行う際の動作を説明するフロー図である。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１０３でＤＨＣＰクライアント７００のＭＡＣアドレスをキーとし、ＤＨＣＰ情報テーブル４２４を検索する。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１０４で検索の結果ＨＩＴした場合には、ステップ１１０５へと進み、ＤＨＣＰ情報テーブル４２４のＨＩＴしたエントリに対し、エントリの削除を実施し、ステップ１１０６へと移行する。
ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１０４でＨＩＴしなかった場合には、当該のＭＡＣアドレスに関する情報がＤＨＣＰ情報テーブル４２４には存在しないということになり、削除処理を実施せず終了する。
【００３４】
図７−３は、本実施例において、パケット中継装置１００のＤＨＣＰ情報変更反映プログラム４２３がパケット転送部３００からＤＨＣＰ情報を受信し、ホワイトリスト格納メモリ３１０内のホワイトリスト情報の書換えを行う際のフロー図である。ステップ１１０６でＤＨＣＰ情報変更反映プログラム４２３は、ＤＨＣＰクライアント７００のＭＡＣアドレスをキーとし、ホワイトリスト格納メモリ３１０内のＳｏｕｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ８１１フィールドの値と一致するものがあるかを検索する。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１０７で検索したエントリに対しＨＩＴした場合には、ステップ１１０８へと進み、当該のエントリに対し、Ｖａｌｉｄ  ｂｉｔ８１０フィールドに無効を示す値を格納し、ステップ１１０９へと進む。ステップ１１０７でＨＩＴしなかった場合にも、ステップ１１０９へと進む。ステップ１１０９では、ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１０７で検索したエントリがホワイトリスト格納メモリ内３１０の最終エントリであるか否かを判別する。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１０９で最終エントリでなかった場合には、ステップ１１１０へと移行し、ホワイトリスト格納メモリ内３１０内の次のエントリについて検索を進め、ステップ１１０７へと戻る。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１０９で最終エントリであった場合には、ホワイトリスト格納メモリ３１０内の全てのエントリに対し検索を終えたことになり、ステップ１１１１へと移行する。
ステップ１１１１でＤＨＣＰ情報変更反映プログラム４２３は、ＤＨＣＰクライアント７００のＭＡＣアドレスをキーとし、ホワイトリスト格納メモリ３１０内のＤｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ８１３フィールドの値と一致するものがあるかを検索する。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１１２で検索したエントリに対しＨＩＴした場合には、ステップ１１１３へと進み、当該のエントリに対し、Ｖａｌｉｄ  ｂｉｔ８１２フィールドに無効を示す値を格納し、ステップ１１１４へと進む。ステップ１１１２でＨＩＴしなかった場合にも、ステップ１１１４へと進む。ステップ１１１４では、ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１１２で検索したエントリがホワイトリスト格納メモリ内３１０の最終エントリであるか否かを判別する。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１１４で最終エントリでなかった場合には、ステップ１１１５へと移行し、ホワイトリスト格納メモリ内３１０内の次のエントリについて検索を進め、ステップ１１１２へと戻る。ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１１４で最終エントリであった場合には、ホワイトリスト格納メモリ３１０内の全てのエントリに対し検索を終えたことになり、修正処理を終える。
ＤＨＣＰ情報変更反映プログラム４２３は、ステップ１１０８及びステップ１１１３を繰り返し行うことで、ＤＨＣＰクライアント７００のＩＰアドレスがリリースされた場合に、当該のＤＨＣＰクライアント７００のＭＡＣアドレスに関連するホワイトリストを無効化し、ホワイトリストの状態を最新に保つことが可能となる。
【００３５】
尚、ＤＨＣＰ情報変更反映プログラム４２３は、ＤＨＣＰ情報テーブル４２４を常時監視しており、ＤＨＣＰ情報テーブル４２４内の各エントリについて、リースタイマが０になった際にも、ステップ１１０５以降の動作を当該のエントリに格納されているＭＡＣアドレス情報を用いて、実行する。
また、転送先決定部３２０がパケット送受信部２００から受信したパケットがＤＨＣＰパケットであり、且つ前述したＤＨＣＰ  ＡＣＫ及びＤＨＣＰ  ＲＥＬＥＡＳＥパケット以外の種別であった場合には、ホワイトリスト格納メモリ内３１０内の検索を行うことなく、通常のパケット中継装置の中継動作を実施する。
【００３６】
図８は、転送設定プログラム４２２が入出力装置５１０から入力を受け付ける転送設定に関する命令の一例を示す。転送設定に関する命令は、例えば、命令の種別を示す命令種別１２０１、命令種別１２０１が示す命令による設定内容を示す設定内容１２０２、及び設定内容１２０２の初期状態を示す初期状態１２０３を含む。
レコード１２０４が示す命令は、レコード５０４が示す転送設定を変更する命令である。レコード１２０４の命令種別１２０１、設定内容１２０２、及び初期状態１２０３は、レコード５０４の保持情報５０１、保持内容５０２、及び初期状態５０３に対応する。
尚、入出力装置５１０から転送設定プログラム４２２がホワイトリストの生成状態から運用状態へと変更する命令を受け付けた場合には、転送設定プログラム４２２からＤＨＣＰ情報変更反映プログラム４２３へと命令を受け付けた旨の連絡を出し、連絡を受けたＤＨＣＰ情報変更反映プログラム４２３は、ＤＨＣＰ情報テーブル４２４に格納されている全てのエントリに対し、各エントリに格納されているＭＡＣアドレス情報及びＩＰアドレス情報を用いて、図６−３のステップ１００７以降を繰り返し実行する。前述の動作を実施することにより、ホワイトリスト生成状態中に、転送先決定部３２０からパケット情報を受け取ったホワイトリスト生成プログラム４２１がホワイトリスト情報を生成し、当該のホワイトリスト情報をホワイトリスト格納メモリ３１０へ書き込みを終えるまでの間に、ＤＨＣＰにより当該のパケット情報内に格納されているＭＡＣアドレスに対するＩＰアドレスが変更されてしまった場合の行き違いを修正することができる。
【００３７】
また、前述した転送設定プログラム４２２が入出力装置５１０から入力を受け付ける転送設定に関する命令については、一例であり、例えばＤＨＣＰ情報テーブル４２４について、追加、修正、削除などができるようにしてもよい。ＤＨＣＰ情報テーブル４２４の追加及び修正については、入出力装置５１０から追加、修正したいＭＡＣアドレス、ＩＰアドレス及びリースタイマを入力し、命令を受け付けた転送設定プログラム４２２からＤＨＣＰ情報変更反映プログラム４２３へと前述の入力情報を送信し、前述の入力情報を受信したＤＨＣＰ情報変更反映プログラム４２３で、図６−２のステップ１００３から、前述の入力情報に基づき処理を実施する。削除の場合は、入出力装置５１０から削除したいＭＡＣアドレスを入力し、命令を受け付けた転送設定プログラム４２２からＤＨＣＰ情報変更反映プログラム４２３へと前述の入力情報を送信し、前述の入力情報を受信したＤＨＣＰ情報変更反映プログラム４２３で、図７−２のステップ１１０３から命令により与えられた情報に基づき処理を実施する。
【００３８】
Ｃ．付記
なお、以上では、ＤＨＣＰを用いる場合を例に説明したが、ＤＨＣＰでは、例えば、サーバがクライアントからアドレス配布要求を受け、サーバからクライアントに対しＩＰアドレスの動的割当てをすることができる。本発明及び／又は本実施例は、ＤＨＣＰに限らず、ＩＰアドレスの動的割当てを行う様々なプロトコルを用いることができる。
【００３９】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００４０】
１００  パケット中継装置、２００  パケット送受信部、３００  パケット転送部、３１０  ホワイトリスト格納メモリ、３２０  転送先決定部、３３０  転送テーブルメモリ、３４０  転送設定メモリ、４００  Ｓ／Ｗ制御部、４１０  ＣＰＵ、４２０  Ｓ／Ｗメモリ、４２１  ホワイトリスト生成プログラム、４２２  転送設定プログラム、４２３  ＤＨＣＰ情報変更判定プログラム、  ４２４  ＤＨＣＰ情報テーブル、５００  入出力インタフェース、５１０  入出力装置、６００  ＤＨＣＰサーバ、７００  ＤＨＣＰクライアント
【図１】
2018133692.tif 000003
【図２】
2018133692.tif 000004
【図３】
2018133692.tif 000005
【図４】
2018133692.tif 000006
【図５】
2018133692.tif 000007
【図６−１】
2018133692.tif 000008
【図６−２】
2018133692.tif 000009
【図６−３】
2018133692.tif 000010
【図７−１】
2018133692.tif 000011
【図７−２】
2018133692.tif 000012
【図７−３】
2018133692.tif 000013
【図８】
2018133692.tif 000014