(57)【特許請求の範囲】
【請求項１】
アクセスゲートウェア機器が、非オンラインユーザホストがアクセスしようとするＷｅｂサーバを模倣して、前記非オンラインユーザホストと伝送制御プロトコル（ＴＣＰ）接続およびセキュアソケットレイヤ（ＳＳＬ）接続される状態において、行うパケット処理方法であって、
前記アクセスゲートウェイ機器が、前記非オンラインユーザホストから送信された、前記ＳＳＬに基づくハイパーテキスト転送プロトコル（ＨＴＴＰＳ）パケットであって、ソースインターネットプロトコル（ＩＰ）アドレスおよび宛先ＩＰアドレスが含まれるＨＴＴＰＳパケットを受信することと、
前記アクセスゲートウェイ機器が、前記ＨＴＴＰＳパケットに基づいて、ソースＩＰアドレスおよび宛先ＩＰアドレスが含まれる複数の非オンラインユーザセッションエントリから構成されるエントリテーブルから前記ＨＴＴＰＳパケットの前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスと合致する非オンラインユーザセッションエントリを検索することと、
前記非オンラインユーザセッションエントリが見つかった場合に、
前記アクセスゲートウェイ機器が、前記非オンラインユーザセッションエントリにおけるトークン識別子（ＩＤ）に基づいて、前記非オンラインユーザセッションエントリに対応するユーザセッションがトークンを有するか否かを判断することと、
前記トークンＩＤが初期値でない場合に、前記ユーザセッションがトークンを有すると判断し、前記ＨＴＴＰＳパケットをＣＰＵに処理させることと、
前記トークンＩＤが初期値である場合に、前記ユーザセッションがトークンを有さないと判断し、トークンを第１トークンバケツから取得し、前記第１トークンバケツにおけるトークンの数は、前記アクセスゲートウェイ機器のＣＰＵ処理能力に応じて設定されることと、
トークンの取得に成功したときに、前記アクセスゲートウェイ機器が前記ＨＴＴＰＳパケットをＣＰＵへ送信して処理させることと、
トークンの取得に失敗したときに、前記アクセスゲートウェイ機器が前記ＨＴＴＰＳパケットを廃棄することと、を含むことを特徴とするパケット処理方法。
【請求項２】
前記非オンラインユーザセッションエントリが見つからなかった場合に、前記パケット処理方法は、
前記アクセスゲートウェイ機器が受信した前記ＨＴＴＰＳパケットに対応する非オンラインユーザセッションエントリを前記エントリテーブルに配置することを更に含むことを特徴とする請求項１に記載のパケット処理方法。
【請求項３】
前記アクセスゲートウェイ機器が、トークンの取得に成功する度に、更に、初期値であるトークンＩＤを取得したトークンＩＤに更新することを特徴とする請求項１に記載のパケット処理方法。
【請求項４】
前記アクセスゲートウェイ機器が、トークンの取得に成功する度に、前記非オンラインユーザセッションエントリにおけるトークン取得成功回数（ＳＣｏｕｎｔ）の値を単位量だけ増加し、前記非オンラインユーザセッションエントリにおけるトークン取得失敗回数（ＦＣｏｕｎｔ）の値を初期値にセットし、
前記アクセスゲートウェイ機器が、トークンの取得に失敗する度に、前記非オンラインユーザセッションエントリにおける前記ＦＣｏｕｎｔの値を単位量だけ増加することを特徴とする請求項１に記載のパケット処理方法。
【請求項５】
前記アクセスゲートウェイ機器が、前記非オンラインユーザセッションエントリにおける前記ＳＣｏｕｎｔの値が所定の第１閾値に達したと検出したときに、前記第１トークンバケツを第２トークンバケツに変更し、前記第２トークンバケツにおけるトークンの数は、前記第１トークンバケツにおけるトークンの数より遥かに小さいことと、
前記アクセスゲートウェイ機器が、前記非オンラインユーザセッションエントリにおける前記ＳＣｏｕｎｔの値が所定の第２閾値に達したと検出したときに、当該非オンラインユーザセッションエントリを削除し、前記第２閾値は、前記第１閾値より大きいことと、を更に含むことを特徴とする請求項４に記載のパケット処理方法。
【請求項６】
前記アクセスゲートウェイ機器が、前記非オンラインユーザセッションエントリにおける前記ＦＣｏｕｎｔの値が所定閾値に達したと判断したときに、前記ＨＴＴＰＳパケットを廃棄することを更に含むことを特徴とする請求項４に記載のパケット処理方法。
【請求項７】
前記非オンラインユーザセッションエントリを配置することは、
前記非オンラインユーザセッションエントリに対応するタイマを起動して計時させることと、
前記タイマの計時時間が所定エージング時間に達したときに前記非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが既に取得された場合に、前記アクセスゲートウェイ機器が、
前記非オンラインユーザセッションエントリを対応するユーザセッションについてトークンが取得されなかった状態に更新し、
前記非オンラインユーザセッションエントリにおけるＦＣｏｕｎｔの値を初期値にセットし、
当該タイマを再起動することと、を含むことを特徴とする請求項２に記載のパケット処理方法。
【請求項８】
非オンラインユーザホストがアクセスしようとするＷｅｂサーバを模倣して、前記非オンラインユーザホストと伝送制御プロトコル（ＴＣＰ）接続およびセキュアソケットレイヤ（ＳＳＬ）接続されるアクセスゲートウェイ機器であって、
プロセッサと、
機器の実行可能な指令を記憶する非一時的機器読み取り可能な記憶媒体と、を備え、
前記プロセッサは、前記機器の実行可能な指令を読み取って実行することにより、
前記非オンラインユーザホストから送信された、前記ＳＳＬに基づくハイパーテキスト転送プロトコル（ＨＴＴＰＳ）パケットであって、ソースインターネットプロトコル（ＩＰ）アドレスおよび宛先ＩＰアドレスが含まれるＨＴＴＰＳパケットを受信することと、
前記ＨＴＴＰＳパケットに基づいて、ソースＩＰアドレスおよび宛先ＩＰアドレスが含まれる複数の非オンラインユーザセッションエントリから構成されるエントリテーブルから前記ＨＴＴＰＳパケットの前記ソースＩＰアドレスおよび前記宛先ＩＰアドレスと合致する非オンラインユーザセッションエントリを検索することと、
前記非オンラインユーザセッションエントリが見つかった場合に、
前記非オンラインユーザセッションエントリにおけるトークン識別子（ＩＤ）に基づいて、前記非オンラインユーザセッションエントリに対応するユーザセッションがトークンを有するか否かを判断することと、
前記トークンＩＤが初期値でない場合に、前記ユーザセッションがトークンを有すると判断し、前記ＨＴＴＰＳパケットをＣＰＵに処理させることと、
前記トークンＩＤが初期値である場合に、前記ユーザセッションがトークンを有さないと判断し、トークンを第１トークンバケツから取得し、前記第１トークンバケツにおけるトークンの数は、前記アクセスゲートウェイ機器のＣＰＵ処理能力に応じて設定されることと、
トークンの取得に成功したときに、前記アクセスゲートウェイ機器が前記ＨＴＴＰＳパケットをＣＰＵへ送信して処理させることと、
トークンの取得に失敗したときに、前記アクセスゲートウェイ機器が前記ＨＴＴＰＳパケットを廃棄することと、を実行させる
ことを特徴とするアクセスゲートウェイ機器。
【請求項９】
前記非オンラインユーザセッションエントリが見つからなかった場合に、前記プロセッサは、更に、前記機器の実行可能な指令により、
受信した前記ＨＴＴＰＳパケットに対応する非オンラインユーザセッションエントリを前記エントリテーブルに配置することを実行させることを特徴とする請求項８に記載のアクセスゲートウェイ機器。
【請求項１０】
前記プロセッサは、更に、前記機器の実行可能な指令により、
トークンの取得に成功する度に、初期値であるトークンＩＤを取得したトークンＩＤに更新することを実行させることを特徴とする請求項８に記載のアクセスゲートウェイ機器。
【請求項１１】
前記プロセッサは、更に、前記機器の実行可能な指令により、
トークンの取得に成功する度に、前記非オンラインユーザセッションエントリにおけるトークン取得成功回数（ＳＣｏｕｎｔ）の値を単位量だけ増加し、前記非オンラインユーザセッションエントリにおけるトークン取得失敗回数（ＦＣｏｕｎｔ）の値を初期値にセットすることと、
トークンの取得に失敗する度に、前記非オンラインユーザセッションエントリにおける前記ＦＣｏｕｎｔの値を単位量だけ増加しことと、を実行させることを特徴とする請求項８に記載のアクセスゲートウェイ機器。
【請求項１２】
前記プロセッサは、更に、前記機器の実行可能な指令により、
前記非オンラインユーザセッションエントリにおける前記ＳＣｏｕｎｔの値が所定の第１閾値に達したと検出したときに、前記第１トークンバケツを第２トークンバケツに変更し、前記第２トークンバケツにおけるトークンの数は、前記第１トークンバケツにおけるトークンの数より遥かに小さいことと、
前記非オンラインユーザセッションエントリにおける前記ＳＣｏｕｎｔの値が所定の第２閾値に達したと検出したときに、当該非オンラインユーザセッションエントリを削除し、前記第２閾値は、前記第１閾値より大きいことと、を実行させることを特徴とする請求項１１に記載のアクセスゲートウェイ機器。
【請求項１３】
前記プロセッサは、更に、前記機器の実行可能な指令により、
前記非オンラインユーザセッションエントリにおける前記ＦＣｏｕｎｔの値が所定閾値に達したと判断したときに、前記ＨＴＴＰＳパケットを廃棄することを実行させることを特徴とする請求項１１に記載のアクセスゲートウェイ機器。
【発明の詳細な説明】
【技術分野】
【０００１】
[関連出願の相互引用]
本願は、出願日が２０１６年１２月２６日であり、出願番号が２０１６１１２２０６３４．３であり、発明名称が「パケット処理方法および装置」である中国特許出願の優先権を主張し、当該出願の全文が引用により本願に組み込まれる。
【背景技術】
【０００２】
ポータル（Ｐｏｒｔａｌ）認証は、柔軟なネットワークアクセス制御技術であり、ウェブ（Ｗｅｂ）ページを介してユーザのユーザ名およびパスワードを取得し、ユーザに身分認証を行なうことにより、アクセス制御の目的を果す。ユーザホスト（またはＰｏｒｔａｌクライアント）は、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ、ハイパーテキスト転送プロトコル）またはＨＴＴＰＳ（Ｈｙｐｅｒ Ｔｅｘｔ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ ｏｖｅｒ Ｓｅｃｕｒｅ Ｓｏｃｋｅｔ Ｌａｙｅｒ、ハイパーテキスト転送プロトコル・オーバーセキュアソケットレイヤ）を用いて外部ネットワーク、例えば、Ｉｎｔｅｒｎｅｔ（インターネット）へアクセスできる。
【０００３】
ＨＴＴＰＳを用いてＩｎｔｅｒｎｅｔへアクセスする際、ユーザホストは、ＨＴＴＰＳパケットを発信する。ＢＲＡＳ（Ｂｒｏａｄｂａｎｄ Ｒｅｍｏｔｅ Ａｃｃｅｓｓ Ｓｅｒｖｅｒ、ブロードバンドリモートアクセスサーバ）機器は、当該パケットを受信した後、ユーザに対する認証が通ったか否かを判断する。Ｐｏｒｔａｌ認証が未だ行なわれていない場合、ＢＲＡＳ機器は、ユーザホストがアクセスしたＷｅｂサーバを模倣し、ユーザホストとはＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ、伝送制御プロトコル）接続およびＳＳＬ（Ｓｅｃｕｒｅ Ｓｏｃｋｅｔ Ｌａｙｅｒ、セキュアソケットレイヤ）接続を確立し、ユーザホストへリダイレクトページをプッシュする。このように、ユーザが当該リダイレクトページにユーザ名およびパスワードを入力することできる。
【０００４】
その後、ＢＲＡＳ機器は、Ｐｏｒｔａｌサーバとやり取りし、ユーザから入力されたユーザ名とパスワードを用いてユーザに対するＰｏｒｔａｌ認証を完成させる。認証が通った後、ユーザがオンラインし、ユーザホストがＩｎｔｅｒｎｅｔへ正常にアクセスできる。
【図面の簡単な説明】
【０００５】
【図１】本発明の例示的な実施例に示すパケット処理方法のフローチャートである。
【図２】本発明の別の例示的な実施例に示すパケット処理方法のフローチャートである。
【図３】本発明の例示的な実施例に示すハードウェア層においてＨＴＴＰＳパケットに対してマッチングを行う模式図である。
【図４】本発明の例示的な実施例に示すパケット処理装置の所在するアクセスゲートウェイ機器の構造模式図である。
【図５】本発明の例示的な実施例に示すアクセスゲートウェイ機器の１つの構造模式図である。
【図６】本発明の例示的な実施例に示すアクセスゲートウェイ機器の別の構造模式図である。
【発明を実施するための形態】
【０００６】
以下では、本発明の実施例の図面を組み合わせて本発明の実施例における解決手段を明瞭で完全に記述する。明らかに、記述される実施例が単に本発明の一部の実施例に過ぎず、全部の実施例ではない。本発明における実施例に基づいて、当業者が進歩性に値する労働をせずに成した全ての他の実施例は、何れも本発明の保護範囲に含まれる。
【０００７】
本発明で使用される用語は、単に特定の実施例を記述する目的であり、本発明を制限するためのものではない。本発明および添付する特許請求の範囲で使用される単数形式の「一種」、「前記」および「当該」も、文脈から他の意味を明瞭で分かる場合でなければ、複数の形式を含むことを意図する。理解すべきことは、本文で使用される用語「および/または」が、１つまたは複数の関連する列挙項目を含む如何なるまたは全ての可能な組み合わせを指す。
【０００８】
理解すべきことは、本発明において第１、第２、第３等という用語を用いて各種の情報を記述するが、これらの情報は、これらの用語に限定されるものではない。これらの用語は、単に同一のタイプの情報同士を区分するために用いられる。例えば、本発明の範囲を逸脱しない限り、第１情報が第２情報と呼称されてもよく、類似的に、第２情報が第１情報と呼称されてもよい。これは、コンテキストに依存する。例えば、ここで使用される言葉「場合」は、「…とき」や「…ときに」あるいは「特定の状況に応じて」として解釈されてもよい。
【０００９】
ＨＴＴＰＳに基づくＴＣＰ模倣過程において、ユーザホストとＢＲＡＳ機器との間のパケットやり取りが非常に多い。このように、オンラインを必要とするユーザが短時間内で大量いるとき、ＢＲＡＳ機器のＣＰＵ処理負担は、急激に増加してしまう。ＣＰＵの正常処理能力を超えると、機器はブレイクダウンしてしまう。上記問題を解決すべく、本発明の以下の実施例は、パケット処理方法、および当該方法に適用可能なパケット処理装置を提供する。
【００１０】
本発明の実施例の方法は、ＢＲＡＳ機器等のアクセスゲートウェイ機器によって実行される。当該方法では、アクセスゲートウェイ機器は、ユーザホストから送信されたＨＴＴＰＳパケットを受信し、当該ＨＴＴＰＳパケットにマッチングする非オンラインユーザセッションエントリを検索し、前記マッチングする非オンラインユーザセッションエントリが見つかった場合に、当該非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが取得されなかったと判断すれば、トークンを第１トークンバケツから取得し（ただし、第１トークンバケツにおけるトークンの数は、アクセスゲートウェイ機器のＣＰＵ処理能力に応じて設定される）、トークンの取得に成功したときに、当該ＨＴＴＰＳパケットをＣＰＵへ送信して処理させ、トークンの取得に失敗したときに、当該ＨＴＴＰＳパケットを廃棄する。これにより、第１トークンバケツが設置され、第１トークンバケツにおけるトークンの数がアクセスゲートウェイ機器のＣＰＵ処理能力に応じて設定されるとともに、非オンラインユーザセッションエントリが追加されて非オンラインユーザのセッション情報を記録する。ＣＰＵへ送信するＨＴＴＰＳパケット数も制限し、トークンが取得されたユーザセッションのＨＴＴＰＳパケットのみをＣＰＵへ送信して処理させる一方、トークンが取得されなかったユーザセッションのＨＴＴＰＳパケットをＣＰＵへ送信して処理させることなく、直接廃棄する。このため、ＣＰＵへ送信するＨＴＴＰＳパケットの流量制限は、実現される。短時間内で大量のユーザがオンラインを必要とするときには、アクセスゲートウェイ機器のＣＰＵ処理負担が軽減され、ＣＰＵの実際の負荷が正常処理能力を超えないことは確保される。
【００１１】
一実施例では、１つの第１トークンバケツが予め設置され、第１トークンバケツにおけるトークンの数がアクセスゲートウェイ機器のＣＰＵ処理能力に応じて設定され、ＣＰＵ処理能力が大きいほど、第１トークンバケツにおけるトークンの数は、多くなる。その際、図１に示すように、アクセスゲートウェイ機器によって実行されるパケット処理方法は、以下のステップを含む。
【００１２】
ステップＳ１０１では、ユーザホストから送信されたＨＴＴＰＳパケットを受信し、当該ＨＴＴＰＳパケットのソースＩＰアドレスおよび宛先ＩＰアドレスに基づいて、マッチングする非オンラインユーザセッションエントリを検索する。
【００１３】
本発明の実施例では、ユーザセッションは、ソースＩＰアドレスおよび宛先ＩＰアドレスに基づいて認識され、１つの非オンラインユーザセッションエントリは、１つのユーザセッションに対応する。
【００１４】
ステップＳ１０２では、マッチングする非オンラインユーザセッションエントリが見つかったか否かを判断してもよい。そうでなければ、ステップＳ１０３を実行し、そうであれば、ステップＳ１０４を実行する。
【００１５】
ステップＳ１０３では、当該ソースＩＰアドレスと宛先ＩＰアドレスとを含む非オンラインユーザセッションエントリを配置し、その後、本フローから退出してもよい。
【００１６】
仮に、ステップＳ１０１で受信されたＨＴＴＰＳパケットのソースＩＰアドレスがＩＰ１１であり、且つ宛先ＩＰアドレスがＩＰ１２であると、ステップＳ１０３で配置される非オンラインユーザセッションエントリは、表１に示される。
【表１】
0006824417.tif 000002
【００１７】
表１におけるトークンバケツ識別子（ＩＤ）は、トークンを取得するためのトークンバケツのＩＤを記録するために用いられ、トークンバケツＩＤの初期値は、０であってもよく、第１トークンバケツのＩＤであってもよい。トークンＩＤは、取得されたトークンのＩＤを記録するために用いられ、トークンＩＤの初期値が０であってもよい。トークンＩＤが０であるときに、当該エントリに対応するユーザセッションについてトークンが取得されなかったことを意味する。
【００１８】
または、表１には、当該エントリに対応するユーザセッションについてトークンが既に取得されたか否かを指示するための取得マークが更に設定される。当該取得マークの初期値は、対応するユーザセッションについてトークンが取得されなかった旨を示す値として設定される。
【００１９】
ステップＳ１０４では、当該非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが既に取得されたか否かを判断する。トークンが取得されなかった場合に、ステップＳ１０５を実行し、トークンが取得された場合に、ステップＳ１０９を実行する。
【００２０】
その中、非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが取得されたか否かは、方式一または方式二で判断される。
【００２１】
方式一では、当該エントリにおけるトークンＩＤが初期値である場合に、当該エントリに対応するユーザセッションについてトークンが取得されなかったと特定し、そうでなければ、当該エントリに対応するユーザセッションについてトークンが既に取得されたと特定する。
【００２２】
方式二では、当該エントリにおける取得マークによって、当該エントリに対応するユーザセッションについてトークンが既に取得されたか否かを判断する。
【００２３】
ステップＳ１０５では、第１トークンバケツからトークンを取得する。
【００２４】
ステップＳ１０６では、トークンの取得に成功したか否かを判断する。そうであれば、ステップＳ１０７を実行し、そうでなければ、ステップＳ１０８を実行する。
【００２５】
第１トークンバケツにトークンがまだ存在する場合に、その際、第１トークンバケツからトークンを成功に取得できる。そうでなければ、第１トークンバケツにトークンが存在しない場合に、その際、第１トークンバケツからトークンを取得することができない。
【００２６】
ステップＳ１０７では、当該ＨＴＴＰＳパケットをＣＰＵへ送信して処理させ、当該非オンラインユーザセッションエントリにおけるトークンＩＤを取得したトークンのＩＤに更新し、その後本フローから退出する。
【００２７】
ステップＳ１０７では、当該非オンラインユーザセッションエントリにおけるトークンバケツＩＤが０である場合に、当該トークンバケツＩＤを第１トークンバケツのＩＤに更新してもよい。当該エントリが取得マークを更に含む場合に、当該取得マークを、対応するユーザセッションについてトークンが既に取得された旨を示す値に更新してもよい。
【００２８】
ステップＳ１０８では、当該ＨＴＴＰＳパケットを廃棄した後、本フローから退出してもよい。
【００２９】
ステップＳ１０９では、当該ＨＴＴＰＳパケットをＣＰＵへ送信して処理させた後、本フローから退出してもよい。
【００３０】
ＨＴＴＰＳに基づくＴＣＰ模倣過程において、アクセスゲートウェイ機器がユーザホストから送信されたＨＴＴＰＳパケットを受信する度に、図１に示す方法に従って処理を行う。その後、ユーザＰｏｒｔａｌ認証が通り、ユーザがオンラインし、その際、ソースＩＰアドレスがユーザホストＩＰアドレスＩＰ１１である非オンラインユーザセッションエントリを削除し、これらのエントリに対応するユーザセッションについて取得されたトークンを解放し、解放されたトークンを第１トークンバケツに回収する。
【００３１】
また、ステップＳ１０３に非オンラインユーザセッションエントリを配置する際、対応するタイマを起動し、当該タイマに計時を開始させる。当該タイマの計時時間が所定エージング時間Ｔに達したとき、その際ユーザが依然としてオンラインせず、もし当該エントリに対応するユーザセッションについてトークンが既に取得された場合に、当該トークンを解放する必要があり、解放されたトークンを第１トークンバケツに回収し、当該エントリにおけるトークンＩＤを初期値にセットし、当該タイマを再起動することにより、当該タイマに再び計時を開始させる。また、当該エントリが取得マークを含むとき、当該取得マークを、対応するユーザセッションについてトークンが取得されなかった旨を示す値に更新する。このように、後で当該ユーザセッションに対応するＨＴＴＰＳパケットを再受信するときにトークンを再度取得する必要がある。このような場合に、以下の表２の記述を参照すれば分かるように、非オンラインユーザセッションエントリは、エージング時間Ｔを更に含む。
【００３２】
別の実施例では、１つの第１トークンバケツと１つの第２トークンバケツは、予め設定される。第１トークンバケツにおけるトークンの数は、アクセスゲートウェイ機器のＣＰＵ処理能力に応じて設定され、ＣＰＵ処理能力が大きいほど、第１トークンバケツにおけるトークンの数は、多くなる。第２トークンバケツにおけるトークンの数が少なく、第１トークンバケツにおけるトークンの数より遥かに少ない。第２トークンバケツにおけるトークンの具体的な数は、実際の状況に応じて予め設定される。第１トークンバケツは、正常非オンラインユーザセッションの数を規制し、第２トークンバケツは、異常非オンラインユーザセッションの数を規制する。その際、図２に示すように、アクセスゲートウェイ機器で実行されるパケット処理方法は、以下のステップを含む。
【００３３】
ステップＳ２０１では、ユーザホストから送信されたＨＴＴＰＳパケットを受信し、当該ＨＴＴＰＳパケットのソースＩＰアドレスおよび宛先ＩＰアドレスに基づいて、マッチングする非オンラインユーザセッションエントリを検索する。
【００３４】
本発明の実施例では、ユーザセッションは、ソースＩＰアドレスおよび宛先ＩＰアドレスに基づいて認識され、１つの非オンラインユーザセッションエントリは、１つのユーザセッションに対応する。
【００３５】
ステップＳ２０２では、マッチングする非オンラインユーザセッションエントリが見つかったか否かを判断してもよい。そうでなければ、ステップＳ２０３を実行し、そうであれば、ステップＳ２０４を実行する。
【００３６】
ステップＳ２０３では、当該ソースＩＰアドレスと宛先ＩＰアドレスとを含む非オンラインユーザセッションエントリを配置した後、本フローから退出する。
【００３７】
仮にステップＳ２０１で受信されたＨＴＴＰＳパケットのソースＩＰアドレスがＩＰ１１であり、且つ宛先ＩＰアドレスがＩＰ１２であると、ステップＳ２０３で配置される非オンラインユーザセッションエントリは、表２を参照する。
【表２】
0006824417.tif 000003
【００３８】
表２におけるトークンバケツＩＤは、トークンを取得するためのトークンバケツのＩＤを記録するために用いられ、トークンバケツＩＤの初期値は、０であってもよく、第１トークンバケツのＩＤであってもよい。
【００３９】
トークンＩＤは、取得されたトークンのＩＤを記録するために用いられ、トークンＩＤの初期値が０であってもよい。トークンＩＤが０であるとき、当該エントリに対応するユーザセッションについてトークンが取得されなかったことを意味する。
【００４０】
ＳＣｏｕｎｔは、トークン取得成功の回数を記録するために用いられ、トークンが取得されるたびに、ＳＣｏｕｎｔの値を単位量だけ増加する。例えば、ＳＣｏｕｎｔの値を１だけ加算し、ＦＣｏｕｎｔの値を初期値にセットする。ＳＣｏｕｎｔとＦＣｏｕｎｔの初期値は、０であってもよい。
【００４１】
ＦＣｏｕｎｔは、エージング時間Ｔ内でトークンの取得に失敗した連続回数を記録するために用いられ、トークンの取得に失敗する度に、ＦＣｏｕｎｔの値を単位量だけ増加する。例えば、ＦＣｏｕｎｔの値を１だけ加算する。
【００４２】
エージング時間Ｔ。表２に示す非オンラインユーザセッションエントリの配置時に、タイマを起動する。当該タイマの計時総時間は、所定エージング時間Ｔである。当該タイマの計時時間がＴに達したとき、当該エントリに対応するユーザセッションについて取得されたトークンを解放し、トークンＩＤを初期値にセットし、ＦＣｏｕｎｔの値を初期値にセットする。
【００４３】
または、表２には、更に、当該エントリに対応するユーザセッションについてトークンが既に取得されたか否かを指示するための取得マークが設置される。当該取得マークの初期値は、対応するユーザセッションについてトークンが取得されなかった旨を示す値として設定される。
【００４４】
ステップＳ２０４では、当該非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが既に取得されたか否かを判断してもよい。トークンが未だ取得されなかった場合に、ステップＳ２０５を実行し、トークンが既に取得された場合に、ステップＳ２１１を実行する。
【００４５】
非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが既に取得されたか否かは、上記方式一または上記方式二で判断されてもよいが、ここで繰り返し説明しない。
【００４６】
ステップＳ２０５では、当該非オンラインユーザセッションエントリにおけるＦＣｏｕｎｔの値が所定の閾値ＭＡＸ_Ｆに達したか否かを判断してもよい。そうであれば、ステップＳ２０６を実行し、そうでなければ、ステップＳ２０７を実行する。
【００４７】
ステップＳ２０６では、当該ＨＴＴＰＳパケットを廃棄した後で、本フローから退出する。
【００４８】
ステップＳ２０７では、第１トークンバケツからトークンを取得する。
【００４９】
ステップＳ２０８では、トークンの取得に成功したか否かを判断する。そうであれば、ステップＳ２０９を実行し、そうでなければ、ステップＳ２１０を実行する。
【００５０】
第１トークンバケツにまだトークンが存在する場合に、その際第１トークンバケツからトークンを成功に取得できる。そうでなければ、第１トークンバケツにトークンが存在しない場合に、その際第１トークンバケツからトークンを取得することができない。
【００５１】
ステップＳ２０９では、当該ＨＴＴＰＳパケットをＣＰＵへ送信して処理させ、当該非オンラインユーザセッションエントリにおけるトークンＩＤを取得されたトークンのＩＤに更新し、ＳＣｏｕｎｔの値を単位量だけ増加し、ＦＣｏｕｎｔの値を初期値にセットし、その後本フローから退出する。
【００５２】
ステップＳ２０９では、当該非オンラインユーザセッションエントリにおけるトークンバケツＩＤが０である場合に、当該トークンバケツＩＤを第１トークンバケツのＩＤに更新する。当該エントリが取得マークを更に含む場合に、当該取得マークを、対応するユーザセッションについてトークンが既に取得された旨を示す値に更新する。
【００５３】
ステップＳ２１０では、当該ＨＴＴＰＳパケットを廃棄し、当該非オンラインユーザセッションエントリにおけるＦＣｏｕｎｔの値を単位量だけ増加し、その後本フローから退出する。
【００５４】
ステップＳ２１０では、当該非オンラインユーザセッションエントリにおけるトークンバケツＩＤが０である場合に、当該トークンバケツＩＤを第１トークンバケツのＩＤに更新する。
【００５５】
ステップＳ２１１では、当該ＨＴＴＰＳパケットをＣＰＵへ送信して処理させた後、本フローから退出する。
【００５６】
また、本実施例の方法では、非オンラインユーザセッションエントリにおけるＳＣｏｕｎｔの値が所定の第１閾値ＭＡＸ_Ｓ１に達したと検出されたときに、当該エントリに対応するユーザセッションが異常非オンラインユーザセッションであると見なされ、トークンを取得するためのトークンバケツを第１トークンバケツから第２トークンバケツに変更してもよい。具体的に、非オンラインユーザセッションエントリにおけるトークンバケツＩＤを第２トークンバケツのＩＤに変更する。このように、図２に示すステップＳ２０７において第２トークンバケツからトークンを取得する。その後、当該エントリにおけるＳＣｏｕｎｔの値が引き続き増加すれば、ＳＣｏｕｎｔの値が所定の第２閾値ＭＡＸ_Ｓ２に達したと検出されたときに、当該エントリを削除し、当該エントリに対応するユーザセッションについて取得されたトークンを解放し、解放されたトークンを第２トークンバケツに回収する。ＭＡＸ_Ｓ２は、ＭＡＸ_Ｓ１より大きい。
【００５７】
ユーザＰｏｒｔａｌ認証が通っており、ユーザがオンラインした場合に、ソースＩＰアドレスがユーザホストＩＰアドレスＩＰ１１である非オンラインユーザセッションエントリを削除し、これらのエントリに対応するユーザセッションについて取得されたトークンを解放する。
【００５８】
また、ステップＳ２０３において非オンラインユーザセッションエントリを配置するとき、更にタイマを起動し、当該タイマに計時を開始させる。当該タイマの計時時間が所定エージング時間Ｔに達したとき、その際ユーザが依然としてオンラインしていないが、当該エントリに対応するユーザセッションについてトークンが既に取得された場合に、当該トークンを解放する必要があり、解放されたトークンを対応するトークンバケツに回収し、当該エントリにおけるトークンＩＤを初期値にセットし、当該エントリにおけるＦＣｏｕｎｔの値を初期値にセットし、当該タイマを再起動することにより、当該タイマに改めて計時を開始させる。また、当該エントリが取得マークを含むとき、当該取得マークを、対応するユーザセッションについてトークンが取得されなかった旨を示す値に更新する。このように、後で、当該ユーザセッションに対応するＨＴＴＰＳパケットは、トークンの再度取得が必要である。
【００５９】
実際の応用場面では、ユーザホストの電源が投入された後、それにインストールされた大量のプログラムは、自動的にＨＴＴＰＳパケットを発してサーバへの接続を要求する可能性がある。しかし、ユーザがこれらのプログラムを使用する必要がないため、ユーザ名とパスワードが入力されないまま、Ｐｏｒｔａｌ認証が完成できない。これらのプログラムは、常にＨＴＴＰＳパケットを発してサーバへの接続を要求する。このような場合に、ユーザホストで発されたＨＴＴＰＳパケットは、アクセスゲートウェイ機器へ攻撃を与える。本発明の実施例では、図２に示す方法を採用し、正常非オンラインユーザセッションの数を規制するための第１トークンバケツと、異常非オンラインユーザセッションの数を規制するための第２トークンバケツとを設けることにより、ユーザセッションについてトークンの取得回数がＭＡＸ_Ｓ１に達してもユーザが依然としてオンラインしていないとき、その際、当該ユーザセッションを異常非オンラインユーザセッションとし、当該セッションのＨＴＴＰＳパケットを攻撃パケットとし、当該異常非オンラインユーザセッションがトークン数の非常に少ない第２トークンバケツしかからトークンを取得できないことを規制し、更に異常非オンラインユーザセッションの流量を規制する。
【００６０】
明らかに、３つのトークンバケツ、引いてはより多くのトークンバケツを設置してより繊細な流量制限方式を実現する。３つのトークンバケツを設置することを例とすると、上記第１トークンバケツおよび第２トークンバケツの他に、第３トークンバケツを更に設置する。第３トークンバケツにおけるトークンの数は、第１トークンバケツにおけるトークンの数の所定百分率（例えば、第１トークンバケツにおけるトークンの数の４０%）である。初期時に、第１トークンバケツからトークンを取得する。アクセスゲートウェイ機器のＣＰＵ負荷が所定負荷閾値を超えたと検出されたときに、トークンを取得するためのトークンバケツを第１トークンバケツから第３トークンバケツに変更する。このように、第３トークンバケツからトークンを取得できる。その後、非オンラインユーザセッションエントリにおけるＳＣｏｕｎｔの値がＭＡＸ_Ｓ１に達したと検出されたときに、トークンを取得するためのトークンバケツを第３トークンバケツから第２トークンバケツに変更する。このように、第２トークンバケツからトークンを取得できる。
【００６１】
以下では、１つの具体的な実例により、図２に示すパケット処理方法を詳細に説明する。本実施例では、アクセスゲートウェイ機器の下層ハードウェア転送実装に２つのトークンバケツが作成される。当該２つのトークンバケツは、それぞれトークンバケツＩＤがｂｕｃｋｅｔ２１である第１トークンバケツ、および、トークンバケツＩＤがｂｕｃｋｅｔ２２である第２トークンバケツである。第１トークンバケツにおけるトークンの数は、アクセスゲートウェイ機器のＣＰＵ処理能力に応じて設定され、第２トークンバケツにおけるトークンの数は、非常に少ない。
【００６２】
アクセスゲートウェイ機器におけるＰｏｒｔａｌ機能をイネーブルしたポートでは、以下の４つのルールが固定的に配信される。
【００６３】
第１ルールＲｕｌｅ１は、認証不要ルールである。当該ルールは、宛先ＩＰアドレスがＰｏｒｔａｌサーバまたは幾つかの認証不要なＷｅｂサーバのＩＰアドレスであるＨＴＴＰ／ＨＴＴＰＳパケットを直接転送するよう規定するために用いられる。
【００６４】
第２ルールＲｕｌｅ２は、宛先ポート番号が８０であるＨＴＴＰパケットをＣＰＵへリダイレクトするよう規定するために用いられる。
【００６５】
第３ルールＲｕｌｅ３は、宛先ポート番号が４４３であるＨＴＴＰＳパケットをＣＰＵへリダイレクトするよう規定するために用いられる。
【００６６】
第４ルールＲｕｌｅ４は、上記ルールＲｕｌｅ１とＲｕｌｅ２とＲｕｌｅ３とにヒットしていないパケットを廃棄するよう規定するために用いられる。
【００６７】
ユーザがＰｏｒｔａｌ認証を通した場合、Ｐｏｒｔａｌユーザエントリが配信される。Ｐｏｒｔａｌユーザエントリのマッチング順は、Ｒｕｌｅ１とＲｕｌｅ２の間に位置する。その後、ユーザホストから発されたＨＴＴＰ／ＨＴＴＰＳパケットは、当該Ｐｏｒｔａｌユーザエントリに基づいて転送される。本発明の実施例において追加される非オンラインユーザセッションエントリのマッチング順は、Ｒｕｌｅ２とＲｕｌｅ３の間に位置し、非オンラインユーザホストのＨＴＴＰＳパケットに対して流量制限を行ない、ＣＰＵ（３０１）の実際の負荷が正常処理能力を超えないことを確保し、且つＣＰＵを攻撃から保護するために用いられる。Ｒｕｌｅ１、Ｐｏｒｔａｌユーザエントリ、Ｒｕｌｅ２、非オンラインユーザセッションエントリ、Ｒｕｌｅ３、Ｒｕｌｅ４のマッチング順は、図３に示される。図３は、単にハードウェア層における各エントリのマッチング順を模式的に示し、限定性を有さない。
【００６８】
場合一では、非オンラインユーザセッションの最初のＨＴＴＰＳパケットが受信された。
【００６９】
当該ＨＴＴＰＳパケットのソースＩＰアドレスが１０．０．０．２であり、宛先ＩＰアドレスがｈｔｔｐｓ:／／１００．１．１．２であり、宛先ポート番号が４４３であると仮定する。
【００７０】
そうすると、アクセスゲートウェイ機器は、ハードウェア層において当該ＨＴＴＰＳパケットを受信した後、それぞれＲｕｌｅ１、Ｐｏｒｔａｌユーザエントリ、Ｒｕｌｅ２、非オンラインユーザセッションエントリとマッチングし、何れもヒットしなかった場合に、引き続きＲｕｌｅ３とマッチングする。結果としてマッチングする場合に、当該ＨＴＴＰＳパケットをＣＰＵへ送信してもよい。ＣＰＵは、ハードウェア層において表３−１に示す非オンラインユーザセッションエントリを配信してもよい。当該エントリのマッチング順は、Ｒｕｌｅ２とＲｕｌｅ３の間に位置する。
【表３−１】
0006824417.tif 000004
【００７１】
場合二では、当該非オンラインユーザセッションの２番目のＨＴＴＰＳパケットが受信された。
【００７２】
アクセスゲートウェイ機器は、ハードウェア層において当該２番目のＨＴＴＰＳパケットを受信した後、それぞれＲｕｌｅ１、Ｐｏｒｔａｌユーザエントリ、Ｒｕｌｅ２とマッチングし、何れもヒットしなかった場合に、引き続きローカルに保存された非オンラインユーザセッションエントリとマッチングする。結果として表３−１に示すエントリにヒットした。当該エントリにおけるトークンＩＤが０であることに基づいて、当該エントリに対応するユーザセッションについてトークンが取得されなかったと特定された場合に、第１トークンバケツｂｕｃｋｅｔ２１からトークンを取得する。トークンの取得に成功した場合に、取得されたトークンのＩＤを１００と仮定すれば、当該エントリにおけるトークンＩＤを１００に更新し、ＳＣｏｕｎｔの値を１だけ加算し、ＦＣｏｕｎｔの値を０にクリアし、引き続きＲｕｌｅ３とマッチングし、Ｒｕｌｅ３に従って当該ＨＴＴＰＳパケットをＣＰＵへ送信して処理させる。その際、表３−１は、表３−２のように更新される。
【表３−２】
0006824417.tif 000005
【００７３】
トークンの取得に失敗した場合に、当該ＨＴＴＰＳパケットを廃棄し、ＦＣｏｕｎｔの値を１だけ加算する。その際、表３−１は、表３−３のように更新される。
【表３−３】
0006824417.tif 000006
【００７４】
場合三では、当該非オンラインユーザセッションの後続のＨＴＴＰＳパケットが受信された。
【００７５】
場合二においてトークンの取得に成功すれば、ハードウェア層には、後続のＨＴＴＰＳパケットを受信した後、それぞれＲｕｌｅ１、Ｐｏｒｔａｌユーザエントリ、Ｒｕｌｅ２とマッチングし、何れもヒットしなかった場合に、引き続きローカルに保存された非オンラインユーザセッションエントリとマッチングする。結果として表３−２に示すエントリにヒットした。当該エントリにおけるトークンＩＤが０でないことに基づいて、当該エントリに対応するユーザセッションについてトークンが既に取得されたと特定されたため、引き続きＲｕｌｅ３とマッチングし、Ｒｕｌｅ３に従って当該ＨＴＴＰＳパケットをＣＰＵへ送信して処理させる。その際、表３−２に示す非オンラインユーザセッションエントリについて更新しない。
【００７６】
このように、ＨＴＴＰＳに基づくＴＣＰ模倣過程が完了された後、ユーザに対してＰｏｒｔａｌ認証を行なう。認証が通った後、ユーザがオンラインし、ＣＰＵは、ハードウェア層へＰｏｒｔａｌユーザエントリを配信し、ハードウェア層に対して、ソースＩＰアドレスが１０．０．０．２である非オンラインユーザセッションエントリを削除し、これらのエントリに対応するユーザセッションについて取得されたトークンを解放し、且つ解放されたトークンをトークンバケツに回収するよう、通知する。
【００７７】
場合二においてトークンの取得に失敗すれば、ハードウェア層には、後続のＨＴＴＰＳパケットを受信した後、それぞれＲｕｌｅ１、Ｐｏｒｔａｌユーザエントリ、Ｒｕｌｅ２とはマッチングし、何れもヒットしなかった場合に、引き続きローカルに保存された非オンラインユーザセッションエントリとマッチングする。結果として表３−３に示すエントリにヒットした。当該エントリにおけるトークンＩＤが０であることに基づいて、当該エントリに対応するユーザセッションについてトークンが取得されなかったと特定されたため、第１トークンバケツｂｕｃｋｅｔ２１からトークンを取得する。トークンの取得に成功したときに、取得されたトークンのＩＤを１００と仮定すれば、当該エントリにおけるトークンＩＤを１００に更新し、ＳＣｏｕｎｔの値を１だけ加算し、ＦＣｏｕｎｔの値を０にクリアし、引き続きＲｕｌｅ３とマッチングし、Ｒｕｌｅ３に従って当該ＨＴＴＰＳパケットをＣＰＵへ送信して処理させる。その際、表３−３は、表３−２のように更新される。トークンの取得が依然として失敗した場合に、当該ＨＴＴＰＳパケットを廃棄し、ＦＣｏｕｎｔの値を１だけ加算する。その際、表３−３は、表３−４のように更新される。
【表３−４】
0006824417.tif 000007
【００７８】
場合四では、非オンラインユーザセッションエントリがタイムアウトする。
【００７９】
非オンラインユーザセッションエントリに対応するタイマの計時時間がＴに達したときに、当該エントリに対応するユーザセッションについて取得されたトークンを解放し、解放されたトークンを第１トークンバケツｂｕｃｋｅｔ２１に回収し、トークンＩＤを０にセットし、ＦＣｏｕｎｔの値を０にクリアする。しかし、ＳＣｏｕｎｔの値は、一定で維持される。後は、ＨＴＴＰＳパケットは、トークンの再度取得を必要とする。
【００８０】
場合五では、複数のＴ時間内でユーザが常にオンラインできていない。
【００８１】
複数のＴ時間が経過し、ユーザが常にオンラインできず、非オンラインユーザセッションエントリにおけるＳＣｏｕｎｔの値が累計しつつあり、ＳＣｏｕｎｔの値がＭＡＸ_Ｓ１に達したと検出されたときに、当該エントリに対応するユーザセッションが第２トークンバケツｂｕｃｋｅｔ２２しかからトークンを取得できないと規制し、非オンラインユーザセッションエントリにおけるトークンバケツＩＤをｂｕｃｋｅｔ２２に変更する。第２トークンバケツｂｕｃｋｅｔ２２におけるトークンの数が非常に少ないため、異常ユーザのオンラインを規制する目的は達成できる。
【００８２】
その後、ＳＣｏｕｎｔの値がＭＡＸ_Ｓ２に達したと検出されたときに、当該非オンラインユーザセッションエントリを削除する。ただし、ＭＡＸ_Ｓ２は、ＭＡＸ_Ｓ１より大きい。
【００８３】
場合六では、１つのＴ時間内でユーザが常にオンラインできていない。
【００８４】
１つのＴ時間内で常にトークンが取得できない場合に、ＦＣｏｕｎｔの値は、増加しつつある。ＨＴＴＰＳパケットが受信された後、マッチングする非オンラインユーザセッションエントリにおけるＦＣｏｕｎｔの値がＭＡＸ_Ｆに達した場合に、当該エントリに対応するユーザセッションについてトークンを取得することが許容されず、直接当該ＨＴＴＰＳパケットを廃棄する。その後、タイマの計時時間がＴに達したときに、ＦＣｏｕｎｔの値を０にクリアしてから、当該エントリに対応するユーザセッションについてトークンを取得することは、初めて許容される。
【００８５】
上記パケット処理方法の実施例に対応し、本発明は、パケット処理装置の実施例を更に提供する。
【００８６】
本発明のパケット処理装置の実施例は、アクセスゲートウェイ機器に適用可能である。装置実施例は、ソフトウェアで実現されてもよく、ハードウェアまたはソフト・ハードウェアを組み合わせた方式で実現されてもよい。
【００８７】
図４を参照すると、本発明の実施例のアクセスゲートウェイ機器４０は、受信手段４０１、判断手段４０２、処理手段４０３および検索手段４０４を備える。
【００８８】
受信手段４０１は、ユーザホストから送信されたＨＴＴＰＳパケットを受信する。
【００８９】
検索手段４０４は、受信手段４０１でＨＴＴＰＳパケットを受信された後、ＨＴＴＰＳパケットのソースＩＰアドレスおよび宛先ＩＰアドレスに基づいてＨＴＴＰＳパケットにマッチングする非オンラインユーザセッションエントリを検索する。
【００９０】
判断手段４０２は、検索手段４０４で非オンラインユーザセッションエントリが見つかった場合に、当該非オンラインユーザセッションエントリに対応するユーザセッションについて既にトークンが取得されたか否かを判断する。
【００９１】
処理手段４０３は、当該非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが取得されなかったと判断手段４０２によって判断された場合に、トークンを第１トークンバケツから取得し、トークンの取得に成功したときに、当該ＨＴＴＰＳパケットをＣＰＵへ送信して処理させ、トークンの取得に失敗したときに、当該ＨＴＴＰＳパケットを廃棄する。第１トークンバケツにおけるトークンの数は、アクセスゲートウェイ機器のＣＰＵ処理能力に応じて設定される。
【００９２】
図５に示すように、上記アクセスゲートウェイ機器４０は、配置手段４０５を更に備える。
【００９３】
配置手段４０５は、当該ＨＴＴＰＳパケットにマッチングする非オンラインユーザセッションエントリを検索手段４０４で見つからなかった場合に、ソースＩＰアドレスと宛先ＩＰアドレスとを含む非オンラインユーザセッションエントリを配置する。
【００９４】
処理手段４０３は、更に、当該非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが既に取得されたと判断手段４０２によって判断された場合に、当該ＨＴＴＰＳパケットをＣＰＵへ送信して処理させる。
【００９５】
処理手段４０３は、更に、トークンの取得に成功する度に、当該非オンラインユーザセッションエントリにおけるトークンＩＤを取得されたトークンのＩＤに更新する。
【００９６】
判断手段４０２は、具体的に以下の方式で非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが既に取得されたか否かを判断する。つまり、判断手段４０２は、非オンラインユーザセッションエントリにおけるトークンＩＤが初期値である場合に、非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが取得されなかったと判断し、そうでなければ、非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが既に取得されたと判断する。
【００９７】
処理手段４０３は、更に、トークンの取得に成功する度に、非オンラインユーザセッションエントリにおけるトークン取得成功回数（ＳＣｏｕｎｔ）の値を単位量だけ増加し、トークン取得失敗回数（ＦＣｏｕｎｔ）の値を初期値にセットし、トークンの取得に失敗する度に、非オンラインユーザセッションエントリにおけるＦＣｏｕｎｔの値を単位量だけ増加する。
【００９８】
図５に示すように、上記アクセスゲートウェイ機器４０は、更新手段４０６を更に備える。
【００９９】
更新手段４０６は、非オンラインユーザセッションエントリにおけるＳＣｏｕｎｔの値が所定の第１閾値に達したと検出されたときに、第１トークンバケツを第２トークンバケツに変更する。第２トークンバケツにおけるトークンの数は、第１トークンバケツにおけるトークンの数より遥かに小さい。更新手段４０６は、更に、非オンラインユーザセッションエントリにおけるＳＣｏｕｎｔの値が所定の第２閾値に達したと検出されたときに、当該非オンラインユーザセッションエントリを削除する。第２閾値は、第１閾値より大きい。
【０１００】
処理手段４０３は、更に、当該非オンラインユーザセッションエントリにおけるＦＣｏｕｎｔの値が所定閾値に達したと判断手段４０２によって判断された場合に、当該ＨＴＴＰＳパケットを廃棄する。
【０１０１】
図５に示すように、上記アクセスゲートウェイ機器４０は、計時手段４０７と処理手段４０３を更に備える。
【０１０２】
計時手段４０７は、更に、非オンラインユーザセッションエントリの配置時に、非オンラインユーザセッションエントリに対応するタイマを起動して計時させ、タイマの計時時間が所定エージング時間に達したときに、当該タイマを再起動する。
【０１０３】
処理手段４０３は、更に、タイマの計時時間が所定エージング時間に達したときに、非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが既に取得されたが判断された場合に、当該非オンラインユーザセッションエントリを対応するユーザセッションについてトークンが取得されなかった状態に更新し、当該非オンラインユーザセッションエントリにおけるＦＣｏｕｎｔの値を初期値にセットする。
【０１０４】
図６を参照すると、図６は、本発明の実施例のアクセスゲートウェイ機器の別の構造模式図である。当該アクセスゲートウェイ機器は、プロセッサ６０１と、機器の実行可能な指令を記憶する機器読み取り可能な記憶媒体６０２とを備える。プロセッサ６０１と機器読み取り可能な記憶媒体６０２とは、システムバス６０３を介して互いに通信可能である。プロセッサ６０１は、機器読み取り可能な記憶媒体６０２における機器の実行可能な指令を読み取って実行することにより、上述したパケット処理方法を実行可能である。
【０１０５】
本文で言及される機器読み取り可能な記憶媒体６０２は、如何なる電気的なもの、磁気的なもの、光学的なものまたは他の物理的記憶装置であってもよく、情報（例えば、実行可能な指令、データ等）を含むか記憶可能である。例えば、機器読み取り可能な記憶媒体は、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ、ランダムアクセスメモリ）、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライバ（例えば、ハードディスクドライバ）、ソリッド・ステート・ディスク、如何なるタイプの記憶ディスクであってもよい。
【０１０６】
機器読み取り可能な記憶媒体６０２は、受信手段４０１で動作するプログラム指令、判断手段４０２で動作するプログラム指令、処理手段４０３で動作するプログラム指令、検索手段４０４で動作するプログラム指令、配置手段４０５で動作するプログラム指令、更新手段４０６で動作するプログラム指令、および、計時手段４０７で動作するプログラム指令を格納する。
【０１０７】
プロセッサ６０１は、受信手段４０１で動作するプログラム指令、判断手段４０２で動作するプログラム指令、処理手段４０３で動作するプログラム指令、検索手段４０４で動作するプログラム指令、配置手段４０５で動作するプログラム指令、更新手段４０６で動作するプログラム指令、および、計時手段４０７で動作するプログラム指令を実行する。プロセッサ６０１は、上記各手段で動作するプログラム指令を実行することにより、上述したパケット処理方法を実施する。
【０１０８】
一例示では、プロセッサ６０１は、機器読み取り可能な記憶媒体６０２における機器の実行可能な指令を読み取って実行することにより、
ユーザホストから送信されたハイパーテキスト転送プロトコル・オーバー・セキュアソケットレイヤ（ＨＴＴＰＳ）パケットを受信することと、
前記ＨＴＴＰＳパケットのソースインターネットプロトコル（ＩＰ）アドレスおよび宛先ＩＰアドレスに基づいて、前記ＨＴＴＰＳパケットにマッチングする非オンラインユーザセッションエントリを検索することと、
前記非オンラインユーザセッションエントリが見つかった場合に、
前記非オンラインユーザセッションエントリに対応するユーザセッションがトークンを有さないと判断した場合に、トークンを第１トークンバケツから取得し、前記第１トークンバケツにおけるトークンの数は、前記アクセスゲートウェイ機器のＣＰＵ処理能力に応じて設定されることと、
トークンの取得に成功したときに、前記ＨＴＴＰＳパケットをＣＰＵへ送信して処理させることと、
トークンの取得に失敗したときに、前記ＨＴＴＰＳパケットを廃棄することと、を実行させる。
【０１０９】
前記非オンラインユーザセッションエントリが見つからなかった場合に、プロセッサ６０１は、更に、機器の実行可能な指令により、
前記ソースＩＰアドレスと宛先ＩＰアドレスとを含む非オンラインユーザセッションエントリを配置することを実行させる。
【０１１０】
プロセッサ６０１は、更に、機器の実行可能な指令により、
前記非オンラインユーザセッションエントリに対応するユーザセッションが既にトークンを有すると判断した場合に、前記ＨＴＴＰＳパケットをＣＰＵへ送信して処理させることを実行させる。
【０１１１】
プロセッサ６０１は、更に、機器の実行可能な指令により、
トークンの取得に成功する度に、前記非オンラインユーザセッションエントリにおけるトークン識別子（ＩＤ）を取得されたトークンのＩＤに更新することと、
以下の判断方式によって前記非オンラインユーザセッションエントリに対応するユーザセッションが既にトークンを有するか否かを判断することと、を実行させ、
前記判断方式は、
前記非オンラインユーザセッションエントリにおけるトークンＩＤが初期値である場合に、前記非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが取得されなかったと判断し、
そうでなければ、前記非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが既に取得されたと判断することである。
【０１１２】
プロセッサ６０１は、更に、機器の実行可能な指令により、
トークンの取得に成功する度に、前記非オンラインユーザセッションエントリにおけるトークン取得成功回数（ＳＣｏｕｎｔ）の値を単位量だけ増加し、前記非オンラインユーザセッションエントリにおけるトークン取得失敗回数（ＦＣｏｕｎｔ）の値を初期値にセットすることと、
トークンの取得に失敗する度に、前記非オンラインユーザセッションエントリにおける前記ＦＣｏｕｎｔの値を単位量だけ増加しことと、を実行させる。
【０１１３】
プロセッサ６０１は、更に、機器の実行可能な指令により、
前記非オンラインユーザセッションエントリにおける前記ＳＣｏｕｎｔの値が所定の第１閾値に達したと検出したときに、前記アクセスゲートウェイ機器が前記第１トークンバケツを第２トークンバケツに変更し、第２トークンバケツにおけるトークンの数は、前記第１トークンバケツにおけるトークンの数より遥かに小さくことと、
前記非オンラインユーザセッションエントリにおける前記ＳＣｏｕｎｔの値が所定の第２閾値に達したと検出したときに、前記アクセスゲートウェイ機器が当該非オンラインユーザセッションエントリを削除し、前記第２閾値は、前記第１閾値より大きいことと、を実行させる。
【０１１４】
プロセッサ６０１は、更に、機器の実行可能な指令により、
前記非オンラインユーザセッションエントリにおける前記ＦＣｏｕｎｔの値が所定閾値に達したと判断したときに、前記ＨＴＴＰＳパケットを廃棄することを実行させる。
【０１１５】
ただし、前記非オンラインユーザセッションエントリの配置時に、プロセッサ６０１は、更に、前記機器の実行可能な指令により、
前記非オンラインユーザセッションエントリに対応するタイマを起動して計時させることと、
前記タイマの計時時間が所定エージング時間に達したときに前記非オンラインユーザセッションエントリに対応するユーザセッションについてトークンが既に取得された場合に、
前記非オンラインユーザセッションエントリを対応するユーザセッションについてトークンが取得されなかった状態に更新し、
前記非オンラインユーザセッションエントリにおけるＦＣｏｕｎｔの値を初期値にセットし、
当該タイマを再起動することと、を実行させる。
【０１１６】
上記装置における各手段の機能および作用の実現手順は、上記方法の対応ステップの実現手順を詳細に参照すればよいため、ここで繰り返し説明しない。
【０１１７】
装置実施例は、方法実施例に基本的に対応するため、その関連箇所が方法実施例部分の説明を参照すればよい。上述した装置実施例は、単に例示であり、その中、分離部品として説明される手段が物理的に分離されるものであってもよくでなくてもよい。また、手段として表示される部品は、物理手段であってもでなくてもよい。更に、それらの手段は、１箇所に位置してもよく、複数のネットワークセルに分散してもよい。実際の需要に応じてその中の一部または全部のモジュールを選択して本実施例の目的を果たすことが可能である。当業者は、進歩性に値する労働をせずに、理解して実施可能である。
【０１１８】
説明すべきことは、本文に、第１と第２等のような関係用語は、単に１つの実体や操作を別の実体や操作と区分させるために用いられ、これらの実体や操作の間になんらかの実際的な関係や順序が存在するとは必ずしも要求やヒントすることではない。用語「含む」、「備える」またはほかの何れかの同義語が非排他的含有をカバーすることを狙う。このように、一シリーズの要素を有する手順、方法、物品または機器は、それらの要素を有するだけではなく、明確に挙げられていない他の要素も有し、またはこのような手順、方法、物品または機器に固有の要素も有する。更なる制限がない限り、語句「１つの…を含む」で限定される要素は、前記要素を有する手順、方法、物品または機器に他の同じ要素を更に有することをあえて排除しない。
【０１１９】
以上では、本発明の実施例に供される方法と装置を詳細に説明した。本文では、具体的な例を用いて本発明の原理および実施形態を説明したが、以上の実施例の説明が単に本発明の方法およびその要旨を容易に理解するために用いられる。それとともに、当業者であれば、本発明の思想に基づいて具体的な実施形態および応用範囲を変更可能である。したがって、本明細書の内容は、本発明に対する制限として理解されるべきではない。
【図１】
0006824417.tif 000008
【図２】
0006824417.tif 000009
【図３】
0006824417.tif 000010
【図４】
0006824417.tif 000011
【図５】
0006824417.tif 000012
【図６】
0006824417.tif 000013