(57)【特許請求の範囲】
【請求項１】
複数のネットワークに接続されたネットワーク機器であって、
パケットの属性を判定する判定条件と、この判定条件に合致したパケットに対して実行する動作を指定する動作指定情報とを含むフィルタリングルールを、その実行に際して優先順位の高いものから順に記憶するルール記憶部と、
ネットワーク機器を介してセッションが確立した時のセッション情報を、該セッション情報に対応するフィルタリングルールの識別番号と関連付けて記憶するセッション記憶部と、
前記ルール記憶部に記憶されたフィルタリングルールが更新されると、前記セッション記憶部に記憶されたセッション情報に対して、前記ルール記憶部に記憶された複数のフィルタリングルールが対応するか否か評価する評価手段と、
前記評価手段の評価結果に基づいて、前記セッション記憶部に記憶されたセッション情報とフィルタリングルールの識別番号との関連付けを更新する更新手段と、を備え、
前記評価手段は、更新されたフィルタリングルール、または、該更新されたフィルタリングルールより優先順位が低いフィルタリングルールの識別番号に関連付けられたセッション情報に対して評価するネットワーク機器。
【請求項２】
前記評価手段は、前記ルール記憶部にフィルタリングルールが追加されると、追加されたフィルタリングルールより優先順位が低いフィルタリングルールの識別番号に関連付けられたセッション情報に対して、追加されたフィルタリングルールが対応するか否か評価し、
前記更新手段は、追加されたフィルタリングルールが対応するセッション情報を、追加されたフィルタリングルールの識別番号と関連付けるように更新する請求項１に記載のネットワーク機器。
【請求項３】
前記評価手段は、前記ルール記憶部からフィルタリングルールが削除されると、削除されたフィルタリングルールの識別番号に関連付けられたセッション情報に対して、削除されたフィルタリングルールより優先順位の低いフィルタリングルールが対応するか否か評価し、
前記更新手段は、削除されたフィルタリングルールの識別番号に関連付けられたセッション情報を、削除後に残るフィルタリングルールの内で対応する最も優先順位が高いフィルタリングルールの識別番号に関連付けるように更新する請求項１に記載のネットワーク機器。
【請求項４】
前記評価手段は、前記ルール記憶部のフィルタリングルールが変更されると、変更前のフィルタリングルールの識別番号に関連付けられたセッション情報に対して、変更後のフィルタリングルール及び変更後のフィルタリングルールより優先順位の低いフィルタリングルールが対応するか否か評価し、
前記更新手段は、変更前のフィルタリングルールの識別番号に対応付けられたセッション情報を、変更後に存在するフィルタリングルールの内で対応する最も優先順位が高いフィルタリングルールの識別番号に関連付けるように更新する請求項１に記載のネットワーク機器。
【請求項５】
前記評価手段は、前記ルール記憶部のフィルタリングルールの順序を入れ替えると、入れ替えたフィルタリングルールの識別番号に関連付けられたセッション情報に対して、入れ替えたフィルタリングルールより優先順位の低い、且つ、入れ替え後に入れ替えたフィルタリングルールより優先順位の高いフィルタリングルールが対応するか否か評価し、
前記更新手段は、入れ替えたフィルタリングルールの識別番号に関連付けられたセッション情報を、入れ替え後のフィルタリングルールの内で対応する最も優先順位が高いフィルタリングルールの識別番号に関連付けるように更新する請求項１に記載のネットワーク機器。
【請求項６】
前記評価手段は、前記ルール記憶部を切り替えると、切り替え前のフィルタリングルールに関連付けられたセッション情報に対して、切り替え後のフィルタリングルールから、切り替え前に対応するフィルタリングルールより優先度が高いフィルタリングルールを除いて、対応するか否かを評価し、
前記更新手段は、該セッション情報を、該当する最も優先順位が高いフィルタリングルールの識別番号に関連付けるように更新する請求項１のネットワーク機器。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、送受信するパケットを選別するパケットフィルタリング機能を備えたネットワーク機器に関する。
【背景技術】
【０００２】
ルータ等のネットワーク機器に搭載される一般的なファイヤーウォール機能は、送受信するパケットが通過属性を有するパケットであるかを選別し、該通過属性を有するパケットのみを通過させ、通過属性を有しないパケットは破棄するというパケットフィルタリング機能を有している。このパケットフィルタリング機能は、パケットを選別するためのルールであるフィルタリングルールを複数用いる場合が多い。このフィルタイリングルールに基づいて、パケットが通過することで、セッションが確立する（特許文献１参照。）。
【０００３】
セッションが切断すると、通信状態を維持できないので、セッションを維持したまま各種ネットワーク接続のための処理を行いたい。例えば、特許文献１では、セッションを維持したままネットワーク機器等を切り替える方法について記載されている。
【特許文献１】特開２００４−２７４５５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ネットワーク機器が記憶するフィルタリングルールが更新されると、確立しているセッションは切断され、更新後のフィルタリングルールに基づいて新たにセッションが確立される。つまり、フィルタリングルールが更新されると、その時点の通信状態を維持し続けられない。
【０００５】
そこで、フィルタリングルールを更新しても、確立しているセッションを維持することができるネットワーク機器を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１の発明は、複数のネットワークに接続されたネットワーク機器であって、パケットの属性を判定する判定条件と、この判定条件に合致したパケットに対して実行する動作を指定する動作指定情報とを含むフィルタリングルールを、その実行に際して優先順位の高いものから順に記憶するルール記憶部と、ネットワーク機器を介してセッションが確立した時のセッション情報を、該セッション情報に対応するフィルタリングルールの識別番号と関連付けて記憶するセッション記憶部と、前記ルール記憶部に記憶されたフィルタリングルールが更新されると、前記セッション記憶部に記憶されたセッション情報に対して、前記ルール記憶部に記憶された複数のフィルタリングルールが対応するか否か評価する評価手段と、前記評価手段の評価結果に基づいて、前記セッション記憶部に記憶されたセッション情報とフィルタリングルールの識別番号との関連付けを更新する更新手段と、を備え、前記評価手段は、更新されたフィルタリングルール、または、該更新されたフィルタリングルールより優先順位が低いフィルタリングルールの識別番号に関連付けられたセッション情報に対して評価することを特徴とする。
【０００７】
この構成では、ネットワーク機器は、ルータ等のファイヤーウォール機能を備え、ネットワーク間を通過するパケットに対して通過の可否を判定するフィルタリングルールと、セッションが確立した時のセッション情報と、を記憶する。このセッション情報は、対応するフィルタリングルールの識別番号と関連付けて記憶される。ネットワーク機器は、フィルタリングルールが更新されると、更新されたフィルタリングルールより優先順位が低いフィルタリングルールの識別番号に関連付けられたセッション情報に対して、フィルタリングルールと対応するか否か評価する。これにより、ネットワーク機器は、フィルタリングルールが更新されると、セッション情報を更新後のフィルタリングルールに対応するか否か評価し、評価結果に基づいて、セッション情報とフィルタリングルールの識別番号を関連付けて記憶する。このため、変更後のフィルタリングルールの下でも維持されるべきセッションについては、確立したセッションのセッション情報を維持したままで、フィルタリングルールを更新することができる。
【０００８】
請求項２の発明は、前記評価手段は、前記ルール記憶部にフィルタリングルールが追加されると、追加されたフィルタリングルールより優先順位が低いフィルタリングルールの識別番号に関連付けられたセッション情報に対して、追加されたフィルタリングルールが対応するか否か評価し、前記更新手段は、追加されたフィルタリングルールが対応するセッション情報を、追加されたフィルタリングルールの識別番号と関連付けるように更新することを特徴とする。
【０００９】
この構成では、フィルタリングルールの追加時、ネットワーク機器は、追加されたフィルタリングルールより優先順位が低いフィルタリングルールに関連付けられたセッション情報に対して、追加されたフィルタリングルールと対応するか否か評価する。ネットワーク機器は、追加されたフィルタリングルールに対応するセッション情報を、追加されたフィルタリングルールと関連付ける。これにより、ネットワーク機器は、追加されたフィルタリングルールの影響を受けるセッション情報のみに対して評価を行う。このため、ネットワーク機器は、変更後のフィルタリングルールの下でも維持されるべきセッションについては、セッション情報を維持したままフィルタリングルールを更新することができる。
【００１０】
請求項３の発明は、前記評価手段は、前記ルール記憶部からフィルタリングルールが削除されると、削除されたフィルタリングルールの識別番号に関連付けられたセッション情報に対して、削除されたフィルタリングルールより優先順位の低いフィルタリングルールが対応するか否か評価し、前記更新手段は、削除されたフィルタリングルールの識別番号に関連付けられたセッション情報を、削除後に残るフィルタリングルールの内で対応する最も優先順位が高いフィルタリングルールの識別番号に関連付けるように更新することを特徴とする。
【００１１】
この構成では、フィルタリングルールの削除時、ネットワーク機器は、削除されたフィルタリングルールに関連付けられたセッション情報に対して、削除されたフィルタリングルールより優先順位が低いフィルタリングルールと対応するか否か評価する。ネットワーク機器は、削除されたフィルタリングルールに関連付けられたセッション情報を、対応するフィルタリングルールの中で最も優先順位が高いフィルタリングルールと関連付ける。これにより、ネットワーク機器は、削除されたフィルタリングルールの影響を受けるセッション情報のみに対して評価を行う。このため、ネットワーク機器は、変更後のフィルタリングルールの下でも維持されるべきセッションについては、セッション情報を維持したままフィルタリングルールを更新することができる。
【００１２】
請求項４の発明は、前記評価手段は、前記ルール記憶部のフィルタリングルールが変更されると、変更前のフィルタリングルールの識別番号に関連付けられたセッション情報に対して、変更後のフィルタリングルール及び変更後のフィルタリングルールより優先順位の低いフィルタリングルールが対応するか否か評価し、前記更新手段は、変更前のフィルタリングルールの識別番号に対応付けられたセッション情報を、変更後に存在するフィルタリングルールの内で対応する最も優先順位が高いフィルタリングルールの識別番号に関連付けるように更新することを特徴とする。
【００１３】
この構成では、フィルタリングルールの変更時、ネットワーク機器は、変更されたフィルタリングルールに関連付けられたセッション情報に対して、変更されたフィルタリングルール又は変更されたフィルタリングルールより優先順位が低いフィルタリングルールに対応するか否か評価する。ネットワーク機器は、変更されたフィルタリングルールに関連付けられたセッション情報を、変更されたフィルタリングルールを含む対応するフィルタリングルールの中で最も優先順位が高いフィルタリングルールと関連付ける。これにより、ネットワーク機器は、変更されたフィルタリングルールの影響を受けるセッション情報のみに対して評価を行う。このため、ネットワーク機器は、変更後のフィルタリングルールの下でも維持されるべきセッションについては、セッション情報を維持したままフィルタリングルールを更新することができる。
【００１４】
請求項５の発明は、前記評価手段は、前記ルール記憶部のフィルタリングルールの順序を入れ替えると、入れ替えたフィルタリングルールの識別番号に関連付けられたセッション情報に対して、入れ替えたフィルタリングルールより優先順位の低い、且つ、入れ替え後に入れ替えたフィルタリングルールより優先順位の高いフィルタリングルールが対応するか否か評価し、前記更新手段は、入れ替えたフィルタリングルールの識別番号に関連付けられたセッション情報を、入れ替え後のフィルタリングルールの内で対応する最も優先順位が高いフィルタリングルールの識別番号に関連付けるように更新することを特徴とする。
【００１５】
この構成では、フィルタリングルールの順序入れ替え時、ネットワーク機器は、入れ替えたフィルタリングルールに関連付けられたセッション情報に対して、入れ替えたフィルタリングルールより優先順位が低く、且つ、入れ替え後、順序を入れ替えたフィルタリングルールより優先順位が高くなるフィルタリングルールと対応するか否か評価する。ネットワーク機器は、入れ替えたフィルタリングルールに関連付けられたセッション情報を、入れ替えが行われた新たな優先順位において対応するフィルタリングルールの中で最も優先順位が高いフィルタリングルールと関連付ける。これにより、ネットワーク機器は、順序入れ替えされたフィルタリングルールの影響を受けるセッション情報のみに対して評価を行う。このため、ネットワーク機器は、変更後のフィルタリングルールの下でも維持されるべきセッションについては、セッション情報を維持したままフィルタリングルールを更新することができる。
【００１６】
請求項６の発明は、前記評価手段は、前記ルール記憶部を切り替えると、切り替え前のフィルタリングルールに関連付けられたセッション情報に対して、切り替え後のフィルタリングルールから、切り替え前に対応するフィルタリングルールより優先度が高いフィルタリングルールを除いて、対応するか否かを評価し、前記更新手段は、該セッション情報を、該当する最も優先順位が高いフィルタリングルールの識別番号に関連付けるように更新することを特徴とする。
【００１７】
この構成では、ルール記憶部（フィルタリングテーブル）の切り替え時、ネットワーク機器は、切り替え前のフィルタリングルールに関連付けられたセッション情報に対して、切り替え後のフィルタリングルールに対応するか否かを評価する。この際、切り替え前のセッション情報に対応するフィルタリングルールより優先順位が高いフィルタリングルールが、切り替え後のフィルタリングルールに存在する場合は、そのフィルタリングルールを除いて評価する。これにより、ネットワーク機器は、フィルタリングテーブルの切り替えに影響を受けるセッション情報のみに対して評価を行う。このため、変更後のフィルタリングルールの下でも維持されるべきセッションについては、ネットワーク機器は、セッション情報を維持したままフィルタリングルールを更新することができる。
【発明の効果】
【００１８】
本発明によれば、ネットワーク機器は、フィルタリングルールが更新されると、更新されたフィルタリングルールの影響を受ける範囲で、セッション情報がどのフィルタリングルールに対応するか否かの評価を行う。これにより、ネットワーク機器は、確立したセッションのセッション情報を維持したままで、フィルタリングルールを更新することができる。
【発明を実施するための最良の形態】
【００１９】
図１は、ネットワーク機器を介してＬＡＮとＷＡＮが接続された環境を示す図である。ＬＡＮに設置されたクライアント装置２（例えば、ＰＣや携帯電話等）は、ネットワーク機器１を介すことで、ネットワーク３（ＷＡＮ）に接続される。ネットワーク機器１は、ＬＡＮ側に設置されたクライアント装置２に対して、ＷＡＮ側からデータの取得依頼が来ると、クライアント装置２からデータの転送を許可するか否かを判断する。また、ネットワーク機器１は、ＷＡＮ側に設定された通信装置４（４ａ，４ｂ）（例えば、ルータを介してネットワークに接続されたＰＣや携帯電話等）に対して、ＬＡＮ側からデータの取得依頼を行うと、ＷＡＮ側に設置された通信装置４へデータの取得依頼を行うか否かを判断する。この判断は、ネットワーク機器１が記憶するフィルタリングルール（以下、ルールと称す。）に基づいて行われる。
【００２０】
データの取得依頼やデータの転送がルールに基づいて行われると、ＬＡＮ側からＷＡＮ側へのパケット又はＷＡＮ側からＬＡＮ側へのパケットが通過するタイミングで、セッションが確立される。確立したセッションのセッション情報がネットワーク機器に記憶される。このセッションが確立すると、同一装置間（例えば、クライアント装置２と通信装置４ａ間）の同一サービスの通信は、ルールに基づいて判断せずに、セッション情報を参照することで、次のパケットを通過させることができる。例えば、クライアント装置２から通信装置４にポート番号８０（ＷＷＷサービス）でアクセスしてセッションが確立すると、このセッションが確立している間は、クライアント装置２から通信装置４にポート番号８０でアクセスすることができる。
【００２１】
このセッション情報は、ルールに基づいて生成されるため、ルールが更新されると、セッション情報も更新される。この際、ネットワーク機器１は、更新後のルールに基づいて、セッション情報を評価する。セッション情報を評価することで、セッション情報には、ルールの更新内容が反映される。これにより、ネットワーク機器１は、ルールの更新に影響が無いセッション情報をそのまま維持することができる。また、ネットワーク機器１は、ルールの更新に影響を受けるセッション情報であっても、更新後のフィルタリングルールと対応すればそのまま維持することができる。
【００２２】
なお、本実施形態では、ＬＡＮ側に１台のクライアント装置２とＷＡＮ側に２台の通信装置４を設置した。しかしながら、これに限らず、ＬＡＮ側にクライアント装置、ＷＡＮ側に通信装置が設置されていればよい。
【００２３】
次に、ネットワーク機器１の機能構成について説明する。図２は、ネットワーク機器のブロック図である。このネットワーク機器１は、例えば、ルータ装置やファイヤーウォール装置である。
【００２４】
ネットワーク機器１は、２つのネットワークを接続する装置であるが、一方のネットワークから他方のネットワークへパケットを転送するとき、そのパケットの転送を許可するか否かを判定し、許可したもののみ通過させ、その他のパケットを破棄するパケットフィルタリングを実行する。
【００２５】
ネットワーク機器１は、４つのＬＡＮ側ポート１４及び１つのＷＡＮ側ポート１６を備える。ＷＡＮ側ポート１６は、インターネットサービスを提供するＩＳＰ等に接続される。ＷＡＮ側ポート１６は、ＰＨＹチップ１５を介してＣＰＵ１０に接続される。
【００２６】
４つのＬＡＮ側ポート１４には、それぞれＰＣ等のクライアント装置２が接続される。これらＬＡＮ側ポート１４は、レイヤ２スイッチチップ１３に接続されている。レイヤ２スイッチチップ１３は、ＬＡＮ側ポート１４に接続される複数のクライアント装置２間の通信を制御する。また、このレイヤ２スイッチチップ１３には前記ＣＰＵ１０も接続されている。ＣＰＵ１０は、ＷＡＮ側ポート１６とＬＡＮ側ポート１４との通信を制御する。
【００２７】
ＣＰＵ１０には、フラッシュメモリ１１及びＲＡＭ１２が接続される。フラッシュメモリ１１は、図３に示すようなパケットフィルタリングテーブルを記憶する。また、ＲＡＭ１２は、図４に示すようなセッション情報テーブルを記憶し、ＬＡＮ側ポート１４及びＷＡＮ側ポート１６から入力されたパケットを、転送または破棄の処理が決定するまでバッファする。
【００２８】
ＬＡＮ側ポート１４またはＷＡＮ側ポート１６からパケットが入力されると、このパケットをＲＡＭ１２にバッファするとともに、このパケットに図３のパケットフィルタリングテーブルの各ルールを適用して処理（通過／破棄）を決定する。通過と決定したパケットについては相手側のポート（ＷＡＮ側ポート１６又はＬＡＮ側ポート１４）にこれを転送する。破棄と決定したパケットについてはＲＡＭ１２からこれを消去する。
【００２９】
なお、本実施形態では、ＷＡＮ−ＬＡＮ間の通信を制御する制御部としてＣＰＵ１０を用いているが、ネットワークプロセッサという専用ＬＳＩを用いてもよい。
【００３０】
また、本実施形態では、ネットワーク機器１は、４つのＬＡＮ側ポート１４及び１つのＷＡＮ側ポート１６を備える。しかしながら、これに限らず、少なくとも１つのＬＡＮ側ポート１４と少なくとも１つのＷＡＮ側ポート１６を備えればよい。
【００３１】
次に、ネットワーク機器１がフラッシュメモリ１１に記憶するパケットフィルタリングテーブルとＲＡＭ１２に記憶するセッション情報テーブルについて説明する。図３は、パケットフィルタリングテーブルの例を示す図である。図４は、セッション情報テーブルの例を示す図である。
【００３２】
まず、図３を参照して、パケットフィルタリングテーブルについて説明する。パケットフィルタリングテーブルに登録されたルールは、「入力Ｉ／Ｆ」、「出力Ｉ／Ｆ」、「始点アドレス（ｓｏｕｒｃｅ  ａｄｄｒｅｓｓ）」、「終点アドレス（ｄｅｓｔｉｎａｔｉｏｎ  ａｄｄｒｅｓｓ）」、「プロトコル（ｐｒｏｔｏｃｏｌ）」、「始点ポート（ｓｏｕｒｃｅ  ｐｏｒｔ）」、「終点ポート（ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ）」の属性を判定条件として用いている。そして、対応したパケットの動作指定情報として、そのパケットを通過させる「通過」又は破棄する「破棄」の２種類のうちいずれかが規定される。
【００３３】
図３に示すパケットフィルタリングテーブルにおいて、
ルール１は、「入力Ｉ／Ｆ＝ＬＡＮ」、「出力Ｉ／Ｆ＝ＷＡＮ」、「始点アドレス＝１９２．１６８．０．０／２４」、「終点アドレス＝ＺＺ．ＺＺ．ＺＺ．０／２４」、「プロトコル＝ｔｃｐ」、「始点ポート＝＊（不問）」、「終点ポート＝８０」の判定条件と、「動作＝破棄」の内容を規定している。
【００３４】
ルール２は、「入力Ｉ／Ｆ＝ＬＡＮ」、「出力Ｉ／Ｆ＝ＷＡＮ」、「始点アドレス＝１９２．１６８．０．０／２４」、「終点アドレス＝＊」、「プロトコル＝ｔｃｐ」、「始点ポート＝＊」、「終点ポート＝８０」の判定条件と、「動作＝通過」の内容を規定している。
【００３５】
ルール３は、「入力Ｉ／Ｆ＝ＷＡＮ」、「出力Ｉ／Ｆ＝ＬＡＮ」、「始点アドレス＝＊」、「終点アドレス＝１９２．１６８．０．０／２４」、「プロトコル＝ｔｃｐ」、「始点ポート＝８０」、「終点ポート＝＊」の判定条件と、「動作＝通過」の内容を規定している。
【００３６】
ルール４は、「入力Ｉ／Ｆ＝ＷＡＮ」、「出力Ｉ／Ｆ＝ＬＡＮ」、「始点アドレス＝ＡＡ．ＡＡ．ＡＡ．０／２４」、「終点アドレス＝１９２．１６８．０．０／２４」、「プロトコル＝ｔｃｐ」、「始点ポート＝２３」、「終点ポート＝＊」の判定条件と、「動作＝通過」の内容を規定している。
【００３７】
ルール５は、「入力Ｉ／Ｆ＝ＷＡＮ」、「出力Ｉ／Ｆ＝ＬＡＮ」、「始点アドレス＝ＢＢ．ＢＢ．ＢＢ．０／２４」、「終点アドレス＝１９２．１６８．０．０／２４」、「プロトコル＝ｔｃｐ」、「始点ポート＝２３」、「終点ポート＝＊」の判定条件と、「動作＝通過」の内容を規定している。
【００３８】
ルール６は、「入力Ｉ／Ｆ＝ＬＡＮ」、「出力Ｉ／Ｆ＝ＷＡＮ」、「始点アドレス＝＊」、「終点アドレス＝＊」、「プロトコル＝＊」、「始点ポート＝＊」、「終点ポート＝＊」の判定条件と、「動作＝破棄」の内容を規定している。
【００３９】
ルール７は、「入力Ｉ／Ｆ＝ＷＡＮ」、「出力Ｉ／Ｆ＝ＬＡＮ」、「始点アドレス＝＊」、「終点アドレス＝＊」、「プロトコル＝＊」、「始点ポート＝＊」、「終点ポート＝＊」の判定条件と、「動作＝破棄」の内容を規定している。
【００４０】
ルータ装置１のＣＰＵ１０は、入力されたパケットにこれらルールをルール１から順に
適用し、判定条件に合致した場合には、そのルールの動作指定情報に規定された動作を実
行する。すなわち、あるルールに対応した場合には、そのルールに規定する動作が実行さ
れ、それ以後のルールは適用されない。ここで、動作の「通過」とは、入力されたパケッ
トを相手側ポート（出力インタフェース）に転送する動作である。なお、図３に示すパケットフィルタリングテーブルの各ルールは、ＧＵＩで更新することができる。このルールの更新時に発生するセッション情報の評価処理の流れについては、後述して説明する。
【００４１】
また、ネットワーク機器１のＣＰＵ１０は、動作の「通過」に合致したパケットについて、セッションを確立する。確立したセッションは、後述するセッション情報テーブルに登録される。このセッション情報テーブルに登録されたセッションは、一定期間が経過すると自動的に破棄される。これにより、セッション情報テーブルには、パケットの入出力が行われているセッション情報のみが登録される。
【００４２】
次に、図４を参照して、セッション情報テーブルについて説明する。セッション情報テーブルに登録されたセッション情報は、「入力Ｉ／Ｆ」、「出力Ｉ／Ｆ」、「始点アドレス（ｓｏｕｒｃｅ  ａｄｄｒｅｓｓ）」、「終点アドレス（ｄｅｓｔｉｎａｔｉｏｎ  ａｄｄｒｅｓｓ）」、「プロトコル（ｐｒｏｔｏｃｏｌ）」、「始点ポート（ｓｏｕｒｃｅ  ｐｏｒｔ）」、「終点ポート（ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ）」から構成され、「パケットフィルタのＩＤ（特許請求の範囲の「フィルタリングルールの識別番号」に該当する。）」と関連付けられる。
【００４３】
図４に示すセッション情報テーブルにおいて、
セッション１０１のセッション情報は、「入力Ｉ／Ｆ＝ＬＡＮ」、「出力Ｉ／Ｆ＝ＷＡＮ」、「始点アドレス＝１９２．１６８．０．３」、「終点アドレス＝ＺＺ．ＺＺ．１．ＺＺ」、「プロトコル＝ｔｃｐ」、「始点ポート＝５０００１」、「終点ポート＝８０」である。図３に示すパケットフィルタリングテーブルの優先順位が最も高いルール１から順に、セッション１０１のセッション情報が対応するか否が判断されているので、セッション１０１のセッション情報は、ルール２と対応し、「パケットフィルタのＩＤ＝２」と関連付けられる。
【００４４】
セッション１０２のセッション情報は、「入力Ｉ／Ｆ＝ＷＡＮ」、「出力Ｉ／Ｆ＝ＬＡＮ」、「始点アドレス＝ＡＡ．ＡＡ．ＡＡ．１」、「終点アドレス＝１９２．１６８．０．３」、「プロトコル＝ｔｃｐ」、「始点ポート＝２３」、「終点ポート＝５６７８９」である。同様に、セッション１０２のセッション情報は、ルール４と対応するので、「パケットフィルタのＩＤ＝４」と関連付けられる。
【００４５】
セッション１０３のセッション情報は、「入力Ｉ／Ｆ＝ＷＡＮ」、「出力Ｉ／Ｆ＝ＬＡＮ」、「始点アドレス＝ＢＢ．ＢＢ．ＢＢ．１」、「終点アドレス＝１９２．１６８．０．３」、「プロトコル＝ｔｃｐ」、「始点ポート＝２３」、「終点ポート＝５１２３４」である。同様に、セッション１０３のセッション情報は、ルール５と対応するので、「パケットフィルタのＩＤ＝５」と関連付けられる。
【００４６】
セッション１０４のセッション情報は、「入力Ｉ／Ｆ＝ＷＡＮ」、「出力Ｉ／Ｆ＝ＬＡＮ」、「始点アドレス＝ＡＡ．ＡＡ．ＡＡ．１」、「終点アドレス＝１９２．１６８．０．３」、「プロトコル＝ｔｃｐ」、「始点ポート＝８０」、「終点ポート＝５９９９９」である。同様に、セッション１０４のセッション情報は、ルール３と対応するので、「パケットフィルタのＩＤ＝３」と関連付けられる。
【００４７】
次に、パケットフィルタリングテーブルに登録されたルールの更新時に発生するセッション情報の評価処理について、図５〜図１１を参照して説明する。図５は、図３に示すパケットフィルタリングルールから一部のルールを抜粋した例を示す図である。図５（Ａ）は、「入力Ｉ／Ｆ＝ＷＡＮ」、「出力Ｉ／Ｆ＝ＬＡＮ」に該当するルールを示す図である。図５（Ｂ）は、図５（Ａ）に、ルール９を追加した例を示す。図５（Ｃ）は、図５（Ｂ）のルール５を変更した例を示す。図５（Ｄ）は、図５（Ｂ）のルール３の順序を変更した例を示す。図６は、図４に示すセッション情報から一部のセッションを抜粋した例を示す図である。図６（Ａ）は、「入力Ｉ／Ｆ＝ＷＡＮ」、「出力Ｉ／Ｆ＝ＬＡＮ」に該当するセッションを示す図である。図６（Ｂ）は、図６（Ａ）のセッション１０２のパケットフィルタのＩＤを変更した例を示す。図６（Ｃ）は、図６（Ａ）のセッション１０４のパケットフィルタのＩＤを変更した例を示す。図７は、ルールの追加時に発生するセッション情報の評価処理の流れを示すフローチャートである。図８は、ルールの削除時に発生するセッション情報の評価処理の流れを示すフローチャートである。図９は、ルールの変更時に発生するセッション情報の評価処理の流れを示すフローチャートである。図１０は、ルールの順序入れ替え時に発生するセッション情報の評価処理の流れを示すフローチャートである。図１１は、パケットフィルタリングテーブルの切り替え時に発生するセッション情報の評価処理の流れを示すフローチャートである。
【００４８】
ネットワーク機器１は、パケットフィルタリングテーブルにルールの追加、削除、変更、順序入れ替えが発生すると、追加時のセッション情報の評価処理、削除時のセッション情報の評価処理、変更時のセッション情報の評価処理、順序入れ替え時のセッション情報の評価処理を行う。また、ネットワーク機器１は、パケットフィルタリングテーブルの切り替えが生じると、切り替え時のセッション情報の評価処理を行う。なお、複数処理（例えば、追加と削除等）が行われた場合は、ネットワーク機器１は、それぞれの評価処理（追加時のセッション情報の評価処理、削除時のセッション情報の評価処理）を行ってもよいし、切り替え時のセッション情報の評価処理を行ってもよい。以下に、セッション情報の評価処理の流れについて説明する。
【００４９】
１）ルールの追加時に発生するセッション情報の評価処理の流れについて
説明の簡単化のため、図５（Ａ）に示すルールに、ルール９が追加され、図５（Ｂ）に示すルールに更新された場合を例にあげて説明する。この際、ネットワーク機器１は、図６（Ａ）に示すセッション情報テーブルを記憶しているものとする。
【００５０】
図７に示すように、ルール９が追加されると、追加されたルール９に対して、優先順位が低い側の次のルールが存在するか否かを調べる（Ｓ１０１）。ルールが存在しない場合は（Ｓ１０１：Ｎｏ）、処理を終了する。つまり、セッション情報テーブルの更新は行われない。
【００５１】
図５（Ｂ）の例では、追加されたルール９に対して、優先順位が低い側の次のルール（ルール４）が存在するので（Ｓ１０１：Ｙｅｓ）、ルール４に関連付けられたセッション情報が存在するか否かを調べる（Ｓ１０２）。セッション情報が存在しない場合は（Ｓ１０２：Ｎｏ）、ステップＳ１０８へ進む。
【００５２】
ルール４に関連付けられたセッション情報（セッション１０２）が存在するので（Ｓ１０２：Ｙｅｓ）、追加されたルール９にセッション１０２が対応するか否かを調べる（Ｓ１０３）。追加されたルール９にセッション１０２が対応しない場合は（Ｓ１０３：Ｎｏ）、ステップＳ１０７へ進む。
【００５３】
追加されたルール９にセッション１０２が対応するので（Ｓ１０３：Ｙｅｓ）、追加したルール９の「動作」が「通過」に設定されているかどうか調べる（Ｓ１０４）。「通過」に設定されているので（Ｓ１０４：Ｙｅｓ）、セッション１０２の「パケットフィルタのＩＤ」を４から９に変更して（Ｓ１０５）、ステップＳ１０７へ進む。ここで、「破棄」に設定されている場合は（Ｓ１０４：Ｎｏ）、セッション１０２のセッション情報を削除して（Ｓ１０６）、ステップＳ１０７へ進む。
【００５４】
ステップＳ１０７にて、ルール４に関連付けられた他のセッション情報が存在するか否かを調べる。他のセッション情報は存在しないので（Ｓ１０７：Ｎｏ）、ルール４に対して、優先順位が低い側の次のルール（ルール５）を参照して（Ｓ１０８）、ステップＳ１０２〜Ｓ１０８の処理を行う。また、他のセッション情報が存在した場合は（Ｓ１０７：Ｙｅｓ）、ステップＳ１０３〜Ｓ１０７の処理を行う。
【００５５】
ステップＳ１０８にて、現在参照しているルールに対して、優先順位が低い側の次のルールが存在するか否かを調べる（Ｓ１０８）。ルールが存在する場合は（Ｓ１０８：Ｙｅｓ）、ステップＳ１０２〜Ｓ１０８の処理を行う。また、ルールが存在しない場合は（Ｓ１０８：Ｎｏ）、処理を終了する。
【００５６】
以上で、セッション情報テーブルの更新が完了する。なお、本説明の場合であればルール９が追加されると、セッション情報テーブルは、図６（Ｂ）に示すテーブルとなる。
【００５７】
以上のように、ルール追加時に発生するセッション情報の評価処理では、追加したルールの後方（優先順位が低い側）のルールに関連付けられたセッション情報が追加したルールに対応するか否かを調べ、追加したルールに対応する場合は、対応するセッション情報を追加したルールと関連付ける。これにより、セッション情報テーブルに登録された全てのセッション情報に対して、どのルールと対応するのかを調べる必要がない。このため、セッション情報テーブルに登録されたセッション情報の更新をセッションを切断することなく短時間で行うことができる。
【００５８】
２）ルールの削除時に発生するセッション情報の評価処理の流れについて
説明の簡単化のため、図５（Ｂ）に示すルールから、ルール９が削除され、図５（Ａ）に示すルールに更新された場合を例にあげて説明する。この際、ネットワーク機器１は、図６（Ｂ）に示すセッション情報テーブルを記憶しているものとする。
【００５９】
図８に示すように、ルール９が削除されると、削除したルール９に関連付けられたセッション情報が存在するか否かを調べる（Ｓ１１１）。セッション情報が存在しない場合は（Ｓ１１１：Ｎｏ）、処理を終了する。つまり、セッション情報テーブルの更新は行われない。
【００６０】
削除したルール９に関連付けられたセッション情報（セッション１０２）が存在する場合は（Ｓ１１０：Ｙｅｓ）、削除したルール９に対して、優先順位が低い側の次のルールが存在するか否かを調べる（Ｓ１１２）。ルールが存在しない場合は（Ｓ１１２：Ｎｏ）、ステップＳ１１７へ進む。
【００６１】
削除したルール９に対して、優先順位が低い側の次のルール（ルール４）が存在するので（Ｓ１１２：Ｙｅｓ）、セッション１０２がルール４に対応するか否かを調べる（Ｓ１１３）。セッション１０２がルール４に対応するので（Ｓ１１３：Ｙｅｓ）、ルール４の「動作」が「通過」に設定されているかどうか調べる（Ｓ１１５）。「通過」に設定されているので（Ｓ１１５：Ｙｅｓ）、セッション１０２の「パケットフィルタのＩＤ」を９から４に変更して（Ｓ１１６）、ステップＳ１１８へ進む。ここで、「破棄」に設定されている場合は（Ｓ１１５：Ｎｏ）、セッション１０２のセッション情報を削除して（Ｓ１１７）、ステップＳ１１８へ進む。
【００６２】
また、セッション１０２がルール４に対応しない場合は（Ｓ１１３：Ｎｏ）、ルール４に対して、優先順位が低い側の次のルールが存在するか否かを調べる（Ｓ１１４）。次のルールが存在しない場合は（Ｓ１１４：Ｎｏ）、セッション１０２を削除して（Ｓ１１７）、ステップＳ１１８へ進む。また、次のルールが存在する場合は（Ｓ１１４：Ｙｅｓ）、ステップＳ１１３へ進む。
【００６３】
ステップＳ１１８にて、削除したルール９に他のセッション情報が対応付けられているか調べる。他のセッション情報が対応付けられている場合は（Ｓ１１８：Ｙｅｓ）、ステップＳ１１２〜Ｓ１１８の処理を行う。他のセッション情報が対応付けられていない場合は（Ｓ１１８：Ｎｏ）、処理を終了する。
【００６４】
以上で、セッション情報テーブルの更新が完了する。なお、ルール９が削除されルール４に対応すると、セッション情報テーブルは、図６（Ａ）に示すテーブルとなる。
【００６５】
以上のように、ルールの削除時に発生するセッション情報の評価処理では、削除したルールに関連付けられたセッション情報が、削除したルールの後方の優先順位が低い側のどのルールに対応するか否かを調べ、対応するルールが存在する場合は、対応するルールに関連付ける。これにより、セッション情報テーブルに登録された全てのセッション情報に対して、どのルールと対応するのかを調べる必要がない。このため、セッション情報テーブルに登録されたセッション情報の更新をセッションを切断することなく短時間で行うことができる。
【００６６】
３）ルールの変更時に発生するセッション情報の評価処理の流れについて
説明の簡単化のため、図５（Ｂ）に示すルールから、ルール５の「始点アドレス」が変更され、図５（Ｃ）に示すルールに更新された場合を例にあげて説明する。この際、ネットワーク機器１は、図６（Ｂ）に示すセッション情報テーブルを記憶しているものとする。
【００６７】
図９に示すように、ルール５が変更されると、変更前のルール５に関連付けられたセッション情報が存在するか否かを調べる（Ｓ１２１）。セッション情報が存在しない場合は（Ｓ１２１：Ｎｏ）、ステップＳ１３２へ進む。
【００６８】
変更前のルール５に関連付けられたセッション情報（セッション１０３）が存在するので（Ｓ１２１：Ｙｅｓ）、セッション１０３が変更後のルール５に対応するか否かを調べる（Ｓ１２２）。対応するので（Ｓ１２２：Ｙｅｓ）、変更後のルール５の「動作」が「通過」に設定されているかどうか調べる（Ｓ１２９）。「通過」に設定されているので（Ｓ１２９：Ｙｅｓ）、ステップＳ１３１へ進む。ここで、「破棄」に設定されている場合は（Ｓ１２９：Ｎｏ）、セッション１０３のセッション情報を削除して（Ｓ１３０）、ステップＳ１３１へ進む。
【００６９】
ステップＳ１３１にて、変更前のルール５に関連付けられた他のセッション情報が存在するか否かを調べる。他のセッション情報が存在する場合は（Ｓ１３１：Ｙｅｓ）、ステップＳ１２２〜Ｓ１３１の処理を行う。他のセッション情報が存在しないので（Ｓ１３１：Ｎｏ）、ステップＳ１３２へ進む。
【００７０】
ステップＳ１３２にて、変更前のルール５に対して、優先順位が低い側の次のルールが存在する否かを調べる。ルールが存在しない場合は（Ｓ１３２：Ｎｏ）、処理を終了する。
【００７１】
変更前のルール５に対して、優先順位が低い側の次のルール（ルール７）が存在するので（Ｓ１３２：Ｙｅｓ）、ルール７に関連付けられたセッション情報が存在するか否かを調べる（Ｓ１３３）。セッション情報が存在しないので（Ｓ１３３：Ｎｏ）、ステップＳ１３９へ進む。
【００７２】
また、ルール７に関連付けられたセッション情報が存在する場合は（Ｓ１３３：Ｙｅｓ）、ルール７に関連付けられたセッションｔが変更後のルール５に対応するか否かを調べる（Ｓ１３４）。対応しない場合は（Ｓ１３４：Ｎｏ）、ステップＳ１３８へ進む。対応する場合は（Ｓ１３４：Ｙｅｓ）、変更後のルール５の「動作」が「通過」に設定されているかどうか調べる（Ｓ１３５）。「通過」に設定されている場合は（Ｓ１３５：Ｙｅｓ）、セッションの「パケットフィルタのＩＤ」を５に変更して（Ｓ１３６）、ステップＳ１３８へ進む。ここで、「破棄」に設定されている場合は（Ｓ１３５：Ｎｏ）、セッションｔのセッション情報を削除して（Ｓ１３７）、ステップＳ１３８へ進む。
【００７３】
ステップＳ１３８にて、ルール７に関連付けられた他のセッション情報が存在するか否かを調べる。存在する場合は（Ｓ１３８：Ｙｓｅ）、ステップＳ１３４〜Ｓ１３８の処理を行う。存在しない場合は（Ｓ１３８：Ｎｏ）、Ｓ１３９へ進む。
【００７４】
ステップＳ１３９にて、ルール７に対して、優先順位が低い側の次のルールが存在するか否かを調べる（Ｓ１３９）。存在する場合は（Ｓ１３９：Ｙｅｓ）、ステップＳ１３３〜Ｓ１３９の処理を行う。存在しない場合は（Ｓ１３９：Ｎｏ）、処理を終了する。
【００７５】
以上で、セッション情報テーブルの更新が完了する。なお、本説明の場合であれば、ルール５が変更されると、セッション情報テーブルは、図６（Ｂ）に示すテーブルとなる。
【００７６】
また、ステップＳ１２２にて、セッション１０３が変更後のルール５に対応しない場合は（Ｓ１２２：Ｎｏ）、変更後のルール５に対して、優先順位が低い側の次のルールが存在するか否かを調べる（Ｓ１２３）。ルールが存在しない場合は（Ｓ１２３：Ｎｏ）、セッション１０３のセッション情報を削除して（Ｓ１３０）、ステップＳ１３１へ進む。また、変更後のルール５に対して、優先順位が低い側の次のルール（ルール７）が存在する場合は（Ｓ１２３：Ｙｅｓ）、セッション１０３がルール７に対応しているか否かを調べる（Ｓ１２４）。セッション１０３がルール７に対応していない場合は（Ｓ１２４：Ｎｏ）、ルール７に対して、優先順位が低い側の次のルールが存在するか否かを調べ（Ｓ１２５）、存在する場合は（Ｓ１２５：Ｙｅｓ）、ステップＳ１２４へ進む。存在しない場合は（Ｓ１２５：Ｎｏ）、セッション１０３のセッション情報を削除して（Ｓ１２８）、ステップＳ１３１へ進む。
【００７７】
セッション１０３がルール７に対応している場合は（Ｓ１２４：Ｙｅｓ）、ルール７の「動作」が「通過」に設定されているかどうか調べる（Ｓ１２６）。「通過」に設定されている場合は（Ｓ１２６：Ｙｅｓ）、セッション１０３の「パケットフィルタのＩＤ」を５から７に変更して（Ｓ１２７）、ステップＳ１３１へ進む。「破棄」に設定されている場合は（Ｓ１２６：Ｎｏ）、セッション１０３のセッション情報を削除して（Ｓ１２８）、ステップＳ１３１へ進む。
【００７８】
以上のように、ルールの更新時に発生するセッション情報の評価処理では、更新したルールに関連付けられたセッション情報が、更新したルール以降のどのルールに対応するか否かを調べ、対応するルールが存在する場合は、対応するルールに関連付ける。また、更新したルールの後方に存在したルールに関連付けられたセッション情報が、更新したルールに対応するか否かを調べ、対応する場合は、更新したルールに関連付ける。これにより、セッション情報テーブルに登録された全てのセッション情報に対して、どのルールと対応するのかを調べる必要がない。このため、セッション情報テーブルに登録されたセッション情報の更新をセッションを切断することなく短時間で行うことができる。
【００７９】
４）ルールの順序入れ替え時に発生するセッション情報の評価処理の流れについて
説明の簡単化のため、図５（Ｂ）に示すルールから、ルールの順序を入れ替えて、図５（Ｄ）に示すルールに更新された場合を例にあげて説明する。この際、ネットワーク機器１は、図６（Ｂ）に示すセッション情報テーブルを記憶しているものとする。
【００８０】
図１０に示すように、順序入れ替え前の１つ目のルール（ルール３）を参照し（Ｓ１４１）、ルール３の順序が入れ替わっているかどうか調べる（Ｓ１４２）。ルール３の順序が入れ替わっていない場合は（Ｓ１４２：Ｎｏ）、ステップＳ１５２へ進む。
【００８１】
ルール３の順序が入れ替わっているので（Ｓ１４２：Ｙｅｓ）、順序入れ替え前のルール３に関連付けられたセッション情報が存在するか否かを調べる（Ｓ１４３）。セッション情報が存在しない場合は（Ｓ１４３：Ｎｏ）、ステップＳ１５２へ進む。
【００８２】
順序入れ替え前のルール３に関連付けられたセッション情報（セッション１０４）が存在するので（Ｓ１４３：Ｙｅｓ）、順序入れ替え前のルール３に対して、優先順位が低い側の次のルールが存在するか否かを調べる（Ｓ１４４）。ルールが存在しない場合は（Ｓ１４４：Ｎｏ）、ステップＳ１５２へ進む。
【００８３】
順序入れ替え前のルール３に対して、優先順位が低い側の次のルール（ルール９）が存在するので（Ｓ１４４：Ｙｅｓ）、ルール９が順序入れ替え後のルール３に対して、優先順位が高い側に存在するか否かを調べる（Ｓ１４５）。存在しない場合は（Ｓ１４５：Ｎｏ）、ステップＳ１４７へ進む。
【００８４】
ルール９が順序入れ替え後のルール３に対して、優先順位が高い側に存在するので（Ｓ１４５：Ｙｅｓ）、セッション１０４がルール９に対応するか否かを調べる（Ｓ１４６）。対応しない場合は（Ｓ１４６：Ｎｏ）、ステップＳ１４７へ進む。
【００８５】
ステップＳ１４７にて、ルール９に対して、優先順位が低い側の次のルールが存在するか否かを調べる。存在する場合（Ｓ１４７：Ｙｅｓ）、ステップＳ１４５へ進む。存在しない場合は（Ｓ１４７：Ｎｏ）、ステップＳ１５１へ進む。
【００８６】
セッション１０４がルール９に対応する場合は（Ｓ１４６：Ｙｅｓ）、ルール９の「動作」が「通過」に設定されているかどうか調べる（Ｓ１４８）。「通過」に設定されている場合は（Ｓ１４８：Ｙｅｓ）、セッション１０４の「パケットフィルタのＩＤ」を３から９に変更して（Ｓ１４９）、ステップＳ１５１へ進む。ここで、「破棄」に設定されている場合は（Ｓ１４８：Ｎｏ）、セッション１０４のセッション情報を削除して（Ｓ１５０）、ステップＳ１５１へ進む。
【００８７】
ステップＳ１５１にて、順序入れ替え前のルール３に関連付けられた他のセッション情報が存在するか否かを調べる。存在しない場合は（Ｓ１５１：Ｎｏ）、ステップＳ１５２へ進む。他のセッション情報が存在する場合（Ｓ１５１：Ｙｅｓ）、ステップＳ１４４〜Ｓ１５１の処理を行う。
【００８８】
ステップＳ１５２にて、ルール３に対して、優先順位が低い側の次のルールが存在するか否かを調べる。次のルール（ルール９）が存在する場合は（Ｓ１５２：Ｙｅｓ）、ルール９についてＳ１４２〜Ｓ１５２の処理を行う。以上のように、パケットフィルタリングルールに登録されたルールが存在する間は、ステップＳ１４２〜Ｓ１５２の処理を繰り返し実行する。また、次のルールが存在しない場合は（Ｓ１５２：Ｎｏ）、処理を終了する。
【００８９】
以上で、セッション情報テーブルの更新が完了する。なお、本説明の場合であれば、ルールの順序が入れ替わると、セッション情報テーブルは、図６（Ｃ）に示すテーブルとなる。
【００９０】
以上のように、ルールの順序入れ替え時に発生するセッション情報の評価処理では、全ルールに対して、順序の入れ替えが生じたか否かを調べる。そして、順序の入れ替えが生じたルールに関連付けられたセッション情報に対して、順序の入れ替えが生じたルールより後方のルールで且つ入れ替え後に順序の入れ替えが生じたルールより前方になるルールに対応するか否かを調べ、対応するルールが存在する場合は、対応するルールに関連付ける。これにより、セッション情報テーブルに登録された全てのセッション情報に対して、どのルールと対応するのかを調べる必要がない。このため、セッション情報テーブルに登録されたセッション情報の更新をセッションを切断することなく短時間で行うことができる。
【００９１】
５）パケットフィルタリングテーブルの切り替え時に発生するセッション情報の評価処理の流れについて
説明の簡単化のため、図５（Ａ）に示すルールから、図５（Ｃ）に示すルールに切り替えた場合を例にあげて説明する。この際、ネットワーク機器１は、図６（Ａ）に示すセッション情報テーブルを記憶しているものとする。
【００９２】
図１１に示すように、切替前のパケットフィルタリングテーブルにおいて、１つ目のルールｍ（ルール３）を参照し（Ｓ１６１）、ルール３に関連付けられたセッション情報が存在するか否かを調べる（Ｓ１６２）。存在しない場合は（Ｓ１６２：Ｎｏ）、ステップＳ１７２へ進む。
【００９３】
ルール３に関連付けられたセッション情報（セッション１０４）が存在するので（Ｓ１６２：Ｙｅｓ）、切替後のパケットフィルタリングテーブルにおいて、１つ目のルールｎ（ルール３）を参照する（Ｓ１６３）。切替前のルールｍ（ルール３）と切替後のルールｎ（ルール３）とが同じルールか否かを調べる（Ｓ１６４）。切替前後で、ルールが同じなので（Ｓ１６４：Ｙｅｓ）、ステップＳ１７２へ進む。
【００９４】
ステップＳ１７２にて、切替前のルールｍ（ルール３）に対して、優先順位が低い側の次のルールが存在するか否かを調べ、次のルール（ルール４）が存在するので（Ｓ１７２：Ｙｅｓ）、ルール４に関連付けられたセッション情報が存在するか否かを調べる（Ｓ１６２）。
【００９５】
ルール４に関連付けられたセッション情報（セッション１０２）が存在するので（Ｓ１６２：Ｙｅｓ）、切替後のパケットフィルタリングテーブルにおいて、１つ目のルールｎ（ルール３）を参照する（Ｓ１６３）。切替前のルールｍ（ルール４）と切替後のルールｎ（ルール３）とが同じルールか否かを調べる（Ｓ１６４）。切替前後で、ルールが異なるので（Ｓ１６４：Ｎｏ）、切替前のパケットフィルタリングテーブルにおいて、ルール３（切替後のルールｎ）がルール４（切替前のルールｍ）に対して、優先順位が高い側に存在するか否かを調べる（Ｓ１６５）。ルール３はルール４に対して、優先順位が高い側に存在するので（Ｓ１６５：Ｙｅｓ）、切替後のルールｎ（ルール３）に対して、優先順位が低い側の次のルールが存在するか否かを調べる（Ｓ１６６）。次のルールが存在しない場合は（Ｓ１６６：Ｎｏ）、セッション１０２を削除する（Ｓ１６９）。
【００９６】
次のルール（ルール９）が存在するので（Ｓ１６６：Ｙｅｓ）、切替前のルールｍ（ルール４）と切替後のルールｎ（ルール９）とが同じルールか否かを調べる（Ｓ１６４）。切替前後で、ルールが異なるので（Ｓ１６４：Ｎｏ）、切替前のパケットフィルタリングテーブルにおいて、ルール９（切替後のルールｎ）がルール４（切替前のルールｍ）の前に存在するか否かを調べる（Ｓ１６５）。ルール９はルール４の前に存在しないので（Ｓ１６５：Ｎｏ）、セッション１０２（ルール４に関連付けられたセッション情報）がルール９に対応するか否かを調べる（Ｓ１６７）。対応しない場合は（Ｓ１６７：Ｎｏ）、ステップＳ１６６へ進む。
【００９７】
セッション１０２がルール９に対応するので（Ｓ１６７：Ｙｅｓ）、ルール９の「動作」が「通過」に設定されているかどうか調べる（Ｓ１６８）。「通過」に設定されているので（Ｓ１６８：Ｙｅｓ）、セッション１０２の「パケットフィルタのＩＤ」を４から９に変更して（Ｓ１７０）、ステップＳ１７１へ進む。ここで、「破棄」に設定されている場合は（Ｓ１６８：Ｎｏ）、セッション１０２のセッション情報を削除して（Ｓ１６９）、ステップＳ１７１へ進む。
【００９８】
ステップＳ１７１にて、ルール４に関連付けられた他のセッション情報が存在するか否かを調べる。存在する場合は（Ｓ１７１：Ｙｅｓ）、他のセッション情報について、ステップＳ１６３〜Ｓ１７１の処理を行う。
【００９９】
他のセッション情報が存在しないので（Ｓ１７１：Ｎｏ）、ルール４（切替前のルールｍ）に対して、優先順位が低い側の次のルールが存在するか否かを調べる（Ｓ１７２）。次のルール（ルール５）が存在するので（Ｓ１７２：Ｙｅｓ）、ルール５について、ステップＳ１６２〜Ｓ１７２の処理を実行する。以上のように、切替前のパケットフィルタリングテーブルに登録されたルールが存在する間は、ステップＳ１６２〜Ｓ１７２の処理を繰り返し実行する。また、次のルールが存在しない場合は（Ｓ１７２：Ｎｏ）、処理を終了する
以上で、セッション情報テーブルの更新が完了する。なお、本説明の場合であれば、パケットフィルタリングテーブルが切り替わると、セッション情報テーブルは、図６（Ｂ）に示すテーブルとなる。
【０１００】
以上のように、ルールの切り替え時に発生するセッション情報の評価処理では、切替前のパケットフィルタリングテーブルの全ルールに対して、次の処理を行う。切替後のパケットフィルタリングテーブルの優先度の高いルールから順に、切替前のフィルタリングテーブルおいて、評価対象ルールの前方に存在したルールか否かを調べる。評価対象ルールの前方に存在しなかった場合は、評価対象ルールに関連付けられたセッション情報が、該当ルールに対応するか調べ、対応する場合は、該当ルールに関連付ける。これにより、セッション情報テーブルに登録された全てのセッション情報に対して、どのルールと対応するのかを調べる必要がない。このため、セッション情報テーブルに登録されたセッション情報の更新をセッションを切断することなく短時間で行うことができる。
【０１０１】
なお、本実施形態では、「入力Ｉ／Ｆ＝ＷＡＮ」、「出力Ｉ／Ｆ＝ＬＡＮ」のルール更新時のセッション情報の評価処理について説明した。しかしながら、これに限らず、「入力Ｉ／Ｆ＝ＬＡＮ」、「出力Ｉ／Ｆ＝ＷＡＮ」のルール更新時についても、同様の処理手順で、セッション情報の評価処理を行うことができる。
【０１０２】
以上のように、本発明に係るネットワーク機器１は、パケットフィルタリングテーブルのルールが更新されると、セッション情報テーブルに登録されたセッション情報を評価して、セッション情報テーブルを更新する。この際、更新対象のルールとそのルール以降に登録されたルールのみを参照して、セッション情報を評価する。これにより、パケットフィルタリングテーブルに登録された全てのルールを参照して、セッション情報を評価する必要がないので、セッション情報テーブルを短時間で更新することができる。
【０１０３】
また、本発明に係るネットワーク機器１は、パケットフィルタリングテーブルが更新されると、セッション情報を評価して、セッション情報テーブルを更新する。セッション情報の評価は、更新後のパケットフィルタリングルールに基づいて、セッション情報を対応するルールに関連付ける。これにより、セッション情報テーブルに登録されたセッション情報は、更新後のパケットフィルタリングテーブルに登録されたルールに対応するのであれば、破棄されずそのまま登録される。このため、ネットワーク機器１は、確立しているセッションを維持したまま、パケットフィルタリング処理を行うことができる。
【図面の簡単な説明】
【０１０４】
【図１】ネットワーク機器を介してＬＡＮとＷＡＮが接続された環境を示す図である。
【図２】ネットワーク機器のブロック図である。
【図３】パケットフィルタリングテーブルの例を示す図である。
【図４】セッション情報テーブルの例を示す図である。
【図５】図３に示すパケットフィルタリングテーブルから一部のルールを抜粋した例を示す図である。
【図６】図４に示すセッション情報から一部のセッションを抜粋した例を示す図である。
【図７】ルールの追加時に発生するセッション情報の評価処理の流れを示すフローチャートである。
【図８】ルールの削除時に発生するセッション情報の評価処理の流れを示すフローチャートである。
【図９】ルールの変更時に発生するセッション情報の評価処理の流れを示すフローチャートである。
【図１０】ルールの順序入れ替え時に発生するセッション情報の評価処理の流れを示すフローチャートである。
【図１１】パケットフィルタリングテーブルの切り替え時に発生するセッション情報の評価処理の流れを示すフローチャートである。
【符号の説明】
【０１０５】
１−ネットワーク機器，２−クライアント装置，３−ネットワーク，４（４ａ，４ｂ）−通信装置，１０−ＣＰＵ，１１−フラッシュメモリ，１２−ＲＡＭ，１３−レイヤ２スイッチチップ，１４−ＬＡＮ側ポート，１５−ＰＨＹチップ，１６−ＷＡＮ側ポート
【図１】
0004900119.tif 000002
【図２】
0004900119.tif 000003
【図３】
0004900119.tif 000004
【図４】
0004900119.tif 000005
【図５】
0004900119.tif 000006
【図６】
0004900119.tif 000007
【図７】
0004900119.tif 000008
【図８】
0004900119.tif 000009
【図９】
0004900119.tif 000010
【図１０】
0004900119.tif 000011
【図１１】
0004900119.tif 000012