(57)【要約】【課題】通信パケットを適切に転送する。【解決手段】予め定められたネットワーク内に設けられた内部通信装置と、当該ネットワークの外部に設けられた外部通信装置との間の通信における通信パケットを転送する転送装置であって、内部通信装置における通信の状態を示す通信状態を格納する状態格納部と、内部通信装置が外部通信装置に対して送信する通信パケットである外部宛パケットのヘッダに基づき、通信状態を更新する状態更新部と、外部通信装置が内部通信装置に対して送信する通信パケットである内部宛パケットの転送を許可するか否かを、通信状態に基づいて判定する転送判定部と、転送判定部が内部宛パケットの転送を許可すると判定した場合に、内部宛パケットを内部通信装置に転送する転送処理部とを備える。【選択図】  図３
2004153343.tif 000002
【特許請求の範囲】
【請求項１】
予め定められたネットワーク内に設けられた内部通信装置と、前記ネットワークの外部に設けられた外部通信装置との間の通信における通信パケットを転送する転送装置であって、
前記内部通信装置における前記通信の状態を示す通信状態を格納する状態格納部と、
前記内部通信装置が前記外部通信装置に対して送信する通信パケットである外部宛パケットのヘッダに基づき、前記通信状態を更新する状態更新部と、
前記外部通信装置が前記内部通信装置に対して送信する通信パケットである内部宛パケットの転送を許可するか否かを、前記通信状態に基づいて判定する転送判定部と、
前記転送判定部が前記内部宛パケットの転送を許可すると判定した場合に、前記内部宛パケットを前記内部通信装置に転送する転送処理部と
を備えることを特徴とする転送装置。
【請求項２】
前記内部通信装置と、前記外部通信装置との間におけるセッションを特定するセッション管理情報を格納するセッション管理情報格納部を更に備え、
前記状態格納部は、前記セッション管理情報に対応する前記通信状態を格納し、
前記転送判定部は、
前記セッション管理情報を管理し、かつ、前記セッション管理情報に基づき、前記内部宛パケットに対応する前記セッションを識別するセッション管理部と、前記セッション管理部が識別した前記セッションに対応する前記通信状態に基づき、前記内部宛パケットの転送を許可するか否かを判定する判定処理部と
を有することを特徴とする請求項１に記載の転送装置。
【請求項３】
前記セッション管理情報格納部は、前記セッションに対応する前記通信状態へのポインタを、前記セッション管理情報の少なくとも一部として記憶する連想記憶装置であり、
前記セッション管理部は、前記連想記憶装置に、前記内部宛パケットのヘッダ情報に基づき、前記内部通信装置のＩＰアドレス及びポート番号と、前記外部通信装置のＩＰアドレス及びポート番号とを少なくとも一部として含む検索キーを与えることにより、前記通信状態へのポインタを取得し、
前記判定処理部は、前記セッション管理部から受け取る前記ポインタに基づき、前記状態格納部から、前記内部宛パケットに対応する前記通信状態を取得することを特徴とする請求項２に記載の転送装置。
【請求項４】
前記外部宛パケットに対応する前記セッション管理情報が前記セッション管理情報格納部に格納されておらず、かつ、当該外部宛パケットが、前記外部通信装置との間の前記セッションの確立を求めるパケットである場合、前記セッション管理部は、当該外部宛パケットに対応する前記セッション管理情報を、前記セッション管理情報格納部に新たに格納させることを特徴とする請求項２に記載の転送装置。
【請求項５】
前記内部宛パケットに対応する前記セッション管理情報が前記セッション管理情報格納部に格納されていない場合、前記判定処理部は、前当該内部宛パケットの転送を許可しないことを特徴とする請求項２に記載の転送装置。
【請求項６】
前記転送処理部は、前記外部宛パケットを更に前記外部通信装置に転送し、
前記セッション管理情報に対応する前記外部宛パケット又は前記内部宛パケットを、前記転送処理部が予め定められた期間転送しない場合、前記セッション管理部は、当該セッション管理情報を消去することを特徴とする請求項２に記載の転送装置。
【請求項７】
セッション管理情報格納部は、前記セッション管理情報の消去の可否を示す消去フラグ情報を、前記セッション管理情報の少なくとも一部として格納し、
前記セッション管理情報に対応する前記外部宛パケット又は前記内部宛パケットを、前記転送処理部が予め定められた期間転送しない場合において、当該セッション管理情報に対応する前記消去フラグ情報が、前記消去が可能であることを示す場合、前記セッション管理部は、当該セッション管理情報を消去することを特徴とする請求項６に記載の転送装置。
【請求項８】
前記外部宛パケット又は前記内部宛パケットを処理するパケット処理部を更に備え、
前記状態格納部は、前記通信状態の少なくとも一部として、前記外部宛パケット又は前記内部宛パケットに対して前記パケット処理部が行うべき処理を示す処理情報を格納し、
前記パケット処理部が前記処理情報に従って前記外部宛パケット又は前記内部宛パケットを処理した結果に基づき、前記転送判定部は、前記内部宛パケットの転送を許可するか否かを判定することを特徴とする請求項１に記載の転送装置。
【請求項９】
前記転送装置は、前記内部宛パケット及び前記外部宛パケットとして、ＴＣＰ（Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づくＴＣＰパケットを転送し、
前記状態格納部は、前記内部通信装置におけるＴＣＰセッションの状態を示すＴＣＰ状態を、前記通信状態の少なくとも一部として格納し、
前記状態更新部は、前記外部宛パケットのヘッダにおけるＴＣＰフラグに基づき、前記ＴＣＰ状態を更新し、
前記転送判定部は、前記内部宛パケットのヘッダにおけるＴＣＰフラグ、及び前記ＴＣＰ状態に基づき、前記内部宛パケットの転送を許可するか否かを判定することを特徴とする請求項１に記載の転送装置。
【請求項１０】
前記状態格納部は、前記外部宛パケットのヘッダにおける確認応答番号フィールドの値を示す確認応答番号情報を、前記通信状態の少なくとも一部として格納し、
前記転送判定部は、前記内部宛パケットのヘッダにおけるシーケンス番号フィールドの値、及び前記確認応答番号情報に基づき、前記内部宛パケットの転送を許可するか否かを判定することを特徴とする請求項９に記載の転送装置。
【請求項１１】
前記状態格納部は、前記外部宛パケットのヘッダにおけるウィンドウフィールドの値を示すウィンドウ情報を、前記通信状態の少なくとも一部として更に格納し、
前記転送判定部は、前記内部宛パケットのヘッダにおけるシーケンス番号フィールドの値、前記確認応答番号情報、及び前記ウィンドウ情報に基づき、前記内部宛パケットの転送を許可するか否かを判定することを特徴とする請求項１０に記載の転送装置。
【請求項１２】
前記状態格納部は、前記内部宛パケットのヘッダに基づく情報を、前記通信状態の少なくとも一部として格納し、
前記状態更新部は、前記内部宛パケットのヘッダに基づき、更に、前記通信状態を更新し、
前記転送判定部は、前記通信状態に基づき、前記内部宛パケットの転送を許可するか否かを判定することを特徴とする請求項９に記載の転送装置。
【請求項１３】
前記状態格納部は、前記ＴＣＰ状態として、前記外部通信装置におけるＴＣＰセッションの状態を更に示す情報を格納し、
前記状態更新部は、前記内部宛パケットのヘッダにおけるＴＣＰフラグに基づき、更に、前記ＴＣＰ状態を更新し、
前記転送判定部は、前記ＴＣＰ状態に基づき、前記内部宛パケットの転送を許可するか否かを判定することを特徴とする請求項１２に記載の転送装置。
【請求項１４】
前記状態格納部は、前記内部宛パケットのヘッダにおけるシーケンス番号フィールドの値を示すシーケンス番号情報を、前記通信状態の少なくとも一部として格納し、
前記内部宛パケットの転送が許可された場合、前記状態更新部は、前記シーケンス番号情報を、当該内部宛パケットのヘッダにおけるシーケンス番号フィールドの値を示す情報に更新し、
前記転送判定部は、前記シーケンス番号情報に基づき、前記内部宛パケットの転送を許可するか否かを判定することを特徴とする請求項１２に記載の転送装置。
【請求項１５】
前記シーケンス番号情報の示す値とシーケンス番号フィールドの値が同一である前記内部宛パケットを前記転送装置が転送した回数を示す同一シーケンス番号回数情報を、前記状態格納部は、前記通信状態の少なくとも一部として更に格納し、
前記同一シーケンス番号回数情報が示す前記回数が予め定められた回数に達した後において、前記内部宛パケットにおけるシーケンス番号フィールドの値が、前記シーケンス番号情報の示す値と等しい場合、前記転送判定部は、当該内部宛パケットの転送を許可しないことを特徴とする請求項１４に記載の転送装置。
【請求項１６】
予め定められたネットワーク内に設けられた内部通信装置と、前記ネットワークの外部に設けられた外部通信装置との間の通信における通信パケットを転送する転送方法であって、
前記内部通信装置における前記通信の状態を示す通信状態を格納する状態格納段階と、
前記内部通信装置が前記外部通信装置に対して送信する通信パケットである外部宛パケットのヘッダに基づき、前記通信状態を更新する状態更新段階と、
前記外部通信装置が前記内部通信装置に対して送信する通信パケットである内部宛パケットの転送を許可するか否かを、前記通信状態に基づいて判定する転送判定段階と、
前記転送判定段階において、前記内部宛パケットの転送を許可すると判定された場合に、前記内部宛パケットを前記内部通信装置に転送する転送処理段階とを備えることを特徴とする転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、転送装置及び転送方法に関する。特に本発明は、通信パケットを転送する転送装置に関する。
【０００２】
【従来の技術】
従来、例えば、通信を許可するＩＰアドレス等を指定することにより、許可されたＩＰアドレス以外からのパケットの転送を制限する転送装置が知られている。このような転送装置において、通信を許可するＩＰアドレスは、転送装置の使用者によって、予め設定される。また、従来、セッションの開設時に開設条件に適合するか否かを判定する転送装置が知られている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開２０００―３４９８５１号公報（第３〜１２頁、第１〜１２図）
【０００４】
【発明が解決しようとする課題】
しかし、従来の転送装置においては、例えば第三者がＩＰアドレスを偽装することにより、不正なパケットが転送される場合があった。また、セッションが適切に開設された後に、不正なアクセスが生じる場合もあった。そのため、従来、パケットの転送を適切に行うのは困難であった。
【０００５】
そこで本発明は、上記の課題を解決することのできる転送装置及び転送方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【０００６】
【課題を解決するための手段】
即ち、本発明の第１の形態によると、予め定められたネットワーク内に設けられた内部通信装置と、ネットワークの外部に設けられた外部通信装置との間の通信における通信パケットを転送する転送装置であって、内部通信装置における通信の状態を示す通信状態を格納する状態格納部と、内部通信装置が外部通信装置に対して送信する通信パケットである外部宛パケットのヘッダに基づき、通信状態を更新する状態更新部と、外部通信装置が内部通信装置に対して送信する通信パケットである内部宛パケットの転送を許可するか否かを、通信状態に基づいて判定する転送判定部と、転送判定部が内部宛パケットの転送を許可すると判定した場合に、内部宛パケットを内部通信装置に転送する転送処理部とを備える。
【０００７】
また、内部通信装置と、外部通信装置との間におけるセッションを特定するセッション管理情報を格納するセッション管理情報格納部を更に備え、状態格納部は、セッション管理情報に対応する通信状態を格納し、転送判定部は、セッション管理情報を管理し、かつ、セッション管理情報に基づき、内部宛パケットに対応するセッションを識別するセッション管理部と、セッション管理部が識別したセッションに対応する通信状態に基づき、内部宛パケットの転送を許可するか否かを判定する判定処理部とを有してよい。
【０００８】
また、セッション管理情報格納部は、セッションに対応する通信状態へのポインタを、セッション管理情報の少なくとも一部として記憶する連想記憶装置であり、セッション管理部は、連想記憶装置に、内部宛パケットのヘッダ情報に基づき、内部通信装置のＩＰアドレス及びポート番号と、外部通信装置のＩＰアドレス及びポート番号とを少なくとも一部として含む検索キーを与えることにより、通信状態へのポインタを取得し、判定処理部は、セッション管理部から受け取るポインタに基づき、状態格納部から、内部宛パケットに対応する通信状態を取得してよい。
【０００９】
また、外部宛パケットに対応するセッション管理情報がセッション管理情報格納部に格納されておらず、かつ、当該外部宛パケットが、外部通信装置との間のセッションの確立を求めるパケットである場合、セッション管理部は、当該外部宛パケットに対応するセッション管理情報を、セッション管理情報格納部に新たに格納させてよい。また、内部宛パケットに対応するセッション管理情報がセッション管理情報格納部に格納されていない場合、判定処理部は、前当該内部宛パケットの転送を許可しなくてよい。
【００１０】
また、転送処理部は、外部宛パケットを更に外部通信装置に転送し、セッション管理情報に対応する外部宛パケット又は内部宛パケットを、転送処理部が予め定められた期間転送しない場合、セッション管理部は、当該セッション管理情報を消去してよい。また、セッション管理情報格納部は、セッション管理情報の消去の可否を示す消去フラグ情報を、セッション管理情報の少なくとも一部として格納し、セッション管理情報に対応する外部宛パケット又は内部宛パケットを、転送処理部が予め定められた期間転送しない場合において、当該セッション管理情報に対応する消去フラグ情報が、消去が可能であることを示す場合、セッション管理部は、当該セッション管理情報を消去してよい。
【００１１】
また、外部宛パケット又は内部宛パケットを処理するパケット処理部を更に備え、状態格納部は、通信状態の少なくとも一部として、外部宛パケット又は内部宛パケットに対してパケット処理部が行うべき処理を示す処理情報を格納し、パケット処理部が処理情報に従って外部宛パケット又は内部宛パケットを処理した結果に基づき、転送判定部は、内部宛パケットの転送を許可するか否かを判定してよい。
【００１２】
また、転送装置は、内部宛パケット及び外部宛パケットとして、ＴＣＰ（Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に基づくＴＣＰパケットを転送し、状態格納部は、内部通信装置におけるＴＣＰセッションの状態を示すＴＣＰ状態を、通信状態の少なくとも一部として格納し、状態更新部は、外部宛パケットのヘッダにおけるＴＣＰフラグに基づき、ＴＣＰ状態を更新し、転送判定部は、内部宛パケットのヘッダにおけるＴＣＰフラグ、及びＴＣＰ状態に基づき、内部宛パケットの転送を許可するか否かを判定してよい。
【００１３】
また、状態格納部は、外部宛パケットのヘッダにおける確認応答番号フィールドの値を示す確認応答番号情報を、通信状態の少なくとも一部として格納し、転送判定部は、内部宛パケットのヘッダにおけるシーケンス番号フィールドの値、及び確認応答番号情報に基づき、内部宛パケットの転送を許可するか否かを判定してよい。また、状態格納部は、外部宛パケットのヘッダにおけるウィンドウフィールドの値を示すウィンドウ情報を、通信状態の少なくとも一部として更に格納し、転送判定部は、内部宛パケットのヘッダにおけるシーケンス番号フィールドの値、確認応答番号情報、及びウィンドウ情報に基づき、内部宛パケットの転送を許可するか否かを判定してよい。
【００１４】
また、状態格納部は、内部宛パケットのヘッダに基づく情報を、通信状態の少なくとも一部として格納し、状態更新部は、内部宛パケットのヘッダに基づき、更に、通信状態を更新し、転送判定部は、通信状態に基づき、内部宛パケットの転送を許可するか否かを判定してよい。また、状態格納部は、ＴＣＰ状態として、外部通信装置におけるＴＣＰセッションの状態を更に示す情報を格納し、状態更新部は、内部宛パケットのヘッダにおけるＴＣＰフラグに基づき、更に、ＴＣＰ状態を更新し、転送判定部は、ＴＣＰ状態に基づき、内部宛パケットの転送を許可するか否かを判定してよい。
【００１５】
また、状態格納部は、内部宛パケットのヘッダにおけるシーケンス番号フィールドの値を示すシーケンス番号情報を、通信状態の少なくとも一部として格納し、内部宛パケットの転送が許可された場合、状態更新部は、シーケンス番号情報を、当該内部宛パケットのヘッダにおけるシーケンス番号フィールドの値を示す情報に更新し、転送判定部は、シーケンス番号情報に基づき、内部宛パケットの転送を許可するか否かを判定してよい。また、シーケンス番号情報の示す値とシーケンス番号フィールドの値が同一である内部宛パケットを転送装置が転送した回数を示す同一シーケンス番号回数情報を、状態格納部は、通信状態の少なくとも一部として更に格納し、同一シーケンス番号回数情報が示す回数が予め定められた回数に達した後において、内部宛パケットにおけるシーケンス番号フィールドの値が、シーケンス番号情報の示す値と等しい場合、転送判定部は、当該内部宛パケットの転送を許可しなくてよい。
【００１６】
本発明の第１の形態によると、予め定められたネットワーク内に設けられた内部通信装置と、ネットワークの外部に設けられた外部通信装置との間の通信における通信パケットを転送する転送方法であって、内部通信装置における通信の状態を示す通信状態を格納する状態格納段階と、内部通信装置が外部通信装置に対して送信する通信パケットである外部宛パケットのヘッダに基づき、通信状態を更新する状態更新段階と、外部通信装置が内部通信装置に対して送信する通信パケットである内部宛パケットの転送を許可するか否かを、通信状態に基づいて判定する転送判定段階と、転送判定段階において、内部宛パケットの転送を許可すると判定された場合に、内部宛パケットを内部通信装置に転送する転送処理段階とを備える。
【００１７】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【００１８】
【発明の実施の形態】
以下、発明の実施形態を通じて本発明を説明するが、実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１９】
図１は、本実施形態に係る通信システム１００を示す。通信システム１００は、サーバ１２０ａ〜ｂ、外部ネットワーク１４０、及びＩＳＰ中継装置１３０を有する広域ネットワーク（ＷＡＮ）と、中継装置１５０及び端末１６０ａ〜ｂを有するローカルネットワーク（ＬＡＮ）とを備える。中継装置１５０は、本発明に係る情報処理装置の一例であり、例えば企業や家庭等のＬＡＮ内の端末１６０ａ〜ｂ等を、セキュリティを確保しつつＷＡＮに接続する、ゲートウェイ機能及びルータ機能を提供することを目的とする。
【００２０】
サーバ１２０ａ〜ｂは、例えばＨＴＴＰサービスやＦＴＰサービス等のサービスを提供する通信機器である。ＩＳＰ中継装置１３０は、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）によって提供され、中継装置１５０と外部ネットワーク１４０の間の通信を中継する。外部ネットワーク１４０は、サーバ１２０ａ〜ｂ及びＩＳＰ中継装置１３０を接続する。ここで、外部ネットワーク１４０は、無線通信網又は有線通信網を含んでよく、少なくとも一部の経路に中継装置１５０及び端末１６０ａ〜ｂによるＬＡＮ以外のＬＡＮを含んでもよい。
【００２１】
中継装置１５０は、例えば通信ポート０から通信ポート３の複数の通信ポートを備え、ＬＡＮ内の端末１６０ａ〜ｂとＩＳＰ中継装置１３０とを接続する。本実施形態において、中継装置１５０は、通信ポート０を介してＩＳＰ中継装置１３０に、通信ポート１を介して端末１６０ａに、通信ポート３を介して端末１６０ｂにそれぞれ接続される。
【００２２】
中継装置１５０は、サーバ１２０ａ〜ｂ等の送信元通信機器が送信した通信パケットを、当該通信パケットの宛先である端末１６０ａ〜ｂ等の宛先通信機器に対応する一の通信ポートに接続されたネットワークに転送することにより、当該通信パケットを宛先通信機器に対して転送する。同様に、中継装置１５０は、端末１６０ａ〜ｂ等の送信元通信機器が送信した通信パケットを、当該通信パケットの宛先であるサーバ１２０ａ〜ｂ等の宛先通信機器に対応する、ＩＳＰ中継装置１３０に接続されたネットワークに転送することにより、当該通信パケットを宛先通信機器に対して転送する。
【００２３】
ここで、中継装置１５０は、受信した通信パケットが、予め定められた条件を満たす正当な通信パケットであるかどうかを判断し、正当な通信パケットのみを転送する。これにより、中継装置１５０は、サーバ１２０ａ〜ｂと端末１６０ａ〜ｂとの間の通信のセキュリティを確保することができる。
【００２４】
端末１６０ａ〜ｂは、例えばパーソナルコンピュータ、ＰＤＡ、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）電話、又はネットワーク接続可能な家電製品等の通信機器である。ここで、端末１６０ａ〜ｂは、中継装置１５０とは異なるハブ、スイッチ、ルータ等の中継機器を介して中継装置１５０に接続されてもよい。
【００２５】
尚、本実施形態において、端末１６０ａ〜ｂは、ＬＡＮ内に設けられた内部通信装置の一例である。サーバ１２０ａ〜ｂは、当該ＬＡＮの外部であるＷＡＮ側に設けられた外部通信装置の一例である。中継装置１５０は、内部通信装置である端末１６０と、外部通信装置であるサーバ１２０との間の通信における通信パケットを転送する。
【００２６】
図２は、本実施形態に係る中継装置１５０の構成を示す。中継装置１５０は、ＣＰＵバス２８０により相互に接続されるＣＰＵ２００、ＲＯＭ２１０、ＲＡＭ２２０、通信処理デバイス２３０、ハードディスクドライブ２４０、フレキシブルディスクドライブ２５０、ＣＤ−ＲＯＭドライブ２６０、及びブリッジ２７０と、通信処理デバイス２３０に接続される物理層インターフェイス２３２ａ〜ｄ、連想記憶メモリ２３４、及びセッション状態メモリ２３６と、Ｉ／Ｏバス２８２を介してブリッジ２７０に接続される無線ＬＡＮインターフェイス２７２、シリアルインターフェイス２７４、及びパラレルインターフェイス２７６とを備える。
【００２７】
ＣＰＵ２００は、ＲＯＭ２１０及びＲＡＭ２２０に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ２１０は、中継装置１５０の起動時にＣＰＵ２００が実行するブートプログラムや、中継装置１５０のハードウェアに依存するプログラム等を格納する。ＲＡＭ２２０は、中継装置１５０が通信パケットを中継するために実行する中継プログラムや、中継プログラムの実行に用いられるデータ等を格納する。ハードディスクドライブ２４０は、中継装置１５０が使用するプログラム及びデータを格納する。フレキシブルディスクドライブ２５０及びＣＤ−ＲＯＭドライブ２６０は、それぞれ対応するフレキシブルディスク２９０及びＣＤ−ＲＯＭ２９５からプログラム又はデータを読み取り、ＣＰＵバス２８０を介してＲＡＭ２２０、ハードディスクドライブ２４０、及び／又は通信処理デバイス２３０に提供する。
【００２８】
中継装置１５０又は通信処理デバイス２３０に提供される中継プログラム等のプログラムは、フレキシブルディスク２９０、ＣＤ−ＲＯＭ２９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。
【００２９】
通信処理デバイス２３０は、送信元通信機器が送信した通信パケットを通信ポート０〜３から受信し、宛先通信機器に対応する通信ポートに接続されたネットワークへ転送することにより、当該通信パケットを宛先通信機器に対して転送する。ここで、中継装置１５０は、受信した通信パケットが予め定められた条件を満たす正当な通信パケットであるかどうかを判断し、正当な通信パケットのみを転送する。
【００３０】
以上に示した通信処理において、通信処理デバイス２３０は、通信処理デバイス２３０単体で通信パケットを処理できない場合や、ＩＰｓｅｃパケット等の暗号化された通信パケットを受信した場合等に、ＣＰＵ２００に通信処理の一部を行わせてもよい。
【００３１】
物理層インターフェイス２３２ａ〜ｄは、通信ポート０〜３にそれぞれ対応し、物理層インターフェイス２３２ａ〜ｄに接続されるネットワークの伝送媒体と、通信処理デバイス２３０の通信ポートとの間において、信号レベルの変換や、光通信メディア及び電気信号間の変換等の、物理層における変換を行う。
【００３２】
連想記憶メモリ２３４は、受信した通信パケットの中継の許可又は禁止を選択するために通信処理デバイス２３０により用いられるセッション管理情報と、宛先通信機器に対応付けられた通信ポートを選択するために通信処理デバイス２３０により用いられる通信ポート管理情報とを格納する。ここで、本実施形態において、連想記憶メモリ２３４は、端末１６０（図１参照）と、サーバ１２０（図１参照）との間におけるセッションを特定するセッション管理情報を格納する。中継装置１５０は、例えばＯＳＩ参照モデルにおけるトランスポート層、セッション層、プレゼンテーション層、及びアプリケーション層等における通信プロトコルに基づき動的に開設及び／又は閉鎖される送信元通信機器及び宛先通信機器間のコネクションであるセッションを特定するための情報を、セッション管理情報として格納してよい。また、セッション管理情報は、中継装置１５０が中継を許可又は禁止された送信元通信機器及び／又は宛先通信機器の組を、中継装置１５０の提供元又は利用者等により予め設定されてもよい。
【００３３】
セッション状態メモリ２３６は、それぞれのセッションにおける端末１６０及びサーバ１２０の通信の状態を示す通信状態であるセッション状態情報を格納する。ここで、本実施形態において、連想記憶メモリ２３４は、それぞれのセッションに対応するセッション状態情報へのポインタを、セッション管理情報の少なくとも一部として記憶する。これにより、セッション状態メモリ２３６は、セッション管理情報に対応するセッション状態情報を格納する。この場合、セッション状態メモリ２３６は、例えば、連想記憶メモリ２３４においてセッション管理情報が格納されているメモリアドレスを、ポインタとして受け取る。
【００３４】
ブリッジ２７０は、無線ＬＡＮインターフェイス２７２、シリアルインターフェイス２７４、及びパラレルインターフェイス２７６を、ＣＰＵバス２８０に接続する。無線ＬＡＮインターフェイス２７２は、例えばＩＥＥＥ８０２．１１ｂ等の無線ＬＡＮや、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の近距離無線通信等により、外部の機器と接続される。シリアルインターフェイス２７４は、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルケーブルにより、外部の機器と接続される。パラレルインターフェイス２７６は、例えばＳＣＳＩ等のパラレルケーブルにより、外部の機器と接続される。無線ＬＡＮインターフェイス２７２、シリアルインターフェイス２７４、及びパラレルインターフェイス２７６に接続される機器は、例えばデジタルセットトップボックス、ゲーム機、ＰＤＡ、若しくは携帯電話等の情報機器であってよく、テレビ受像機、デジタルカメラ、ＨＤＤ録画機、オーディオ機器、若しくはＤＶＤプレーヤ等のデジタル機器や、エアコン、照明機器、若しくは冷蔵庫等の家電機器や、温度計、圧力センサ、若しくは防犯センサ等のセンサ機器であってもよい。中継装置１５０は、中継装置１５０及び端末１６０ａ〜ｂによるＬＡＮの利用者又はその許可を受けた者によるＬＡＮ内又はＷＡＮからの制御に基づき、これらの機器の制御及び／又は情報採取を行ってよい。
【００３５】
以上に示す通り、中継装置１５０は、連想記憶メモリ２３４に格納されたセッション管理情報及びセッション状態メモリ２３６に格納されたセッション状態に基づき受信した通信パケットの中継の許可又は禁止を判断する。これにより、中継装置１５０は、正当な通信パケットのみを中継することができ、ＷＡＮ及びＬＡＮ間の通信のセキュリティを確保することができる。
【００３６】
図３は、本実施形態に係る通信処理デバイス２３０の構成を示す。通信処理デバイス２３０は、転送判定部３１０、転送処理部３０６、及び状態更新部３０８を含む。
【００３７】
転送判定部３１０は、サーバ１２０が端末１６０に対して送信した通信パケットである内部宛パケットの転送を許可するか否かを、セッション状態メモリ２３６に格納されたセッション状態情報に基づいて判定する。また、転送判定部３１０は、端末１６０がサーバ１２０に対して送信した通信パケットである外部宛パケットを、転送処理部３０６に転送させる。本実施形態において、転送判定部３１０は、セッション管理部３０２及び判定処理部３０４を有する。
【００３８】
セッション管理部３０２は、連想記憶メモリ２３４に格納されたセッション管理情報を管理する。そして、中継装置１５０が内部宛パケットを受け取った場合、セッション管理部３０２は、セッション管理情報に基づき、内部宛パケットに対応するセッションを識別する。セッション管理部３０２は、例えば、内部宛パケットのヘッダ情報に基づく検索キーを連想記憶メモリ２３４に与えることにより、この内部宛パケットに対応するセッションを特定するセッション管理情報を取得する。また、中継装置１５０が外部宛パケットを受け取った場合、セッション管理部３０２は、外部宛パケットに対応するセッション管理情報を取得する。
【００３９】
ここで、本実施形態において、連想記憶メモリ２３４は、セッション管理情報の少なくとも一部として、セッション状態メモリ２３６におけるセッション状態情報へのポインタを格納する。そのため、セッション管理部３０２は、セッション管理情報に基づき、セッション状態情報へのポインタを取得する。そして、セッション管理部３０２は、取得した当該ポインタを、判定処理部３０４に与える。
【００４０】
尚、セッション管理部３０２は、セッションが開始された場合に、新たなセッション管理情報を連想記憶メモリ２３４に登録する。また、セッションが終了した場合、セッション管理部３０２は、このセッションに対応するセッション管理情報を消去してよい。
【００４１】
判定処理部３０４は、セッション管理部３０２が識別したセッションに対応するセッション状態情報を取得する。例えば、判定処理部３０４は、セッション管理部３０２から受け取るポインタに基づき、セッション状態メモリ２３６から、内部宛パケットに対応するセッション状態情報を取得する。そして、判定処理部３０４は、このセッション状態情報に基づき、内部宛パケットの転送を許可するか否かを判定する。また、判定処理部３０４は、外部宛パケットを、転送処理部３０６に転送させる。他の例において、判定処理部３０４は、外部宛パケットの転送の許可するか否かを、更に判定してもよい。
【００４２】
尚、判定処理部３０４は、ＣＰＵバス２８０を介して、例えばＣＰＵ２００等と通信してよい。判定処理部３０４は、セッション状態情報に基づき、例えばＣＰＵ２００に内部宛パケットを処理させ、この処理の結果に基づき、内部宛パケットの転送の可否を判定してよい。判定処理部３０４は、ＣＰＵ２００に、例えば暗号化された内部宛パケットの復号を行わせる。
【００４３】
転送処理部３０６は、判定処理部３０４が内部宛パケットの転送を許可すると判定した場合に、この内部宛パケットを端末１６０に転送する。また、転送処理部３０６は、外部宛パケットをサーバ１２０に転送する。転送処理部３０６は、連想記憶メモリ２３４に格納された通信ポート管理情報に基づき、内部宛パケット及び外部宛パケットを転送してよい。
【００４４】
状態更新部３０８は、外部宛パケット及び内部宛パケットのそれぞれのヘッダに基づき、セッション状態情報を更新する。これにより、判定処理部３０４は、外部宛パケット及び内部宛パケットに基づいて随時更新されるセッション状態情報に基づき、内部宛パケットの転送の可否を判定することができる。そのため、本実施形態によれば、内部宛パケットの転送の可否を、適切かつ柔軟に判定することができる。
【００４５】
尚、転送判定部３１０、転送処理部３０６、及び状態更新部３０８のそれぞれは、ハードウェアで構成された論理回路によりそれぞれ動作してもよく、通信処理デバイス２３０の外部か提供される中継プログラム等のプログラムに従って、それぞれ動作してもよい。また、通信処理デバイス２３０は、一の半導体チップにより形成されたモノリシックＬＳＩであるのが好ましい。この場合、通信処理デバイス２３０を低いコストで提供することができる。
【００４６】
図４は、本実施形態に係る連想記憶メモリ２３４の一例を、表形式により示す。連想記憶メモリ２３４は、異なるメモリアドレスに格納される複数のデータそれぞれの所定のビットフィールドに、種類識別情報、タイマ処理情報、タイマ情報、及び格納情報を格納する。
【００４７】
種類識別情報は、当該メモリアドレスに格納された格納情報の種類を識別する情報であり、当該格納情報が、セッション管理情報（Ｓ、値“１０”）、通信ポート管理情報（Ｐ、値“１１”）、及び無効な情報（Ｅ、値“００”）のいずれであるかを示す。
【００４８】
タイマ処理情報は、そのメモリアドレスに格納された格納情報に対する有効期間の有無を示す消去フラグ情報である。タイマ処理情報は、格納情報が、有効期間が経過した場合に無効とされるべき一時的な格納情報（値０１）、又は、有効期間が設けられず、時間の経過により無効とされない固定的な格納情報（値００）のいずれであるかを示す。これにより、連想記憶メモリ２３４は、セッション管理情報の消去の可否を示す消去フラグ情報を、セッション管理情報の一部として格納する。消去フラグ情報は、一時的な格納情報であるセッション管理情報に対して、消去が可能であることを示す値０１を有する。
【００４９】
ここで、セッション管理情報が一時的な格納情報である場合、このセッション管理情報に対応する外部宛パケット又は内部宛パケットを、転送処理部３０６が予め定められた期間転送しなければ、セッション管理部３０２は、このセッション管理情報を消去する。これにより、セッション管理部３０２は、セッション管理情報を、セッションの開始及び終了に応じて、動的に管理することができる。
【００５０】
一方、セッション管理情報が固定的な格納情報である場合、このセッション管理情報に対応する外部宛パケット又は内部宛パケットを、転送処理部３０６が予め定められた期間転送しない場合においても、セッション管理部３０２は、このセッション管理情報を消去しない。これにより、セッション管理部３０２は、予め設定された所定のセッションを、静的に管理することができる。
【００５１】
タイマ情報は、当該メモリアドレスに格納される格納情報の有効期間を示す情報であり、タイマ処理情報が“０１”の場合に有効である。ここで、タイマ情報は、当該格納情報が格納された日及び／又は時刻を識別する情報であってもよく、当該格納情報が無効とされるまでの期間を示す情報であってもよい。本実施形態において、セッション管理部３０２は、タイマ情報に基づき、外部宛パケット又は内部宛パケットが転送されない期間を監視する。
【００５２】
格納情報は、種類識別情報により指定される、セッション管理情報又は通信ポート管理情報を格納する。すなわち、連想記憶メモリ２３４は、各メモリアドレス毎に、種類識別情報“１０”とセッション管理情報とを含むセッション管理データ、種類識別情報“１１”と通信ポート管理情報とを含む通信ポート管理データ、又は、種類識別情報“００”と無効な情報とを含む無効なデータのいずれかを格納する。
【００５３】
セッション管理情報は、端末１６０と、サーバ１２０との間におけるセッションを特定する情報を、ネットワーク層プロトコル、トランスポート層プロトコル、リモートポート番号、ローカルポート番号、リモートアドレス、及びローカルアドレスを含む情報として格納する。ネットワーク層プロトコルフィールドは、例えばＩＰ、ＩＰＸ（登録商標）、Ａｐｐｌｅ  Ｔａｌｋ（登録商標）、ＰＰＰｏＥ、ＡＲＰ、ＲＡＲＰ等の、ＯＳＩ参照モデルにおけるネットワーク層（第３層）に分類される通信プロトコルを示す。トランスポート層プロトコルフィールドは、例えばＩＰｉｎＩＰ、ＩＰｓｅｃ、ＩＣＭＰ、ＵＤＰ、ＴＣＰ等の、ＯＳＩ参照モデルにおけるトランスポート層（第４層）以上の階層に分類される通信プロトコルを示す。
【００５４】
リモートポート番号フィールド及びリモートアドレスフィールドは、端末１６０ａ〜ｂ等のＬＡＮ側の通信機器と通信する、例えば１２０ａ〜ｂ等のＷＡＮ側の通信機器が、通信に用いるポート番号及びネットワークアドレスを示す。ローカルポート番号フィールド及びリモートアドレスフィールドは、端末１６０ａ〜ｂ等のＬＡＮ側の通信機器が、通信に用いるポート番号及びネットワークアドレスを示す。ここで、ポート番号は、アプリケーションプログラム又はサービス等を識別するために用いられてよく、例えばＴＣＰプロトコルにおけるＴＣＰヘッダに含まれる送信元ポート番号又は宛先ポート番号に対応してよい。また、ネットワークアドレスは、例えばＩＰプロトコルにおけるＩＰアドレス等の、通信機器をネットワーク上で識別するために用いられる識別情報であってよい。
【００５５】
ここで、本実施形態において、連想記憶メモリ２３４は、受け取った検索キーに対応する格納情報が格納されているメモリアドレスを出力する。連想記憶メモリ２３４は、例えば、ネットワーク層プロトコル、トランスポート層プロトコル、リモートポート番号、ローカルポート番号、リモートアドレス、及びローカルアドレスを含む検索キーに応じて、この検索キーに対応するセッション管理情報が格納されているメモリアドレスを、セッション状態メモリ２３６に格納されたセッション状態情報へのポインタとして出力する。これにより、連想記憶メモリ２３４は、セッション状態情報へのポインタを、セッション管理情報の一部として格納する。尚、他の例において、連想記憶メモリ２３４は、セッション状態情報へのポインタを、セッション管理情報における所定のビットフィールドに格納してもよい。
【００５６】
セッション管理部３０２は、内部宛パケットのヘッダ情報に基づき、これらの検索キーを連想記憶メモリ２３４に与えることにより、この内部宛パケットに対応するセッション状態情報へのポインタを取得する。そして、セッション管理部３０２は、受け取ったポインタに基づき、内部宛パケットに対応するセッションの状態を示すセッション状態情報を取得する。
【００５７】
一方、通信ポート管理情報は、中継装置１５０が通信パケットを転送すべき宛先通信機器に対応付けられた通信ポート及び通信パケットの宛先ＭＡＣアドレスとすべきＭＡＣアドレスを、宛先アドレス、通信ポート番号、ＭＡＣアドレスを含む情報として格納する。宛先アドレスフィールドは、中継装置１５０が通信パケットを転送すべき宛先通信機器のネットワークアドレスを示す。通信ポート番号フィールドは、中継装置１５０が当該宛先通信機器に対して通信パケットを転送する場合に、当該通信パケットを送信すべき通信ポートの番号を示す。ＭＡＣアドレスフィールドは、中継装置１５０が当該通信パケットを転送する場合に、当該通信パケットの宛先ＭＡＣアドレスとすべきＭＡＣアドレスを示す。
【００５８】
以上に示した通り、本実施形態に係る中継装置１５０によれば、セッション管理情報及び通信ポート管理情報の双方を連想記憶メモリ２３４に格納することにより、それぞれを別個に連想記憶メモリに格納する場合と比較し、ハードウェア量及びコストを削減することができる。
【００５９】
図５は、本実施形態に係るセッション状態メモリ２３６の一例を、表形式により示す。セッション状態メモリ２３６は、連想記憶メモリ２３４に格納されたセッション管理情報に対応して、このセッション管理情報により指定される送信元通信機器及び宛先通信機器間の通信におけるセッションの状態を含むセッション状態情報を格納する。ここで、セッション状態メモリ２３６は、連想記憶メモリ２３４が出力する、セッション状態情報へのポインタによって指定されるメモリアドレスに、対応するセッション状態情報を格納する。例えば、セッション状態メモリ２３６は、連想記憶メモリ２３４がポインタとして出力するメモリアドレスと同一のメモリアドレスに、対応するセッション状態情報を格納する。
【００６０】
尚、セッション状態メモリ２３６は、それぞれ異なる通信プロトコルに基づく複数のセッションの状態をそれぞれ示す複数のセッション状態情報を格納してよい。セッション状態メモリ２３６は、例えば、ＴＣＰ等のコネクション型のプロトコルに基づくセッションの状態を示すセッション状態情報と、ＵＤＰ等のコネクションレス型のプロトコルに基づくセッションの状態を示すセッション状態情報とを格納してよい。
【００６１】
また、セッション状態メモリ２３６は、それぞれのセッションが対応する通信プロトコルに応じて、それぞれ異なるフィールドを含むセッション状態情報を格納してよい。例えば、セッション状態メモリ２３６は、ＵＤＰに対応するセッション状態情報として、ＴＣＰに対応するセッション状態情報が含むフィールドの一部に対応する情報を格納してよい。
【００６２】
本実施形態において、セッション状態メモリ２３６は、例えば、ＴＣＰに対応するセッション状態情報として、セッション状態情報は、有効フラグ、制御情報、セッション通信状態、ウィンドウサイズ、ＡＣＫ番号、シーケンス番号、及び中継許可カウントの各フィールドを含む情報を格納する。有効フラグフィールドは、当該セッション状態情報の有効（値“１”）又は無効（値“０”）を示す。制御情報フィールドは、例えば、ＷＡＮ側からＬＡＮ側への通信パケットの中継の許可又は禁止、ＬＡＮ側からＷＡＮ側への通信パケットの中継の許可又は禁止、通信パケットに対してＰＰＰｏＥプロトコルを適用するかどうか、通信パケットに対して帯域幅制限を設定するかどうか、通信パケットに対する通信処理の一部をＣＰＵ２００に行わせるかどうか、通信パケットを暗号化するかどうか等の、通信パケットに対する通信処理の内容を示す。
【００６３】
例えば、セッション状態メモリ２３６は、制御情報フィールドに、外部宛パケット又は内部宛パケットに対してＣＰＵ２００が行うべき処理を示す処理情報を格納する。この場合、ＣＰＵ２００は、この処理情報に従って外部宛パケット又は内部宛パケットを処理した結果を判定処理部３０４に与える。判定処理部３０４は、この結果に基づき、内部宛パケットの転送を許可するか否かを判定してよい。
【００６４】
セッション通信状態フィールドは、送信元通信機器及び宛先通信機器間の通信におけるセッションが、通信プロトコルにより定義されるいずれの状態にあるかを示す。例えば、メモリアドレス０におけるセッション通信状態“ＥＳＴＢＬＳＨＤ”は、ＴＣＰプロトコルにより定義されるＴＣＰ状態遷移において、送信元通信機器及び宛先通信機器間でコネクションが確立している状態を示す。また、メモリアドレス１におけるセッション通信状態“ＳＹＮ＿ＳＥＮＴ＿１”は、ＴＣＰ状態遷移において、端末１６０がコネクションを確立するために送信した、ＳＹＮフラグが“１”である通信パケットを中継装置１５０が受信したことを示す。
【００６５】
ウィンドウサイズフィールド及びＡＣＫ番号フィールドは、ＬＡＮ側からＷＡＮ側に対して送信された、ＴＣＰプロトコルに基づくＴＣＰ通信パケットによって、宛先通信機器に通知されたウィンドウサイズ及び確認応答番号（ＡＣＫ番号）を示す。すなわち、セッション状態メモリ２３６は、外部宛パケットのヘッダにおける、ウィンドウフィールドの値を示すウィンドウ情報、及び確認応答番号フィールドの値を示す確認応答番号情報を、セッション状態情報におけるウィンドウサイズフィールド及びＡＣＫ番号フィールドに格納する。
【００６６】
シーケンス番号フィールドは、ＷＡＮ側からＬＡＮ側に対して送信された、ＴＣＰプロトコルに基づくＴＣＰ通信パケットによって、宛先通信機器に通知されたシーケンス番号を示す。すなわち、セッション状態メモリ２３６は、内部宛パケットのヘッダにおけるシーケンス番号フィールドの値を示すシーケンス番号情報を、セッション状態情報におけるシーケンス番号フィールドに格納する。
【００６７】
また、中継許可カウントフィールドは、セッション状態情報におけるシーケンス番号フィールドと同一シーケンス番号を有する通信パケットを中継した回数を示す。すなわち、セッション状態メモリ２３６は、シーケンス番号情報の示す値とシーケンス番号フィールドの値が同一である内部宛パケットを転送装置が転送した回数を示す同一シーケンス番号回数情報を、セッション状態情報における中継許可カウントフィールドに格納する。
【００６８】
以上において、セッション管理情報は、セッション管理情報を検索するために用いられる検索キーの少なくとも一部に対応する検索対象ビットフィールドであるネットワーク層プロトコルフィールド、トランスポート層プロトコルフィールド、リモートポート番号フィールド、ローカルポート番号フィールド、リモートアドレスフィールド、及びローカルアドレスフィールドの１以上が、任意の値と一致すべきことを示す値である任意指定値“Ａｎｙ”を含んでもよい。ここで、“Ａｎｙ”は、当該フィールドの値として通常用いられない値、例えば“ａｌｌ
１”等の値であってよい。
【００６９】
図６は、状態更新部３０８の動作の一例を説明する図である。本実施形態において、中継装置１５０は、内部宛パケット及び外部宛パケットとして、例えば、ＴＣＰに基づくＴＣＰパケットを転送する。この場合、セッション状態メモリ２３６は、サーバ１２０と端末１６０との間のＴＣＰセッションの状態を示すＴＣＰ状態をセッション状態フィールドに格納する。
【００７０】
セッション状態メモリ２３６は、ＴＣＰ状態として、ＣＬＯＳＥＤ、ＳＹＮ＿ＲＣＶＤ＿１、ＳＹＮ＿ＲＣＶＤ＿２、ＳＹＮ＿ＳＥＮＴ＿１、ＳＹＮ＿ＳＥＮＴ＿２、ＥＳＴＢＬＳＨＤ、ＦＩＮ＿ＷＡＩＴ、ＣＬＯＳＩＮＧ、ＴＩＭＥ＿ＷＡＩＴ、ＣＬＯＳＥ＿ＷＡＩＴ、又はＬＡＳＴ＿ＡＣＫのいずれかの状態を格納する。ここで、中継装置１５０が、内部宛パケット又は外部宛パケットを転送した場合、状態更新部３０８は、この内部宛パケット又は外部宛パケットに対応するＴＣＰセッションの状態を示すＴＣＰ状態を更新する。
【００７１】
本実施形態において、状態更新部３０８は、外部送信パケット及び内部送信パケットのそれぞれのヘッダにおけるＴＣＰフラグに基づき、ＴＣＰ状態を更新する。これにより、セッション状態メモリ２３６は、サーバ１２０におけるＴＣＰセッションの状態と、端末１６０におけるＴＣＰセッションの状態とを示すＴＣＰ状態を格納する。また、判定処理部３０４は、内部宛パケットのヘッダにおけるＴＣＰフラグ、及びＴＣＰ状態に基づき、内部宛パケットの転送を許可するか否かを判定する。
【００７２】
ＴＣＰセッションが開始されていない場合、セッション状態メモリ２３６は、ＴＣＰ状態として、ＣＬＯＳＥＤを格納する。ここで、中継装置１５０が、ＳＹＮフラグを含む内部宛パケットを転送した場合、状態更新部３０８は、ＴＣＰ状態を、ＳＹＮ＿ＲＣＶＤ＿１に更新する。また、中継装置１５０が更にＳＹＮフラグとＡＣＫフラグとを含む外部宛パケット、及びＡＣＫフラグを含む内部宛パケットを転送した場合、状態更新部３０８は、ＴＣＰ状態を、ＳＹＮ＿ＲＣＶＤ＿２、及びＥＳＴＢＬＳＨＤのそれぞれに順次更新する。
【００７３】
また、ＴＣＰ状態がＣＬＯＳＥＤである場合に、中継装置１５０が、ＳＹＮフラグを含む外部宛パケット、ＳＹＮフラグとＡＣＫフラグとを含む内部宛パケット、ＡＣＫフラグを含む外部宛パケットを転送した場合、状態更新部３０８は、ＴＣＰ状態を、ＳＹＮ＿ＳＥＮＴ＿１、ＳＹＮ＿ＳＥＮＴ＿２、及びＥＳＴＢＬＳＨＤのそれぞれに順次更新する。
【００７４】
そして、ＴＣＰ状態がＥＳＴＢＬＳＨＤである場合に、中継装置１５０が、ＦＩＮフラグを含む外部宛パケット、ＦＩＮフラグとを含む内部宛パケット、ＡＣＫフラグを含む内部宛パケットを転送した場合、状態更新部３０８は、ＴＣＰ状態を、ＦＩＮ＿ＷＡＩＴ、ＣＬＯＳＩＮＧ、及びＴＩＭＥ＿ＷＡＩＴのそれぞれに順次更新する。この場合、状態更新部３０８は、ＴＣＰ状態を、所定の時間の経過に応じてＴＩＭＥ＿ＷＡＩＴから、ＣＬＯＳＥＤに更新する。
【００７５】
また、ＴＣＰ状態がＥＳＴＢＬＳＨＤである場合に、中継装置１５０が、ＦＩＮフラグを含む内部宛パケット、ＦＩＮフラグとを含む外部宛パケット、ＡＣＫフラグを含む内部宛パケットを転送した場合、状態更新部３０８は、ＴＣＰ状態を、ＣＬＯＳＥ＿ＷＡＩＴ、ＬＡＳＴ＿ＡＣＫ、及びＣＬＯＳＥＤのそれぞれに順次更新する。本実施形態によれば、状態更新部３０８が内部宛パケット及び外部宛パケットのそれぞれに応じてＴＣＰ状態を更新することにより、内部宛パケットの転送の可否を適切に判定することができる。尚、ＳＹＮ、ＡＣＫ、又はＦＩＮフラグを含む内部宛パケット又は外部宛パケットは、それぞれ、ＳＹＮ、ＡＣＫ、又はＦＩＮフラグが“１”である内部宛パケット又は外部宛パケットである。
【００７６】
図７は、判定処理部３０４の動作を説明する図である。本実施形態において、判定処理部３０４は、セッション状態メモリ２３６に格納されたＴＣＰ状態、ウィンドウ情報（ＲＷＮＤ）、確認応答番号情報（ＲＮＸＴ）、シーケンス番号情報（ＬＳＥＱ）、及び同一シーケンス番号回数情報（ＬＳＣＮＴ）に基づき、内部宛パケットの転送の可否を判定する。
【００７７】
例えば、ＴＣＰ状態が、ＳＹＮ＿ＳＥＮＴ＿１である場合、判定処理部３０４は、ＳＹＮフラグとＡＣＫフラグとを含む内部宛パケット、又はＲＳＴフラグを含む内部宛パケットに対してのみ、転送を許可する。ＴＣＰ状態が、ＳＹＮ＿ＳＥＮＴ＿２又はＳＹＮ＿ＲＣＶＤ＿２である場合、判定処理部３０４は、ＡＣＫフラグ又はＲＳＴフラグを含む内部宛パケットに対してのみ、転送を許可する。ＴＣＰ状態が、ＳＹＮ＿ＲＣＶＤ＿１である場合、判定処理部３０４は、ＳＹＮフラグを含む内部宛パケットに対してのみ、転送を許可する。
【００７８】
また、ＴＣＰ状態が、ＥＳＴＢＬＳＨＤ、ＦＩＮ＿ＷＡＩＴ、又はＣＬＯＳＩＮＧである場合、判定処理部３０４は、ＳＹＮフラグを含まない内部宛パケットに対してのみ、転送を許可する。ＴＣＰ状態が、ＣＬＯＳＥ＿ＷＡＩＴ、又はＬＡＳＴ＿ＡＣＫである場合、判定処理部３０４は、ＳＹＮフラグ及びＲＳＴフラグのいずれも含まない内部宛パケットに対してのみ、転送を許可する。
【００７９】
更には、ＴＣＰ状態が、ＳＹＮ＿ＳＥＮＴ＿１である場合、判定処理部３０４は、内部宛パケットヘッダにおけるシーケンス番号フィールドの値（ＳＥＱ＃）によらずに、転送の可否を判定する。また、ＴＣＰ状態が、ＳＹＮ＿ＳＥＮＴ＿２、ＳＹＮ＿ＲＣＶＤ＿２、ＣＬＯＳＥ＿ＷＡＩＴ、又はＬＡＳＴ＿ＡＣＫである場合、判定処理部３０４は、ＳＥＱ＃＝ＲＮＸＴの内部宛パケットに対してのみ、転送を許可する。ＴＣＰ状態が、ＳＹＮ＿ＲＣＶＤ＿１又はＣＬＯＳＩＮＧである場合、判定処理部３０４は、ＳＥＱ＃＝ＬＳＥＱであり、かつＬＳＣＮＴが所定の上限値の一例である４より小さい内部宛パケットに対してのみ、転送を許可する。
【００８０】
すなわち、ＲＣＮＴが予め定められた回数に達した後において、＃ＳＥＱ＝ＬＳＥＱである場合、判定処理部３０４は、その内部宛パケットの転送を許可しない。この場合、端末１６０等のＬＡＮ内の通信装置を、例えばＤｏｓ攻撃等の、大量のデータや不正パケットを送りつける不正なアクセス等から保護することができる。
【００８１】
また、ＴＣＰ状態が、ＥＳＴＢＬＳＨＤ又はＦＩＮ＿ＷＡＩＴである場合、判定処理部３０４は、ＲＮＸＴ≦ＳＥＱ＃≦ＲＮＸＴ＋ＲＷＮＤである内部宛パケットに対してのみ、転送を許可する。但し、ここで、内部宛パケットがＴＣＰデータを含み、かつ、ＳＥＱ＃＝ＬＳＥＱである場合は、判定処理部３０４は、ＬＳＣＮＴ＜４の場合にのみ、この内部宛パケットの転送を許可する。本実施形態によれば、内部宛パケットの転送の可否を適切に判定することができる。また、これにより、端末１６０等を、ＬＡＮの外部からの不正なアクセスから保護することができる。
【００８２】
図８は、通信処理デバイス２３０の動作の一例を説明するフローチャートである。中継装置１５０が受信した通信パケットが外部宛パケットであり（Ｓ１０２）、この外部宛パケットに対応するセッション管理情報が連想記憶メモリ２３４に格納されている場合（Ｓ１０４）、転送処理部３０６は、この外部宛パケットをサーバ１２０に転送し（Ｓ１０６）、状態更新部３０８は、この外部宛パケットにヘッダに基づき、セッション状態情報を更新する（Ｓ１０８）。
【００８３】
一方、外部宛パケットに対応するセッション管理情報が連想記憶メモリ２３４に格納されていない場合（Ｓ１０４）、この外部宛パケットが、ＳＹＮフラグを含む、サーバ１２０との間のセッションの確立を求めるパケットであれば（Ｓ１１０）、セッション管理部３０２は、この外部宛パケットに対応するセッション管理情報を、連想記憶メモリ２３４に新たに格納させ（Ｓ１１２）、Ｓ１０６に進む。尚、Ｓ１１０において、外部宛パケットがＳＹＮフラグを含まない場合、判定処理部３０４は、この外部宛パケットを破棄する（Ｓ１１４）。
【００８４】
また、中継装置１５０が受信した通信パケットが内部宛パケットであり（Ｓ１０２）、この内部宛パケットに対応するセッション管理情報が連想記憶メモリ２３４に格納されている場合（Ｓ１１６）、判定処理部３０４は、この内部宛パケットの転送を許可するか否かを判定する（Ｓ１１８）。
【００８５】
そして、転送が許可された場合、判定処理部３０４は、この内部宛パケットを端末１６０に転送し（Ｓ１０６）、状態更新部３０８は、この内部宛パケットのヘッダに基づき、セッション状態情報を更新する（Ｓ１０８）。
【００８６】
この場合、状態更新部３０８は、例えば、セッション状態メモリ２３６に格納された、このセッションに対応するシーケンス番号情報を、この内部宛パケットのヘッダにおけるシーケンス番号フィールドの値を示す情報に更新する。
【００８７】
ここで、この内部宛パケットに対応するセッション管理情報が連想記憶メモリ２３４に格納されていない場合（Ｓ１１６）、判定処理部３０４は、この内部宛パケットの転送を許可せず、この内部宛パケットを破棄する（Ｓ１１４）。また、Ｓ１１８において、転送が許可されない場合も、判定処理部３０４は、この内部宛パケットを破棄する（Ｓ１１８）。本実施形態によれば、内部送信パケットを転送するか否かを適切に判定することができる。
【００８８】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００８９】
上記説明から明らかなように、本発明によれば通信パケットを適切に転送することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る通信システム１００を示す図である。
【図２】本発明の実施形態に係る中継装置１５０の構成を示す図である。
【図３】本発明の実施形態に係る通信処理デバイス２３０の構成を示す図である。
【図４】本発明の実施形態に係る連想記憶メモリ２３４の一例を、表形式により示す図である。
【図５】本発明の実施形態に係るセッション状態メモリ２３６の一例を、表形式により示す図である。
【図６】状態更新部３０８の動作を説明する図である。
【図７】判定処理部３０４の動作を説明する図である。
【図８】通信処理デバイス２３０の動作の一例を説明するフローチャートである。
【符号の説明】
１００・・・通信システム、１２０ａ〜ｂ・・・サーバ、１３０・・・ＩＳＰ中継装置、１４０・・・外部ネットワーク、１５０・・・中継装置、１６０ａ〜ｂ・・・端末、２００・・・ＣＰＵ、２１０・・・ＲＯＭ、２２０・・・ＲＡＭ、２３０・・・通信処理デバイス、２３２ａ〜ｄ・・・物理層インターフェイス、２３４・・・連想記憶メモリ、２３６・・・セッション状態メモリ、２４０・・・ハードディスクドライブ、２５０・・・フレキシブルディスクドライブ、２６０・・・ＣＤ−ＲＯＭドライブ、２７０・・・ブリッジ、２７２・・・無線ＬＡＮインターフェイス、２７４・・・シリアルインターフェイス、２７６・・・パラレルインターフェイス、２８０・・・ＣＰＵバス、２８２・・・Ｉ／Ｏバス、２９０・・・フレキシブルディスク、２９５・・・ＣＤ−ＲＯＭ、３０２・・・セッション管理部、３０４・・・判定処理部、３０６・・・転送処理部、３０８・・・状態更新部、３１０・・・転送判定部
【図１】
2004153343.tif 000003
【図２】
2004153343.tif 000004
【図３】
2004153343.tif 000005
【図４】
2004153343.tif 000006
【図５】
2004153343.tif 000007
【図６】
2004153343.tif 000008
【図７】
2004153343.tif 000009
【図８】
2004153343.tif 000010