(57)【要約】  負荷平衡システムにおいて接続を確立する装置が提供される。装置は、クライアントデバイスと、クライアントデバイスにサービスを提供するリアルサーバとの間に結合される。装置は、命令を記憶するメモリデバイスと、プロセッサとを含み、プロセッサは、メモリに記憶された命令を実行して、クライアントデバイスから同期（ＳＹＮ）パケットを受信することであって、ＳＹＮパケットはクライアント接続情報を含む、受信することと、クライアント接続情報に基づいて、シリアルナンバーを計算することと、第１の同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットをクライアントデバイスに返送することであって、第１のＳＹＮ＋ＡＣＫパケットはリアルサーバの接続情報を含む、返送することと、クライアントから肯定応答（ＡＣＫ）パケットを受信することと、クライアント接続情報を含む自己定義パケットを生成することと、自己定義パケットをリアルサーバに転送することとを行うように構成される。
2018528679.tif 000002
【特許請求の範囲】
【請求項１】
負荷平衡システムにおいて接続を確立する装置であって、前記装置はクライアントデバイスと、前記クライアントデバイスにサービスを提供するリアルサーバとの間に結合され、
命令を記憶するメモリデバイスと、
プロセッサと
を含み、
前記プロセッサは、前記メモリデバイスに記憶された前記命令を実行して、
前記クライアントデバイスから同期（ＳＹＮ）パケットを受信することであって、前記ＳＹＮパケットはクライアント接続情報を含む、受信することと、
前記クライアント接続情報に基づいて、シリアルナンバーを計算することと、
第１の同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットを前記クライアントデバイスに返送することであって、前記シリアルナンバーは、前記第１のＳＹＮ＋ＡＣＫパケットのシリアルナンバーであるように割り当てられ、前記第１のＳＹＮ＋ＡＣＫパケットは前記リアルサーバの接続情報を含む、返送することと、
前記クライアントから肯定応答（ＡＣＫ）パケットを受信し、前記ＡＣＫパケットの確認番号に基づいて計算して前記クライアント接続情報を取得することと、
前記クライアント接続情報を含む自己定義パケットを生成することと、
前記自己定義パケットを前記リアルサーバに転送し、それにより、前記リアルサーバは前記クライアント接続情報を前記自己定義パケットから抽出し、前記クライアント接続情報に基づいて、前記クライアントデバイスとの伝送制御プロトコル（ＴＣＰ）接続を確立することと
を行うように構成される、装置。
【請求項２】
前記プロセッサは、
前記クライアントから返送された前記ＡＣＫパケットに識別子を追加し、前記クライアント接続情報を書き込んで、前記自己定義パケットを生成する
ように更に構成され、前記識別子は前記自己定義パケットを識別する、請求項１に記載の装置。
【請求項３】
前記プロセッサは、
前記自己定義ＳＹＮパケットのシリアルナンバーを、前記クライアントから送信された前記ＳＹＮパケットのシリアルナンバーとなるように設定することと、
前記負荷平衡デバイスから送信された前記第１のＳＹＮ＋ＡＣＫパケットのシリアルナンバーを、前記自己定義ＳＹＮパケットの確認番号となるように設定することと、
前記クライアント接続情報を前記自己定義ＳＹＮパケットに書き込むことと、
前記負荷平衡デバイスのアドレスを前記自己定義ＳＹＮパケットに追加することと
を行うように更に構成される、請求項１又は２に記載の装置。
【請求項４】
前記プロセッサは、
前記自己定義ＳＹＮパケットを前記リアルサーバに転送し、それにより、前記リアルサーバは、前記自己定義ＳＹＮパケットに含まれる前記クライアント接続情報に基づいて前記クライアントとハーフオープンＴＣＰ接続を確立することと、
前記負荷平衡デバイスの前記アドレスに基づいて前記リアルサーバから送信される第２のＳＹＮ＋ＡＣＫパケットを受信した後、前記クライアントデバイスから返送された前記ＡＣＫパケットを前記リアルサーバに転送し、それにより、前記リアルサーバは、前記ハーフオープンＴＣＰ接続を前記ＴＣＰ接続に変換することであって、前記第２のＳＹＮ＋ＡＣＫパケットのシリアルナンバーは、前記自己定義ＳＹＮパケットの前記確認番号である、転送することと
を行うように更に構成される、請求項３に記載の装置。
【請求項５】
前記クライアントデバイスから返送される前記ＡＣＫパケットは、データ要求を含み、
前記プロセッサは、
前記クライアント接続情報及び前記データ要求を含む前記自己定義パケットを生成することと、
前記自己定義パケットを前記リアルサーバに転送し、それにより、前記リアルサーバは、前記クライアント接続情報及び前記データ要求を前記自己定義パケットから抽出し、それにより、前記リアルサーバは、前記クライアントデバイスとの前記ＴＣＰ接続を確立し、前記ＴＣＰ接続の確立後、前記データ要求に基づいて応答パケットを前記クライアントデバイスに転送することと
を行うように更に構成される、請求項１〜４のいずれか一項に記載の装置。
【請求項６】
前記プロセッサは、
前記シリアルナンバーとしてクッキー値を取得して前記クライアント接続情報を計算するために、同期クッキー技術のクッキー機能を使用して前記シリアルナンバーを計算することと、
前記ＡＣＫパケットを前記クライアントデバイスから受信し、前記ＡＣＫパケットの前記確認番号を計算し、前記クッキー値を取得することと、
前記クッキー値の有効性をチェックし、前記クッキー値が前記チェックに合格する場合、前記クライアント接続情報を取得することと
を行うように更に構成される、請求項１〜５のいずれか一項に記載の装置。
【請求項７】
負荷平衡システムにおいて接続を確立するコンピュータ実施方法であって、前記方法は、クライアントデバイスと、前記クライアントデバイスにサービスを提供するリアルサーバとの間に結合される負荷平衡デバイスにより実行され、前記方法は、
前記クライアントデバイスから同期（ＳＹＮ）パケットを受信することであって、前記ＳＹＮパケットはクライアント接続情報を含む、受信することと、
前記クライアント接続情報に基づいて、シリアルナンバーを計算することと、
第１の同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットを前記クライアントデバイスに返送することであって、前記シリアルナンバーは、前記第１のＳＹＮ＋ＡＣＫパケットのシリアルナンバーであるように割り当てられ、前記第１のＳＹＮ＋ＡＣＫパケットは前記リアルサーバの接続情報を含む、返送することと、
前記クライアントから肯定応答（ＡＣＫ）パケットを受信し、前記ＡＣＫパケットの確認番号に基づいて計算して前記クライアント接続情報を取得することと、
前記クライアント接続情報を含む自己定義パケットを生成することと、
前記自己定義パケットを前記リアルサーバに転送し、それにより、前記リアルサーバは前記クライアント接続情報を前記自己定義パケットから抽出し、前記クライアント接続情報に基づいて、前記クライアントデバイスとの伝送制御プロトコル（ＴＣＰ）接続を確立することと
を含む、コンピュータ実施方法。
【請求項８】
前記自己定義パケットを生成することは、
前記クライアントから返送された前記ＡＣＫパケットに識別子を追加し、前記クライアント接続情報を書き込んで、前記自己定義パケットを生成することを含み、前記識別子は前記自己定義パケットを識別する、請求項７に記載のコンピュータ実施方法。
【請求項９】
自己定義パケットは自己定義ＳＹＮパケットであり、前記自己定義ＳＹＮパケットは、
前記自己定義ＳＹＮパケットのシリアルナンバーを、前記クライアントから送信された前記ＳＹＮパケットのシリアルナンバーとなるように設定することと、
前記負荷平衡デバイスから送信された前記第１のＳＹＮ＋ＡＣＫパケットのシリアルナンバーを、前記自己定義ＳＹＮパケットの確認番号となるように設定することと、
前記クライアント接続情報を前記自己定義ＳＹＮパケットに書き込むことと、
前記負荷平衡デバイスのアドレスを前記自己定義ＳＹＮパケットに追加することと
により生成される、請求項７又は８に記載のコンピュータ実施方法。
【請求項１０】
前記自己定義ＳＹＮパケットは前記リアルサーバに転送され、それにより、前記リアルサーバは、前記自己定義ＳＹＮパケットに含まれる前記クライアント接続情報に基づいて前記クライアントとハーフオープンＴＣＰ接続を確立し、前記リアルサーバは、前記負荷平衡デバイスの前記アドレスに基づいて、第２のＳＹＮ＋ＡＣＫパケットを前記負荷平衡デバイスに転送し、前記第２のＳＹＮ＋ＡＣＫパケットのシリアルナンバーは、前記自己定義ＳＹＮパケットの前記確認番号であり、
前記方法は、前記第２のＳＹＮ＋ＡＣＫパケットを受信した後、前記クライアントデバイスから返送された前記ＡＣＫパケットを前記リアルサーバに転送し、それにより、前記リアルサーバは、前記ハーフオープンＴＣＰ接続を前記ＴＣＰ接続に変換することを更に含む、請求項９に記載のコンピュータ実施方法。
【請求項１１】
前記クライアントデバイスから返送される前記ＡＣＫパケットは、データ要求を含み、
前記自己定義パケットを生成することは、前記クライアント接続情報及び前記データ要求を前記自己定義パケットに書き込むことを含み、
前記自己定義パケットを前記リアルサーバに転送することは、前記リアルサーバに、前記クライアント接続情報及び前記データ要求を抽出するように促し、それにより、前記リアルサーバは、前記クライアントデバイスとの前記ＴＣＰ接続を確立し、前記ＴＣＰ接続の確立後、前記データ要求に基づいて応答パケットを前記クライアントデバイスに転送する、請求項７〜１０のいずれか一項に記載のコンピュータ実施方法。
【請求項１２】
前記シリアルナンバーを計算することは、前記シリアルナンバーとしてクッキー値を取得して前記クライアント接続情報を計算するために、同期クッキー技術のクッキー機能を使用するし、ことを含み、
前記確認番号に基づいて計算して前記クライアント接続情報を取得することは、前記確認番号を計算して、前記クッキー値を取得し、前記クッキー値の有効性をチェックし、前記クッキー値が前記チェックに合格する場合、前記クライアント接続情報を取得することを含む、請求項７〜１１のいずれか一項に記載のコンピュータ実施方法。
【請求項１３】
方法をデバイスに実行させるために前記デバイスの少なくとも１つのプロセッサによって実行可能な１組の命令を記憶する非一時的コンピュータ可読媒体であって、前記方法は、
クライアントデバイスから同期（ＳＹＮ）パケットを受信することであって、前記ＳＹＮパケットはクライアント接続情報を含む、受信することと、
前記クライアント接続情報に基づいて、シリアルナンバーを計算することと、
第１の同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットを前記クライアントデバイスに返送することであって、前記シリアルナンバーは、前記第１のＳＹＮ＋ＡＣＫパケットのシリアルナンバーであるように割り当てられ、前記第１のＳＹＮ＋ＡＣＫパケットは前記リアルサーバの接続情報を含む、返送することと、
前記クライアントから肯定応答（ＡＣＫ）パケットを受信し、前記ＡＣＫパケットの確認番号に基づいて計算して前記クライアント接続情報を取得することと、
前記クライアント接続情報を含む自己定義パケットを生成することと、
前記自己定義パケットを前記リアルサーバに転送し、それにより、前記リアルサーバは前記クライアント接続情報を前記自己定義パケットから抽出し、前記クライアント接続情報に基づいて、前記クライアントデバイスとの伝送制御プロトコル（ＴＣＰ）接続を確立することと
を含む、非一時的コンピュータ可読媒体。
【請求項１４】
デバイスの前記少なくとも１つのプロセッサによって実行可能な前記１組の命令が、
前記クライアントから返送された前記ＡＣＫパケットに識別子を追加し、前記クライアント接続情報を書き込んで、前記自己定義パケットを生成することを前記デバイスに更に実行させ、前記識別子は前記自己定義パケットを識別する、請求項１３に記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記自己定義パケットは自己定義ＳＹＮパケットであり、データ処理デバイスの前記少なくとも１つのプロセッサによって実行可能な前記１組の命令が、
前記自己定義ＳＹＮパケットのシリアルナンバーを、前記クライアントから送信された前記ＳＹＮパケットのシリアルナンバーとなるように設定することと、
前記負荷平衡デバイスから送信された前記第１のＳＹＮ＋ＡＣＫパケットのシリアルナンバーを、前記自己定義ＳＹＮパケットの確認番号となるように設定することと、
前記クライアント接続情報を前記自己定義ＳＹＮパケットに書き込むことと、
前記負荷平衡デバイスのアドレスを前記自己定義ＳＹＮパケットに追加することと
を前記デバイスに更に実行させる、請求項１３又は１４に記載の非一時的コンピュータ可読媒体。
【請求項１６】
前記自己定義ＳＹＮパケットは前記リアルサーバに転送され、それにより、前記リアルサーバは、前記自己定義ＳＹＮパケットに含まれる前記クライアント接続情報に基づいて前記クライアントとのハーフオープンＴＣＰ接続を確立し、前記リアルサーバは、前記負荷平衡デバイスの前記アドレスに基づいて、第２のＳＹＮ＋ＡＣＫパケットを前記負荷平衡デバイスに転送し、前記第２のＳＹＮ＋ＡＣＫパケットのシリアルナンバーは、前記自己定義ＳＹＮパケットの前記確認番号であり、
データ処理デバイスの前記少なくとも１つのプロセッサによって実行可能な前記１組の命令が、
前記第２のＳＹＮ＋ＡＣＫパケットを受信した後、前記リアルサーバが、前記ハーフオープンＴＣＰ接続を前記ＴＣＰ接続に変換するように、前記クライアントデバイスから返送された前記ＡＣＫパケットを前記リアルサーバに転送すること
を前記デバイスに更に実行させる、
請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記クライアントデバイスから返送される前記ＡＣＫパケットは、データ要求を含み、
前記自己定義パケットを生成することは、前記クライアント接続情報及び前記データ要求を前記自己定義パケットに書き込むことを含み、
前記自己定義パケットを前記リアルサーバに転送することは、前記リアルサーバに、前記クライアント接続情報及びデータ要求を抽出するように促し、それにより、前記リアルサーバは、前記クライアントデバイスとの前記ＴＣＰ接続を確立し、前記ＴＣＰ接続の確立後、前記データ要求に基づいて応答パケットを前記クライアントデバイスに転送する、請求項１３〜１６のいずれか一項に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記シリアルナンバーを計算することは、前記シリアルナンバーとしてクッキー値を取得して前記クライアント接続情報を計算するために、同期クッキー技術のクッキー機能を使用することを含み、
前記確認番号に基づいて計算して前記クライアント接続情報を取得することは、前記確認番号を計算して、前記クッキー値を取得し、前記クッキー値の有効性をチェックし、前記クッキー値が前記チェックに合格する場合、前記クライアント接続情報を取得することを含む、請求項１３〜１７のいずれか一項に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
相互出願の相互参照
本願は、２０１５年８月２０日に出願された中国特許出願第２０１５１０５１６３５９．９号に基づき、この優先権を主張するものであり、この出願の全体内容を参照により本明細書に援用する。
【０００２】
技術分野
本開示は、一般的には通信技術の分野に関し、より詳細には、負荷平衡システムにおいて接続を確立するデバイス及び方法に関する。
【背景技術】
【０００３】
背景
サーバの負荷平衡は、負荷平衡デバイスがクライアントビジットのフローを幾つかのバックエンドサーバにリダイレクトして、前記バックエンドサーバへのビジットを均等に分散させる技法である。
【０００４】
負荷平衡システムは負荷平衡デバイスを含むため、クライアントデバイス（クライアント）からのサービス要求パケットは、負荷平衡デバイスにより、サービス要求パケットを処理するバックエンドサーバ（例えば、リアルサーバ）にリダイレクトされる必要がある。これは、パケットの処理フローを変える。関連する負荷平衡システムでは、パケットの処理フローは、クライアントによる要求パケットを負荷平衡デバイスに転送することを含み、負荷平衡デバイスは次に、クライアント要求パケットをリアルサーバに転送する。次に、リアルサーバは、応答パケットをクライアントに直接転送する。
【０００５】
クライアント要求パケットを転送する前、クライアントとリアルサーバとの間に、伝送制御プロトコル（ＴＣＰ）に基づく接続を確立する必要がある。関連技術では、ＴＣＰ接続を確立するには、ＴＣＰに従って３ウェイハンドシェイクを実行する必要がある。上記負荷平衡システムでのＴＣＰ接続の確立は、以下のステップを含む。
【０００６】
クライアントは、同期（ＳＹＮ）パケットを負荷平衡デバイスに転送する。ＳＹＮパケットのオプションフィールドは、クライアント接続情報を含む。
【０００７】
負荷平衡デバイスは、ＳＹＮパケットをリアルサーバに転送する。リアルサーバは、クライアント接続情報を記憶するデータベースを作成し、クライアントとハーフオープン接続を確立する。
【０００８】
リアルサーバは、同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットをクライアントに返送する。ＳＹＮ＋ＡＣＫパケットは、リアルサーバの接続情報を含む。
【０００９】
クライアントは、肯定応答（ＡＣＫ）パケットを負荷平衡デバイスに転送する。
【００１０】
負荷平衡デバイスは、ＡＣＫパケットをリアルサーバに転送する。
【００１１】
リアルサーバは、ＡＣＫパケットを受信する場合、ハーフオープンＴＣＰ接続をクライアントとのフルＴＣＰ接続に変換する。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかし、ＴＣＰ接続が確立されている間、攻撃者がプロトコルの欠陥を使い、ＴＣＰ接続を攻撃することがある。攻撃者が沢山のＳＹＮパケットをリアルサーバに送信する場合、サーバは、非常に大きなデータベースを作成する必要があり、多くのシステムリソースをハーフオープンＴＣＰ接続の確立に割き、その結果、正当な要求は処理されず、リアルサーバにより提供される通常のサービスに影響を及ぼす。
【課題を解決するための手段】
【００１３】
概要
上記概説及び以下の詳細な説明が、単に例示的及び説明的なものであり、特許請求の範囲に記載される本発明の限定ではないことを理解されたい。
【００１４】
本開示の実施形態によれば、負荷平衡システムにおいて接続を確立する装置が提供される。本装置は、クライアントデバイスと、クライアントデバイスにサービスを提供するリアルサーバとの間に結合される。本装置は、命令を記憶するメモリデバイスと、プロセッサとを含み、プロセッサは、メモリデバイスに記憶された命令を実行して、クライアントデバイスから同期（ＳＹＮ）パケットを受信することであって、ＳＹＮパケットはクライアント接続情報を含む、受信することと、クライアント接続情報に基づいて、シリアルナンバーを計算することと、第１の同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットをクライアントデバイスに返送することであって、シリアルナンバーは、第１のＳＹＮ＋ＡＣＫパケットのシリアルナンバーであるように割り当てられ、第１のＳＹＮ＋ＡＣＫパケットはリアルサーバの接続情報を含む、返送することと、クライアントから肯定応答（ＡＣＫ）パケットを受信し、ＡＣＫパケットの確認番号に基づいて計算してクライアント接続情報を取得することと、クライアント接続情報を含む自己定義パケットを生成することと、自己定義パケットをリアルサーバに転送し、それにより、リアルサーバはクライアント接続情報を自己定義パケットから抽出し、クライアント接続情報に基づいて、クライアントデバイスとの伝送制御プロトコル（ＴＣＰ）接続を確立することとを行うように構成される。
【００１５】
本開示の実施形態によれば、方法をデバイスに実行させるためにデバイスの少なくとも１つのプロセッサによって実行可能な１組の命令を記憶する非一時的コンピュータ可読媒体が提供される。方法は、クライアントデバイスから同期（ＳＹＮ）パケットを受信することであって、ＳＹＮパケットはクライアント接続情報を含む、受信することと、クライアント接続情報に基づいて、シリアルナンバーを計算することと、第１の同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットをクライアントデバイスに返送することであって、シリアルナンバーは、第１のＳＹＮ＋ＡＣＫパケットのシリアルナンバーであるように割り当てられ、第１のＳＹＮ＋ＡＣＫパケットはリアルサーバの接続情報を含む、返送することと、クライアントから肯定応答（ＡＣＫ）パケットを受信し、ＡＣＫパケットの確認番号に基づいて計算してクライアント接続情報を取得することと、クライアント接続情報を含む自己定義パケットを生成することと、自己定義パケットをリアルサーバに転送し、それにより、リアルサーバはクライアント接続情報を自己定義パケットから抽出し、クライアント接続情報に基づいて、クライアントデバイスとの伝送制御プロトコル（ＴＣＰ）接続を確立することとを含む。
【００１６】
本開示の実施形態によれば、負荷平衡システムにおいて接続を確立する方法が提供される。本方法は、クライアントデバイスと、クライアントデバイスにサービスを提供するリアルサーバとの間に結合される負荷平衡デバイスにより実行される。本方法は、クライアントデバイスから同期（ＳＹＮ）パケットを受信することであって、ＳＹＮパケットはクライアント接続情報を含む、受信することと、クライアント接続情報に基づいて、シリアルナンバーを計算することと、第１の同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットをクライアントデバイスに返送することであって、シリアルナンバーは、第１のＳＹＮ＋ＡＣＫパケットのシリアルナンバーであるように割り当てられ、第１のＳＹＮ＋ＡＣＫパケットはリアルサーバの接続情報を含む、返送することと、クライアントから肯定応答（ＡＣＫ）パケットを受信し、ＡＣＫパケットの確認番号に基づいて計算してクライアント接続情報を取得することと、クライアント接続情報を含む自己定義パケットを生成することと、自己定義パケットをリアルサーバに転送し、それにより、リアルサーバはクライアント接続情報を自己定義パケットから抽出し、クライアント接続情報に基づいて、クライアントデバイスとの伝送制御プロトコル（ＴＣＰ）接続を確立することとを含む。
【００１７】
本開示の実施形態によれば、負荷平衡システムにおいて接続を確立する方法が提供される。本方法は、負荷平衡デバイス及びサービスをクライアントデバイスに提供するリアルサーバに結合されるクライアントデバイスにより実行される。本方法は、同期（ＳＹＮ）パケットを負荷平衡デバイスに転送することであって、ＳＹＮパケットはクライアント接続情報を含む、転送することと、負荷平衡デバイスから返送される同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットを受信することであって、ＳＹＮ＋ＡＣＫパケットのシリアルナンバーは、負荷平衡デバイスがＳＹＮパケットに含まれるクライアント接続情報に基づいて計算することにより取得され、ＳＹＮ＋ＡＣＫパケットはリアルサーバの接続情報を含む、受信することと、肯定応答（ＡＣＫ）パケットを負荷平衡デバイスに転送し、それにより、負荷平衡デバイスは、ＡＣＫパケットの確認番号に基づいて計算を実行して、クライアント接続情報を取得することと、自己定義パケットをリアルサーバに転送し、それにより、リアルサーバは、クライアント接続情報を自己定義パケットから抽出し、クライアント接続情報に基づいて、クライアントデバイスとの伝送制御プロトコル接続を確立することとを含む。
【００１８】
本開示の実施形態によれば、負荷平衡システムにおいて接続を確立する方法が提供される。本方法は、負荷平衡デバイス及びクライアントデバイスに結合されるリアルサーバにより実行される。リアルサーバは、サービスをクライアントデバイスに提供するように構成される。本方法は、自己定義パケットを負荷平衡デバイスから受信することであって、自己定義パケットは、負荷平衡デバイスがクライアントデバイスから送信された同期（ＳＹＮ）パケットを受信し、リアルサーバの接続情報を含む同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットにシリアルナンバーを割り当て、肯定応答（ＡＣＫ）パケットをクライアントデバイスから受信し、ＡＣＫパケットの確認番号に基づいて計算を実行して、クライアント接続情報を取得し、クライアント接続情報を含む自己定義パケットを生成するプロセスにより生成される、受信することと、クライアント接続情報を自己定義パケットから抽出することと、クライアント接続情報に基づいて、クライアントデバイスとの伝送制御プロトコル接続を確立することとを含む。
【００１９】
本開示の実施形態によれば、負荷平衡システムにおいて接続を確立する装置が提供される。本装置は、クライアントデバイスと、クライアントデバイスにサービスを提供するリアルサーバとの間に結合される。本装置は、同期（ＳＹＮ）パケットをクライアントデバイスから受信するように構成される第１の受信モジュールであって、ＳＹＮパケットはクライアント接続情報を含む、第１の受信モジュールと、クライアント接続情報に基づいて、シリアルナンバーを計算するように構成される計算モジュールと、第１の同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットをクライアントデバイスに返送するように構成される第１の応答モジュールであって、シリアルナンバーは第１のＳＹＮ＋ＡＣＫパケットのシリアルナンバーであるように割り当てられ、第１のＳＹＮ＋ＡＣＫパケットは、リアルサーバの接続情報を含む、第１の応答モジュールと、肯定応答（ＡＣＫ）パケットをクライアントから受信し、ＡＣＫパケットの確認番号に基づいて計算してクライアント接続情報を取得するように構成される第２の受信モジュールと、クライアント接続情報を含む自己定義パケットを生成するように構成される生成モジュールと、リアルサーバがクライアント接続情報を自己定義パケットから抽出し、クライアント接続情報に基づいて、クライアントデバイスとの伝送制御プロトコル（ＴＣＰ）接続を確立するように、自己定義パケットをリアルサーバに転送するように構成される第１の転送モジュールを含む。
【００２０】
本開示の実施形態により、負荷平衡システムにおいて接続を確立する装置が提供される。本装置は、負荷平衡デバイス及び本装置にサービスを提供するリアルサーバに結合される。本装置は、同期（ＳＹＮ）パケットを負荷平衡デバイスに転送するように構成される第２の転送モジュールであって、ＳＹＮパケットはクライアント接続情報を含む、第２の転送モジュールと、負荷平衡デバイスから返送された同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットを受信するように構成される第３の受信モジュールであって、ＳＹＮ＋ＡＣＫパケットのシリアルナンバーは、負荷平衡デバイスがＳＹＮパケットに含まれるクライアント接続情報に基づいて計算を実行することにより取得され、ＳＹＮ＋ＡＣＫパケットはリアルサーバの接続情報を含む、第３の受信モジュールと、負荷平衡デバイスが、ＡＣＫパケットの確認番号に基づいて計算を実行して、クライアント接続情報を取得し、クライアント接続情報を含む自己定義パケットを生成し、自己定義パケットをリアルサーバに転送し、それにより、リアルサーバがクライアント接続情報を自己定義パケットから抽出し、クライアント接続情報に基づいて本装置との伝送制御プロトコル接続を確立するように、肯定応答（ＡＣＫ）パケットを負荷平衡デバイスに転送するように構成される第２の応答モジュールとを含む。
【００２１】
本開示の実施形態によれば、負荷平衡システムにおいて接続を確立する装置が提供される。本装置は、負荷平衡デバイスとクライアントデバイスとに結合され、サービスをクライアントデバイスに提供するように構成される。本装置は、負荷平衡デバイスにより送信された自己定義パケットを受信するように構成される第４の受信モジュールであって、自己定義パケットは、負荷平衡デバイスがクライアントデバイスから送信された同期（ＳＹＮ）パケットを受信し、ＳＹＮパケットに含まれるクライアント接続情報に基づいてシリアルナンバーを計算し、本装置の接続情報を含む同期肯定応答（ＳＹＮ＋ＡＣＫ）パケットにシリアルナンバーを割り当て、肯定応答（ＡＣＫ）パケットをクライアントデバイスから受信し、ＡＣＫパケットに確認番号に基づいて計算を実行して、クライアント接続情報を取得し、クライアント接続情報を含む自己定義パケットを生成するプロセスにより生成される、第４の受信モジュールと、自己定義パケットからクライアント接続情報を抽出するように構成される抽出モジュールと、クライアント接続情報に基づいて、クライアントデバイスと伝送制御プロトコル接続を確立するように構成される接続確立モジュールとを含む。
【００２２】
図面の簡単な説明
添付図面は、本明細書に組み込まれ、本明細書の一部をなし、本発明による実施形態を示し、説明と共に本発明の原理を説明する役割を果たす。
【図面の簡単な説明】
【００２３】
【図１】本開示の実施形態による、負荷平衡システムにおいて接続を確立する方法を示すフローチャートである。
【図２】本開示の実施形態による、負荷平衡システムにおいて接続を確立する別の方法を示すフローチャートである。
【図３】本開示の実施形態による、負荷平衡システムにおいて接続を確立する別の方法を示すフローチャートである。
【図４Ａ】本開示の実施形態による例示的な負荷平衡デバイスを示すブロック図である。
【図４Ｂ】本開示の実施形態による、図４Ａに示されるような転送モジュールを示すブロック図である。
【図４Ｃ】本開示の実施形態による、図４Ａに示されるような第２の受信モジュールを示すブロック図である。
【図５】本開示の実施形態による負荷平衡システムの例示的なクライアントデバイスのブロック図である。
【図６】本開示の実施形態による負荷平衡システムの例示的なリアルサーバのブロック図である。
【図７】本開示の実施形態による例示的な負荷平衡システムのブロック図である。
【発明を実施するための形態】
【００２４】
詳細な説明
これより、例が添付図面に示される例示的な実施形態を詳細に参照する。以下の説明は、別段のことが表される場合を除き、様々な図面中の同じ番号が同じ又は同様の要素を表す添付図面を参照する。例示的な実施形態の以下の説明に記載される実施態様は、本発明による全ての実施態様を表すわけではない。その代わり、以下の説明に記載される実施態様は、添付の特許請求の範囲に記載される本発明に関連する態様による装置及び方法の単なる例である。
【００２５】
図１は、本開示の実施形態による、負荷平衡システムにおいて接続を確立する方法１００を示すフローチャートである。方法１００は、負荷平衡システム内の負荷平衡デバイスにより実行し得る。図１を参照すると、方法１００は以下のステップを含む。
【００２６】
ステップ１０１において、負荷平衡デバイスは、ＳＹＮパケットをクライアントから受信する。ＳＹＮパケットはクライアント接続情報を含む。本開示の実施形態によれば、クライアント接続情報は、クライアントへの接続に使用し得る。
【００２７】
ステップ１０２において、負荷平衡デバイスは、クライアントから受信したＳＹＮパケットに基づいて、シリアルナンバーを計算する。
【００２８】
ステップ１０３において、負荷平衡デバイスは、ＳＹＮ＋ＡＣＫパケットをクライアントに返送し、前記シリアルナンバーをＳＹＮ＋ＡＣＫパケットに割り当てる。幾つかの実施形態では、ＳＹＮ＋ＡＣＫパケットは、リアルサーバの接続情報を含み得る。本開示の実施形態によれば、リアルサーバの接続情報は、リアルサーバへの接続に使用し得る。
【００２９】
ステップ１０４において、負荷平衡デバイスは、ＡＣＫパケットをクライアントから受信し、ＡＣＫパケットに含まれる確認番号に基づいて、クライアント接続情報を取得する。
【００３０】
一実施形態では、確認番号は、シリアルナンバーに１等のある数を足したものであり得る。負荷平衡デバイスは、確認番号から１を減算するという単純な計算を実行して、シリアルナンバーを取得し得る。シリアルナンバーに基づいて、負荷平衡デバイスは、クライアント接続情報を特定し得る。
【００３１】
ステップ１０５において、負荷平衡デバイスは、クライアント接続情報を含む自己定義パケットを生成する。
【００３２】
ステップ１０６において、負荷平衡デバイスは、自己定義パケットをリアルサーバに転送し、それにより、リアルサーバは、クライアント接続情報を自己定義パケットから抽出し、クライアントとのＴＣＰ接続を確立し得る。
【００３３】
示される実施形態では、負荷平衡デバイスは、ＳＹＮパケットに含まれるクライアント接続情報を使用して、シリアルナンバーを計算し、前記シリアルナンバーをＳＹＮ＋ＡＣＫパケットに割り当て、それにより、リアルサーバは、クライアント接続情報を記憶するデータベースを作成する必要がない。リアルサーバは、クライアント接続情報を記憶するデータベースを作成するリソースを消費しないため、方法１００は、リソースの消費を低減し、リアルサーバに大きなデータベースを作成させ、リソースを枯渇させる攻撃への防御を提供する。
【００３４】
示される実施形態では、攻撃への防御は、負荷平衡デバイスより実現され、負荷平衡デバイスは、攻撃からリアルサーバを更に保護する。クライアント接続情報をＳＹＮ＋ＡＣＫパケットのシリアルナンバーと相関付け、ＡＣＫパケットをクライアントから受信することにより、負荷平衡デバイスは、ＴＣＰの３ウェイハンドシェイクと同様の通信プロセスを完了する。さらに、負荷平衡デバイスは、リアルサーバの接続情報をクライアントに送信し、それにより、リアルサーバは、クライアントとのＴＣＰ接続を確立し得る。これは、クライアントとリアルサーバとの間に通常のＴＣＰ接続の確立に役立つ。
【００３５】
ＴＣＰ接続はクライアントとリアルサーバとの間に確立されるため、負荷平衡デバイスの負荷平衡モードに基づいて、クライアントは要求パケットを負荷平衡デバイスに転送し得る。次に、負荷平衡デバイスは、要求パケットをリアルサーバに転送し得、それにより、リアルサーバは、応答パケットでクライアントに直接返信し得る。
【００３６】
幾つかの実施形態では、ＴＣＰパケットのヘッダは一般に、ソースポート、宛先ポート、シリアルナンバー、確認番号、予備ビット、ＴＣＰオプション、窓、チェック部分、緊急ポインタ等のフィールドを含み得る。ソースポートは、パケットを送信するポート又はプロシージャである。宛先ポートは、パケットを受信するポート又はプロシージャである。
【００３７】
シリアルナンバーは、パケットを受信するデバイスがシリアルナンバーに基づいてパケットに含まれるデータを確認し得るように、パケットをマークするのに使用される。接続確立時、両者は初期シリアルナンバーを提供し得る。示される実施形態では、ＳＹＮ＋ＡＣＫパケットのシリアルナンバーは初期シリアルナンバーであり得、これは、クライアント接続情報に基づく計算により取得し得る。クライアント接続情報は、デバイス間で伝送されるシリアルナンバーにおいて保持され得る。これは、クライアント接続情報を記憶するデータベースを作成する必要性を回避し、リソースの使用を低減する。
【００３８】
確認番号は、１つ又は複数の特定のパケットが受信されたことを確認するのに使用し得る。示される実施形態では、確認番号は、最後に受信したパケットのシリアルナンバーに１を加えたものに等しい数であり得る。
【００３９】
示される実施形態では、クライアント接続情報に基づいて計算されるシリアルナンバーは、クライアントから返送されたＡＣＫパケットに含まれる確認番号から１を減算することにより取得し得る。シリアルナンバーに基づいて、クライアント接続情報を特定し得る。
【００４０】
接続情報は、ＴＣＰオプションフィールドに含め得る。負荷平衡デバイスは、ＳＹＮパケットのＴＣＰオプションフィールドを分析して、クライアント接続情報を取得し得る。クライアントは、ＳＹＮ＋ＡＣＫパケットのＴＣＰオプションフィールドを分析して、リアルサーバの接続情報を取得し得る。クライアント接続情報は、自己定義パケットのＴＣＰオプションフィールドに含め得る。
【００４１】
負荷平衡デバイスから返送されるＳＹＮ＋ＡＣＫパケットのＴＣＰオプションフィールドは、リアルサーバの接続情報を含む。リアルサーバの接続情報は、リアルサーバとのネゴシエーションを通して、負荷平衡デバイスにより取得し得る。
【００４２】
関連技術では、攻撃者は、ＴＣＰ方式の抜け穴を利用し、大量のＳＹＮパケットを送信して、リアルサーバを攻撃することがある。これは同期フラッド（ＳＹＮフラッド）と呼ばれる。攻撃は、リアルサーバが大量のＳＹＮパケットを受信すると、沢山のリソースを使用して、ＳＹＮパケットに含まれるデータを記憶する大きなデータベースを作成するように強いられ得るため、行われる。これは、リアルサーバが通常パケットに対処できないようにし、リアルサーバにより提供されるサービスに影響を及ぼす。
【００４３】
ＳＹＮフラッドは、周知のサービス妨害（ＤｏＳ）攻撃又は分散サービス妨害（ＤＤｏＳ）攻撃の１つである。攻撃は、攻撃されたデバイスにリソースを使い果たさせる。例えば、攻撃により、ＣＰＵはフル稼働に達し得、通常のサービス要求を処理することができず、又は攻撃されたデバイスの内部メモリは、ゴミ情報を記憶する必要性から忙殺される。
【００４４】
クライアント接続情報は、負荷平衡デバイスから送信されるＳＹＮ＋ＡＣＫパケットのシリアルナンバーに含まれるため、クライアント接続情報を記憶するデータベースを作成する必要はない。本開示の実施形態による方法は、大きなリソースを消費せず、負荷平衡デバイスでのＳＹＮフラッド攻撃への防御を提供する。方法は、攻撃への防御を改善し、リソースの消費を低減し、それにより、通常のサービス要求にサービスを提供し得る。
【００４５】
本開示の実施形態によれば、負荷平衡モードにおいて、要求は、クライアントから負荷平衡デバイスを通してリアルサーバに流れ、応答は、リアルサーバから負荷平衡デバイスを通してクライアントに流れる。応答フローでは、リアルサーバは、応答パケットをクライアントに直接送信し、それにより、負荷平衡デバイスへの負荷を低減する。したがって、負荷平衡デバイスは、応答フローのボトルネックである。
【００４６】
幾つかの実施形態では、ＴＣＰオプションフィールドに含まれる接続情報は、
mss：ＴＣＰ接続を介して別の端末に送信される最大データ長を示す最大セグメントサイズ、
wsscale：６５５３６バイトを超えてＴＣＰ受信窓のサイズを増大させるのに使用される窓スケールオプション、
タイムスタンプ：パケットの送信側がパケットにタイムスタンプを含めるために利用するタイムスタンプオプションであり、タイムスタンプは、送信側が各ＡＣＫパケットの往復時間（ＲＴＴ）を計算し得るように、受信側が受信を確認した後、受信側により返送される、及び
ＳＡＣＫ：当事者が、全ての後続パケットではなく、損失パケットのみを再送信できるようにし、受信側が損失データ、再送信データ、及び受信データ等を送信側に通知できるようにする、対応するメカニズムを提供する選択的肯定応答
を含み得る。
【００４７】
クライアント接続情報を含む自己定義パケットを生成する例示的な方法について、以下に説明する。
【００４８】
一実施形態では、クライアントから返送されるＡＣＫパケットは、自己定義パケットを形成するように直接変更し得る。クライアント接続情報は、ＡＣＫパケットのＴＣＰオプションフィールドに書き込まれ得る。変更されたＡＣＫパケットは、自己定義パケットを形成する変更ＡＣＫパケットであることを示す識別子を含み得る。
【００４９】
一実施形態では、変更ＡＣＫパケット識別子は、ＴＣＰヘッダの予備ビットに配置し得る。例えば、４つの予備ビットがある場合、それらのビットのうちの１つを識別子に使用し得、残りの３ビットは空のままであり得る。
【００５０】
リアルサーバは、ＡＣＫパケットを変更することにより生成される自己定義パケットを受信すると、識別子に基づいて、受信パケットが自己定義パケットであると判断し得る。リアルサーバは、クライアント接続情報を自己定義パケットのＴＣＰオプションフィールドから抽出し得る。リアルサーバの接続情報は、クライアントに送信されているため、リアルサーバは、抽出されたクライアント接続情報に基づいてクライアントとのＴＣＰ接続を確立し得る。
【００５１】
一実施形態では、自己定義パケットのシリアルナンバーは、ＡＣＫパケットのシリアルナンバーと同じであり、クライアント、負荷平衡デバイス、及びリアルサーバの間で伝送されるパケットのシリアルナンバーに不一致がないことを保証する。
【００５２】
幾つかの実施形態では、クライアントとのＴＣＰ接続を確立するとき、リアルサーバは、クライアント接続情報を抽出し、ソケットデータ構造を適用し、ソケットの関連するメンバ変数を初期化し、ソケットのＴＣＰステータスを「確立済み」に設定し、システムソケット作成機能を利用して、ソケットを作成し、接続を確立する。ソケットは、アドレス及びポートを記述して、通信チェーンのノードを示し、仮想マシンとコンピュータとの間の通信を実現するのに使用される。
【００５３】
別の実施形態では、自己定義パケットは自己定義ＳＹＮパケットであり得、自己定義ＳＹＮパケットは、ＴＣＰ方式の３ウェイハンドシェイクを採用する。
【００５４】
自己定義ＳＹＮパケットのシリアルナンバーは、クライアントから送信されるＳＹＮパケットに基づいて計算されるシリアルナンバーであり得る。自己定義ＳＹＮパケットの確認番号は、負荷平衡デバイスから返送されるＳＹＮ＋ＡＣＫパケットのシリアルナンバーに設定し得る。シリアルナンバーの上記割り当ては、クライアント、負荷平衡デバイス、及びリアルサーバの間で伝送されるパケットのシリアルナンバーに不一致がないことを保証する。
【００５５】
クライアント接続情報は、自己定義ＳＹＮパケットのＴＣＰオプションフィールドに書き込み得る。一実施形態では、負荷平衡デバイスのアドレスもＴＣＰオプションフィールドに書き込み得る。これらは、自己定義ＴＣＰオプションフィールドを自己定義ＳＹＮパケットに追加して、負荷平衡デバイスのアドレスをそこに書き込むことにより実施し得る。
【００５６】
リアルサーバは、自己定義ＳＹＮパケットを受信した後、そこからクライアント接続情報を抽出し、抽出されたクライアント接続情報に基づいて、クライアントとのハーフオープンＴＣＰ接続を確立し、最後に、ハーフオープンＴＣＰ接続をフルＴＣＰ接続に変換し得る。
【００５７】
例えば、リアルサーバは、抽出されたクライアント接続情報に基づいて、クライアントとのハーフオープンＴＣＰ接続を確立し得る。リアルサーバは、例えば、ＴＣＰオプションフィールドに含まれる負荷平衡デバイスのアドレスをパケットが含むか否かをチェックすることにより、パケットが自己定義ＳＹＮパケットであるか否かを判断し得る。
【００５８】
ＴＣＰ及び負荷平衡デバイスのアドレスに基づいて、リアルサーバは、ＳＹＮ＋ＡＣＫパケットを負荷平衡デバイスに返送し得、それにより、負荷平衡デバイスは、クライアントから受信したＡＣＫパケットをリアルサーバに転送し得る。ＡＣＫパケットを受信すると、リアルサーバは、ハーフオープンＴＣＰ接続をフルＴＣＰ接続に変換し得る。
【００５９】
示される実施形態では、負荷平衡デバイスは、攻撃への防御を提供する。負荷平衡デバイスは、クライアント接続情報をＳＹＮ＋ＡＣＫパケットのシリアルナンバーに保持する。負荷平衡デバイスは、クライアントから返送されたＡＣＫパケットを受信すると、自己定義ＳＹＮパケットをリアルサーバに送信し得、それにより、リアルサーバは、処理すべき正当なＳＹＮパケットであると判断し得る。
【００６０】
リアルサーバは、自己定義ＳＹＮパケットを受信すると、自己定義ＳＹＮパケット内の自己定義ＴＣＰオプションフィールドを識別し、ハーフオープンＴＣＰ接続を確立し、自己定義ＴＣＰオプションフィールドに含まれる負荷平衡デバイスのアドレスに基づいて、ＳＹＮ＋ＡＣＫパケットを負荷平衡デバイスに返送し得る。
【００６１】
負荷平衡デバイスにより記憶される接続情報は、負荷平衡デバイスのアドレスを含まないことがある。接続を確立するために、クライアントのアドレス及びポート並びにリアルサーバのアドレス及びポートが一般に必要である。返送されたＳＹＮ＋ＡＣＫパケットは、そのような情報を含む必要があり得る。リアルサーバは、例えば、ＩＰＩＰトンネルを通して送信することによりＳＹＮ＋ＡＣＫパケットを返送して、アドレス及びポート情報を保持し得る。ＩＰＩＰトンネルとは、ＩＰ（インターネットプロトコル）をＩＰパケットのヘッダに取り付けるプロトコルである。
【００６２】
図２は、クライアント１、負荷平衡デバイス２、及びリアルサーバ３を含む負荷平衡システムにおいてＴＣＰ接続を確立する例示的な方法２００を示すフローチャートである。方法２００は以下のステップを含む。
【００６３】
ステップ２０１において、クライアント１は、ＳＹＮパケットを負荷平衡デバイス２に転送する。ＳＹＮパケットは、クライアント接続情報を含む。
【００６４】
ステップ２０２において、負荷平衡デバイス２は、クライアント接続情報に基づいてシリアルナンバーを計算する。
【００６５】
一実施形態では、シリアルナンバーは、同期クッキー（ＳＹＮクッキー）技術を用いて取得し得る。ＳＹＮパケットに含まれるクライアント接続情報は、クッキー機能を用いて処理されて、クッキー値を生成し得、クッキー値はシリアルナンバーとして使用し得る。ＳＹＮクッキー技術を利用して、ＳＹＮフラッド攻撃を阻止し得る。ＴＣＰパケットに応答してＳＹＮ＋ＡＣＫパケットを返送するとき、ＳＹＮクッキー技術は、特定のデータセグメントを割り振らない。その代わり、ＳＹＮクッキー技術は、ＳＹＮパケットに基づいてクッキー値を計算し得る。
【００６６】
Saddrがクライアントソースアドレスであり、daddrがビジット宛先アドレスであり、sportがクライアントソースポートであり、dportがビジット宛先ポートであると仮定すると、クッキー値は、以下のように取得し得る。
１．A=cookie_hash(saddr, daddr, sport, dport, 0,0)但し、ハッシュ関数はcre３２アルゴリズムを利用する。
２．B=クライアントからのＳＹＮパケットのシリアルナンバー。
３．C=jiffies/(HZ*60)但し、jiffiesは現在のシステムクロックカウントであり、ＨＺは秒単位のシステムクロックカウントであり、Ｃの単位は分である。
４．D=cookie_hash(saddr, daddr, sport, dport, C, 1)
５．E=保存されたＴＣＰオプション値、宛先：［２１］［２０］［１９−１６］［１５−０］但し、２１ビットはＳＡＣＫオプションであり、２０ビットはタイムスタンプオプションであり、１９−１６ビットはwscaleオプションであり、１５−０ビットはmssオプションである。
６．cookie=A+B+(C<<24)+((D+E)&0x00FFFFFF)。
【００６７】
ステップ２０３において、負荷平衡デバイス２は、リアルサーバ３の接続情報を含むＳＹＮ＋ＡＣＫパケットをクライアント１に返送する。負荷平衡デバイス２がクライアント接続情報に基づいて計算したシリアルナンバーは、ＳＹＮ＋ＡＣＫパケットのシリアルナンバーとして割り当てられる。
【００６８】
ステップ２０４において、クライアント１はＡＣＫパケットを負荷平衡デバイス２に返送する。ＡＣＫパケットの確認番号は、ＳＹＮ＋ＡＣＫパケットのシリアルナンバーに基づいて生成し得る。一実施形態では、ＡＣＫパケットの確認番号は、ＳＹＮ＋ＡＣＫのシリアルナンバーに１と加えたものに等しい。
【００６９】
ステップ２０５において、負荷平衡デバイス２は、ＡＣＫパケットの確認番号に基づいてクライアント接続情報を取得する。一実施形態では、シリアルナンバーは、確認番号から１を減算することにより取得し得る。シリアルナンバーがクッキー値である場合、アルゴリズムはクッキー値をチェックして、クライアント接続情報を取得し得る。例えば、チェックプロセスは以下のように説明される。
１．クッキー値をＡＣＫパケットの確認番号から１を減算したものに設定する。
２．クッキー＝クッキー−Ａ−Ｂ（Ａ及びＢの定義は上で説明した）を計算する。
３．C1=jiffies/(HZ*60)但し、jiffiesは、時間の経過と共に増大する。
４．Diff=C1-(クッキー>>24)=C1-C但し、Diffは時間差であり、Diffが所定の閾値よりも大きい場合、クッキーは無効である。
５．C=C1-Diff, D=cookie_hash(saddr, daddr, sport, dport, C, 1)
６．E=(cookie-D)&0x00FFFFFF、保存されたＴＣＰオプションを取得する。
７．取得したＴＣＰオプションが正当であるか否かを判断する。
８．ＴＣＰオプションが正当である場合、ＴＣＰオプションの値を返す。
【００７０】
ＴＣＰオプションが正当ではない場合、方法２００は、更なるステップに進まずに即座に終了し得る。
【００７１】
ステップ２０６において、負荷平衡デバイス２は、クライアント１から返送されたＡＣＫパケットに識別子を含め得、クライアント接続情報をＡＣＫパケットに書き込んで、自己定義パケットを生成し得る。
【００７２】
識別子は、自己定義パケットの識別に使用し得る。一実施形態では、識別子は、ＡＣＫパケットヘッダの予備ビットの１つに書き込み得る。クライアント接続情報は、ＴＣＰオプションフィールドに書き込み得る。
【００７３】
ステップ２０７において、負荷平衡デバイス２は、自己定義ＡＣＫパケットをリアルサーバ３に転送する。
【００７４】
ステップ２０８において、リアルサーバ３は、クライアント接続情報を自己定義パケットから抽出し、クライアント接続情報に基づいてクライアント１とのＴＣＰ接続を確立する。
【００７５】
幾つかの実施形態では、クライアント１から返送されたＡＣＫパケットはデータ要求を含み得、又はＡＣＫパケットは、確認識別子を含む要求パケットであり得、それにより、自己定義ＡＣＫパケットはデータ要求を含むこともできる。
【００７６】
リアルサーバ３は、クライアント１とのＴＣＰ接続を確立した後、データ要求に基づいて、応答パケットをクライアントに提供し得る。
【００７７】
示された実施形態では、クライアント接続情報は、負荷平衡デバイス２によりクライアント１に返送されたＳＹＮ＋ＡＣＫパケットにおいて保持され得る。クライアント接続情報を記憶するデータベースを作成する必要がなくなり得る。加えて、データベースを作成するためにシステムリソースが消費されない。システムがＳＹＮフラッド攻撃下にある場合であっても、負荷平衡デバイス２は攻撃への防御を提供し得、それにより、クライアント１からリアルサーバ３への通常のサービス要求に影響を及ぼさない。
【００７８】
図３は、クライアント１、負荷平衡デバイス２、及びリアルサーバ３を含む負荷平衡システムにおいてＴＣＰ接続を確立する別の方法３００を示すフローチャートである。方法３００は以下のステップを含む。
【００７９】
ステップ３０１において、クライアント１は、ＳＹＮパケットを負荷平衡デバイス２に転送する。ＳＹＮパケットは、クライアント接続情報を含む。
【００８０】
ステップ３０２において、負荷平衡デバイス２は、クライアント接続情報に基づいてシリアルナンバーを計算する。
【００８１】
一実施形態では、シリアルナンバーは、ＳＹＮクッキー技術を用いて取得し得る。ＳＹＮパケットに含まれるクライアント接続情報は、クッキー機能を用いて処理されて、クッキー値を生成し得、クッキー値はシリアルナンバーとして使用し得る。ＳＹＮクッキー技術を利用して、ＳＹＮフラッド攻撃を阻止し得る。ＴＣＰパケットに応答してＳＹＮ＋ＡＣＫパケットを返送するとき、ＳＹＮクッキー技術は、特定のデータセグメントを割り振らない。その代わり、ＳＹＮクッキー技術は、ＳＹＮパケットに基づいてクッキー値を計算し得る。
【００８２】
ステップ３０３において、負荷平衡デバイス２は、リアルサーバ３の接続情報を含むＳＹＮ＋ＡＣＫパケットをクライアント１に返送する。ステップ３０２において計算されたシリアルナンバーは、ＳＹＮ＋ＡＣＫパケットのシリアルナンバーであるものとして割り当てられる。
【００８３】
ステップ３０４において、クライアント１はＡＣＫパケットを負荷平衡デバイス２に返送する。ＡＣＫパケットの確認番号は、ＳＹＮ＋ＡＣＫパケットのシリアルナンバーに基づいて形成し得る。一実施形態では、ＡＣＫパケットの確認番号は、ＳＹＮ＋ＡＣＫのシリアルナンバーに１と加えたものに等しい。
【００８４】
ステップ３０５において、負荷平衡デバイス２は、ＡＣＫパケットの確認番号に基づいてクライアント接続情報を取得する。一実施形態では、シリアルナンバーは、確認番号から１を減算することにより取得し得る。シリアルナンバーがクッキー値である場合、アルゴリズムはクッキー値をチェックして、クライアント接続情報を取得し得る。クッキー値をチェックするプロセスについては、方法２００に関して上で説明してあり、ここでは繰り返さない。
【００８５】
ステップ３０６において、負荷平衡デバイス２は、クライアント１から返送されたＳＹＮパケットに基づいて自己定義ＳＹＮパケットを生成する。負荷平衡デバイス２は、自己定義ＳＹＮパケットのシリアルナンバーとして、クライアント１から返送されたＳＹＮパケットのシリアルナンバーを使用し、自己定義ＳＹＮパケットの確認番号として、負荷平衡デバイス２から送信されたＳＹＮ＋ＡＣＫパケットのシリアルナンバーを使用し、クライアント接続情報を自己定義ＳＹＮパケットに書き込み、負荷平衡デバイス２のアドレスを自己定義ＳＹＮパケットの自己定義フィールドに書き込む。
【００８６】
ステップ３０７において、負荷平衡デバイス２は、自己定義ＳＹＮパケットをリアルサーバ３に転送する。
【００８７】
ステップ３０８において、リアルサーバ３は、自己定義ＳＹＮパケットに含まれるクライアント接続情報に基づいて、クライアント１とのハーフオープンＴＣＰ接続を確立する。
【００８８】
ステップ３０９において、リアルサーバ３は、負荷平衡デバイス２のアドレスに基づいて、ＳＹＮ＋ＡＣＫパケットを負荷平衡デバイス２に返送する。リアルサーバ３から返送されるＳＹＮ＋ＡＣＫパケットのシリアルナンバーは、自己定義ＳＹＮパケットの確認番号であり得る。
【００８９】
ステップ３１０において、負荷平衡デバイス２は、リアルサーバ３からＳＹＮ＋ＡＣＫパケットを受信した後、クライアント１から返送されたＡＣＫパケットをリアルサーバ３に転送する。
【００９０】
ステップ３１１において、リアルサーバ３は、クライアント１のＡＣＫパケットを受信した後、クライアント１とのフルＴＣＰ接続を確立する。
【００９１】
幾つかの実施形態では、クライアント１から返送されたＡＣＫパケットは、データ要求を含み得、又はＡＣＫパケットは、確認識別子を含む要求パケットであり得る。リアルサーバ３は、クライアント１から返送されたＡＣＫパケットを受信し、クライアント１とのＴＣＰ接続を確立した後、データ要求に基づいて応答パケットをクライアントに提供し得る。
【００９２】
示される実施形態では、クライアント接続情報は、負荷平衡デバイス２からクライアント１に送信されるＳＹＮ＋ＡＣＫパケットにおいて保持され得る。クライアント接続情報を記憶するデータベースの作成を省き得る。加えて、データベースを作成するためにシステムリソースは消費されない。システムは、ＳＹＮフラッド攻撃下である場合であっても、システムリソースは使い果たされず、クライアント接続情報を記憶するデータベースは作成されないため、システムはなお、通常のサービスを提供し得る。負荷平衡デバイス２は、攻撃への防御を提供するため、リアルサーバ３は、正当なＳＹＮパケット（自己定義ＳＹＮパケット）を受信し、それにより、通常のサービスを提供し得る。
【００９３】
図４Ａは、本開示の実施形態による例示的な負荷平衡デバイス４００を示すブロック図である。デバイス４００は、第１の受信モジュール４０１、計算モジュール４０２、第１の応答モジュール４０３、第２の受信モジュール４０４、生成モジュール４０５、及び第１の転送モジュール４０６を含み得る。
【００９４】
第１の受信モジュール４０１は、クライアントから送信されたＳＹＮパケットを受信するように構成し得る。
【００９５】
計算モジュール４０２は、クライアントから受信されるＳＹＮパケットに基づいて、シリアルナンバーを計算するように構成し得る。
【００９６】
第１の応答モジュール４０３は、ＳＹＮ＋ＡＣＫパケットをクライアントに返送し、前記シリアルナンバーをＳＹＮ＋ＡＣＫパケットに割り当てるように構成し得る。
【００９７】
第２の受信モジュール４０４は、ＡＣＫパケットをクライアントから受信し、ＡＣＫパケットの確認番号に基づいて、クライアント接続情報を取得するように構成し得る。
【００９８】
生成モジュール４０５は、クライアント接続情報を含む自己定義パケットを生成するように構成し得る。
【００９９】
第１の転送モジュール４０６は、自己定義パケットをリアルサーバに転送するように構成し得、それにより、リアルサーバは、クライアント接続情報を自己定義パケットから抽出し、クライアント接続情報に基づいてクライアントとのＴＣＰ接続を確立し得る。
【０１００】
示される実施形態では、負荷平衡デバイスは、ＳＹＮパケットに含まれるクライアント接続情報を使用して、シリアルナンバーを計算し、前記シリアルナンバーを、負荷平衡デバイスから送信されるＳＹＮ＋ＡＣＫパケットに割り当て、それにより、リアルサーバは、クライアント接続情報を記憶するデータベースを作成する必要がなくなり得る。クライアント接続情報を記憶するデータベースを作成する必要がないため、デバイス４００は、リソースの消費を低減し、リアルサーバに巨大なデータベースを作成させ、そのリソースを使い果たさせる攻撃への防御を提供する。
【０１０１】
示される実施形態では、攻撃への防御は負荷平衡デバイスにより実現され、負荷平衡デバイスはリアルサーバを攻撃から更に保護する。
【０１０２】
負荷平衡デバイス４００は、ＡＣＫパケットをクライアントから受信した後、クライアント接続情報を含む自己定義パケットをリアルサーバに転送し、それにより、リアルサーバは、クライアントとのＴＣＰ接続を確立し得る。
【０１０３】
幾つかの実施形態では、生成モジュール４０５は、識別子を追加し、クライアント接続情報をクライアントから返送されたＡＣＫパケットに書き込んで、自己定義パケットを生成するように更に構成し得る。識別子は、パケットが変更されたＡＣＫパケットであることを示すのに使用し得る。
【０１０４】
すなわち、クライアントから返送されたＡＣＫパケットは、自己定義パケットを生成するように直接変更し得る。ＴＣＰ方式によれば、ＡＣＫパケットのＴＣＰオプションフィールドは空であり得、それにより、クライアント接続情報をそこに書き込み得る。さらに、変更されたＡＣＫパケットに識別子を追加して、自己定義パケットを生成し得る。
【０１０５】
一実施形態では、変更ＡＣＫパケット識別子は、ＴＣＰヘッダの予備ビットに配置し得る。例えば、４つの予備ビットがある場合、ビットのうちの１つを識別子に使用し得、他の３ビットは使用のために空であり得る。
【０１０６】
リアルサーバは、ＡＣＫパケットを変更することにより生成された自己定義パケットを受信すると、識別子に基づいて受信パケットが自己定義パケットであるか否かを判断し得る。リアルサーバは、ＴＣＰオプションフィールドからクライアント接続情報を抽出し得る。リアルサーバの接続情報は、クライアントに送信されているため、リアルサーバは、抽出されたクライアント接続情報に基づいてクライアントとのＴＣＰ接続を確立し得る。
【０１０７】
一実施形態では、自己定義パケットのシリアルナンバーは、ＡＣＫパケットのシリアルナンバーと同じであり得、クライアント、負荷平衡デバイス、及びリアルサーバの間で伝送されるパケットのシリアルナンバーに不一致がないことを保証する。
【０１０８】
幾つかの実施形態では、クライアントとのＴＣＰ接続を確立するとき、リアルサーバは、クライアント接続情報を抽出し、ソケットデータ構造を適用し、ソケットの関連するメンバ変数を初期化し、ソケットのＴＣＰステータスを「確立済み」に設定し、システムソケット作成機能を利用して、ソケットを作成し、クライアントとのＴＣＰ接続を確立する。
【０１０９】
別の実施形態では、生成モジュール４０５は、自己定義ＳＹＮパケットのシリアルナンバーを、クライアントから送信されたＳＹＮパケットのシリアルナンバーとなるように設定し、負荷平衡デバイスから送信するＳＹＮ＋ＡＣＫパケットのシリアルナンバーを、自己定義ＳＹＮパケットの確認番号となるように設定し、クライアント接続情報を自己定義ＳＹＮパケットに書き込み、負荷平衡デバイスのアドレスを自己定義ＳＹＮパケットの自己定義フィールドに追加するように更に構成される。
【０１１０】
幾つかの実施形態では、図４Ｂを参照すると、第１の転送モジュール４０６は、第１の転送サブモジュール４０６−１及び第２の転送サブモジュール４０６−２を含み得る。
【０１１１】
第１の転送サブモジュール４０６−１は、自己定義ＳＹＮパケットをリアルサーバに転送するように構成し得、それにより、リアルサーバは、自己定義ＳＹＮパケットに含まれるクライアント接続情報に基づいて、クライアントとのハーフオープンＴＣＰ接続を確立し得る。
【０１１２】
第２の転送サブモジュール４０６−２は、負荷平衡デバイスのアドレスに基づいてリアルサーバからＳＹＮ＋ＡＣＫパケットが送信された後、クライアントから返送されたＡＣＫパケットをリアルサーバに転送するように構成し得、それにより、リアルサーバは、ハーフオープンＴＣＰ接続をクライアントとのフルＴＣＰ接続に変換し得る。
【０１１３】
例えば、リアルサーバは、抽出されたクライアント接続情報に基づいてクライアントとのハーフオープンＴＣＰ接続を確立し得る。リアルサーバは、パケットが、例えば、ＴＣＰオプションフィールドに含まれる負荷平衡デバイスのアドレスを含むか否かをチェックすることにより、パケットが自己定義ＳＹＮパケットであるか否かを判断し得る。
【０１１４】
ＴＣＰ及び負荷平衡デバイスのアドレスに基づいて、リアルサーバは、ＳＹＮ＋ＡＣＫｐケットを負荷平衡デバイスに返送し得、それにより、負荷平衡デバイスは、クライアントから受信したＡＣＫパケットをリアルサーバに転送し得る。ＡＣＫパケットを受信すると、リアルサーバは、ハーフオープンＴＣＰ接続をフルＴＣＰ接続に変換し得る。
【０１１５】
示される実施形態では、負荷平衡デバイスは、攻撃への防御を提供する。負荷平衡デバイスは、クライアントから返送されたＡＣＫパケットを受信すると、自己定義ＳＹＮパケットをリアルサーバに送信し得、それにより、リアルサーバは、そのパケットが処理すべき正当なＳＹＮパケットであると判断し得る。
【０１１６】
幾つかの実施形態では、クライアントから返送されたＡＣＫパケットはデータ要求を含み得、それにより、自己定義ＡＣＫパケットは、データ要求を含むこともできる。リアルサーバは、クライアントとのＴＣＰ接続を確立した後、データ要求に基づいて応答パケットをクライアントに提供し得る。
【０１１７】
幾つかの実施形態では、第２の受信モジュール４０４は、クライアントから返送されたデータ要求を含むＡＣＫパケットを受信し、ＡＣＫパケットの確認番号に基づいて、クライアント接続情報を計算するように更に構成し得る。
【０１１８】
生成モジュール４０５は、クライアント接続情報及びデータ要求を含む自己定義パケットを生成するように更に構成される。
【０１１９】
第１の転送モジュール４０６は、自己定義パケットをリアルサーバに転送するように構成し得、それにより、リアルサーバは、クライアント接続情報及びデータ要求を自己定義パケットから抽出し、クライアント接続情報に基づいて、クライアントとのＴＣＰ接続を確立し、データ要求に基づいて応答パケットをクライアントに送信し得る。
【０１２０】
一実施形態では、シリアルナンバーは、ＳＹＮクッキー技術を用いて取得し得る。ＳＹＮパケットに含まれるクライアント接続情報は、クッキー機能を用いて処理されて、クッキー値を生成し得、クッキー値はシリアルナンバーとして使用し得る。計算モジュール４０２は、ＳＹＮクッキー技術のクッキー機能を利用して、クライアント接続情報を処理し、負荷平衡デバイスからクライアントに返送されるＳＹＮ＋ＡＣＫパケットのシリアルナンバーとしてクッキー値を取得するように更に構成される。
【０１２１】
幾つかの実施形態では、図４Ｃを参照すると、第２の受信モジュールは、受信サブモジュール４０４−１及びチェックサブモジュール４０４−２を含み得る。
【０１２２】
受信サブモジュール４０４−１は、クライアントから返送されたＡＣＫパケットを受信し、ＡＣＫパケットの確認番号に基づいてクッキー値を計算するように構成し得る。
【０１２３】
チェックサブモジュール４０４−２は、クッキー値をチェックし、クッキー値の有効性を確認した後、クライアント接続情報を取得するように構成し得る。
【０１２４】
一実施形態では、クッキー値は、確認番号から１を減算したものの値に等しい。クッキー値がチェックサブモジュール４０４−２によるチェックに合格する場合、クライアント接続情報をそこから取得し得る。
【０１２５】
クッキー値の計算及びチェックについては上で説明され、本明細書で再び繰り返さない。
【０１２６】
図５は、本開示の実施形態による負荷平衡システムのクライアントデバイス５００のブロック図である。図５を参照すると、クライアントデバイス５００は、第２の転送モジュール５０１、第３の受信モジュール５０２、及び第２の応答モジュール５０３を含む。
【０１２７】
第２の転送モジュール５０１は、クライアント接続情報を含むＳＹＮパケットを負荷平衡デバイスに転送するように構成し得る。
【０１２８】
第３の受信モジュール５０２は、負荷平衡デバイスから返送されたＳＹＮ＋ＡＣＫパケットを受信するように構成し得る。ＳＹＮ＋ＡＣＫパケットのシリアルナンバーは、ＳＹＮパケットに含まれるクライアント接続情報に基づいて負荷平衡デバイスにより計算し得る。ＳＹＮ＋ＡＣＫパケットは、リアルサーバの接続情報を含む。
【０１２９】
第２の応答モジュール５０３は、ＡＣＫパケットで負荷平衡デバイスに応答するように構成し得、それにより、負荷平衡デバイスは、ＡＣＫパケットの確認番号に基づいて計算を実行して、クライアント接続情報を取得し、クライアント接続情報を自己定義パケットに書き込み、自己定義パケットをリアルサーバに転送し得る。リアルサーバは、クライアント接続情報を自己定義パケットから抽出し、クライアント接続情報に基づいてクライアントとのＴＣＰ接続を確立し得る。
【０１３０】
幾つかの実施形態では、第２の応答モジュール５０３から送信されるＡＣＫパケットは、データ要求を含み得、それにより、負荷平衡デバイスは、データ要求を自己定義パケットに含み得る。リアルサーバは、クライアントとのＴＣＰ接続を確立した後、データ要求に基づいて応答パケットをクライアントに転送し得る。
【０１３１】
図６は、本開示の実施形態による負荷平衡システムのリアルサーバ６００のブロック図である。図６を参照すると、リアルサーバ６００は、第４の受信モジュール６０１、抽出モジュール６０２、及び接続確立モジュール６０３を含み得る。
【０１３２】
第４の受信モジュール６０１は、負荷平衡デバイスから送信される自己定義パケットを受信するように構成し得る。一実施形態では、自己定義パケットは以下のプロセスにより生成される。負荷平衡デバイスは、クライアントから送信されたＳＹＮパケットを受信し、ＳＹＮパケットに含まれるクライアント接続情報に基づいてシリアルナンバーを計算し得る。負荷平衡デバイスは、リアルサーバの接続情報を含むＳＹＮ＋ＡＣＫパケットにシリアルナンバーを割り当て、ＳＹＮ＋ＡＣＫパケットをクライアントに送信し得る。次に、負荷平衡デバイスは、クライアントからＡＣＫパケットを受信し得、ＡＣＫパケットの確認番号に基づいて計算を実行し、クライアント接続情報を取得し得る。負荷平衡デバイスは、クライアント接続情報を自己定義パケットに書き込み得る。
【０１３３】
抽出モジュール６０２は、クライアント接続情報を自己定義パケットから抽出するように構成し得る。
【０１３４】
接続確立モジュール６０３は、クライアント接続情報に基づいてクライアントとのＴＣＰ接続を確立するように構成し得る。
【０１３５】
幾つかの実施形態では、自己定義パケットは、クライアントから返送された変更ＡＣＫパケットである。ＡＣＫパケットには、クライアント接続情報と、それが自己定義ＡＣＫパケットであることを示す識別子とが追加されている。抽出モジュール６０２は、識別子を認識することにより、ＡＣＫパケットが自己定義パケットであると判断し、クライアント接続情報を変更ＡＣＫパケットから抽出する。接続確立モジュール６０３は、クライアント接続情報に基づいてクライアントとのＴＣＰ接続を確立する。
【０１３６】
幾つかの実施形態では、自己定義パケットは自己定義ＳＹＮパケットである。自己定義ＳＹＮパケットのシリアルナンバーは、クライアントから送信されるＳＹＮパケットのシリアルナンバーである。自己定義ＳＹＮパケットの確認番号は、負荷平衡デバイスからクライアントに送信されるＳＹＮ＋ＡＣＫパケットのシリアルナンバーであり得る。自己定義ＳＹＮパケットは、クライアント接続情報をＴＣＰオプションフィールドに含み、負荷平衡デバイスのアドレスを自己定義フィールドに含むように変更された、クライアントから送信されるＳＹＮパケットの変更版であり得る。自己定義フィールドは自己定義ＴＣＰオプションフィールドであり得る。
【０１３７】
ＴＣＰ方式及びクライアント接続情報に基づいて、接続確立モジュール６０３は、クライアントとのハーフオープンＴＣＰ接続を確立し、後に、ハーフオープンＴＣＰ接続をフルＴＣＰ接続に変換し得る。
【０１３８】
抽出モジュール６０２は、自己定義フィールドを含む自己定義ＳＹＮパケットを受信した後、クライアント接続情報を抽出し、接続確立モジュール６０３にクライアントとのハーフオープンＴＣＰ接続を確立するように促すように構成し得る。
【０１３９】
幾つかの実施形態では、リアルサーバ６００は、負荷平衡デバイスのアドレスに基づいて、ＳＹＮ＋ＡＣＫパケットを負荷平衡デバイスに返送するように構成される第３の応答モジュール６０４を更に含む。
【０１４０】
幾つかの実施形態では、第４の受信モジュール６０１は、クライアントから負荷平衡デバイスに返送され、かつ、負荷平衡デバイスが第３の応答モジュール６０４により送信されたＳＹＮ＋ＡＣＫパケットを受信した後、負荷平衡デバイスにより転送されたＡＣＫパケットを受信するように更に構成される。第４の受信モジュール６０１がクライアントのＡＣＫパケットを受信した後、接続確立モジュール６０３は、ハーフオープンＴＣＰ接続をフルＴＣＰ接続に変換し得る。
【０１４１】
幾つかの実施形態では、クライアントのＡＣＫパケットは、データ要求を含み得る。リアルサーバ６００は、クライアントとのＴＣＰ接続を確立した後、データ要求に基づいて応答パケットを返送し得る。
【０１４２】
図７は、本開示の実施形態による負荷平衡システム７００を示すブロック図である。負荷平衡システム７００は、クライアントデバイス７０１、負荷平衡デバイス７０２、及びリアルサーバ７０３を含む。
【０１４３】
クライアントデバイス７０１は、ＳＹＮパケットを負荷平衡デバイス７０２に転送し、負荷平衡デバイス７０２から返送されたＳＹＮ＋ＡＣＫパケットを受信し、ＡＣＫパケットを負荷平衡デバイス７０２に転送するように構成し得る。
【０１４４】
負荷平衡デバイス７０２は、クライアントデバイス７０１から送信されるＳＹＮパケットに含まれるクライアント接続情報に基づいて、シリアルナンバーを計算し、ＳＹＮ＋ＡＣＫパケットをクライアントデバイス７０１に返送し、前記シリアルナンバーをＳＹＮ＋ＡＣＫパケットに割り当て、クライアントデバイス７０１から返送されるＡＣＫパケットの確認番号に基づいて計算してクライアント接続情報を取得し、自己定義パケットを生成し、自己定義パケットをリアルサーバ７０３に転送するように構成し得る。
【０１４５】
リアルサーバ７０３は、負荷平衡デバイス７０２から送信された自己定義パケットからクライアント接続情報を抽出し、クライアント接続情報に基づいてクライアントデバイス７０１とのＴＣＰ接続を確立するように構成し得る。
【０１４６】
示される実施形態では、負荷平衡デバイス７０２は、ＳＹＮパケットに含まれるクライアント接続情報をＳＹＮ＋ＡＣＫパケットにおいて保持し、それにより、クライアント接続情報を記憶するデータベースを作成する必要がなく、システムリソースの消費が低減する。負荷平衡デバイス７０２は、攻撃への防御を提供し、セキュリティを改善する。自己定義パケットに基づいて、負荷平衡デバイス７０２は、クライアント接続情報をリアルサーバ７０３に送信し得る。リアルサーバ７０３は、自己定義パケットを受信した後、クライアントデバイス７０１とのＴＣＰ接続を確立し得る。
【０１４７】
本開示の実施形態による方法及びデバイスは、クライアント及びリアルサーバの間でのＴＣＰ接続の確立を可能にし、ＳＹＮフラッド攻撃を効率的に防ぎ得る。クライアント接続情報を記憶するデータベースを作成する必要はなく、それにより、システムリソースの消費が低減する。本開示の実施形態による方法及びデバイスは、通常のサービス要求へのサービス提供を可能にする。
【０１４８】
本開示の実施形態によるデバイス及びサーバは、１つ又は複数のプロセッサ、入／出力ポート、ネットワークコネクタ、及びメモリデバイスを含み得る。
【０１４９】
メモリデバイスは、命令を記憶する非一時的コンピュータ可読媒体を含み、命令は、１つ又は複数のプロセッサにより実行されると、プロセッサに上述した方法を実行させる。媒体は、ランダムアクセスメモリ（ＲＡＭ）又は読み取り専用メモリ（ＲＯＭ）若しくはフラッシュメモリ等の他の不揮発性メモリであり得る。メモリデバイスはコンピュータの内部にあり得る。
【０１５０】
非一時的コンピュータ可読媒体は、情報を永久的又は一時的に記憶し得る。非一時的コンピュータ可読媒体は、モバイル媒体又は静止媒体であり得る。情報は、コンピュータ可読命令、データ構造、プロセスモジュール、又は他のデータであり得る。非一時的コンピュータ可読媒体は、相変化ランダムアクセスメモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他のタイプのＲＡＭ、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、レジスタ、キャッシュ、ＣＤ、ＤＶＤ、他のタイプの光学記憶媒体、磁気テープ、磁気ドライブ、又は他のタイプの磁気記憶媒体、記憶コンピュータメッセージを含み得る。
【０１５１】
示される方法、デバイス、サーバ、及びシステムは、ソフトウェア、ハードウェア、又は専用構成要素を有する専用デバイスが上述した機能を実行できるようにするソフトウェアとハードウェアとの組み合わせにより実行し得る。例えば、示される方法、デバイス、サーバ、及びシステムは、特定用途向け集積回路（ＡＳＩＣ）又は他のハードウェアデバイスで実施し得る。一実施形態では、モジュール又はサブモジュールのステップ及び機能は、物理的なプロセッサにより実行し得る。一実施形態では、ステップ及びそれに関連するデータ構造は、ＲＡＭ、磁気ドライブ、光学ドライブ、及び磁気ディスク等の非一時的コンピュータ可読媒体に記憶し得る。幾つかの実施形態では、本開示のステップ又は機能は、プロセッサと協働して、ステップ又は機能を実行するように設計される回路等のハードウェアデバイスを用いて実施し得る。
【０１５２】
幾つかの実施形態では、方法の全て又は一部は、コンピュータ命令等のコンピュータプログラムにより実施し得、コンピュータプログラムは、コンピュータにより実行されると、コンピュータに方法又は機能を実行させる。これらのコンピュータ命令は、ポータブル又は非ポータブルの非一時的コンピュータ記憶媒体に記憶し得、ブロードキャストにより又はネットワークにおいて伝送し得、及び／又は計算デバイスのメモリデバイスに記憶し得る。本開示の実施形態によるデバイスは、コンピュータ命令を記憶するように構成されるメモリデバイスと、命令を実行して、本開示の方法又は実施形態を実行するように構成されるプロセッサとを含む。
【０１５３】
本発明の他の実施形態が、本明細書を考慮し、本明細書に開示される本発明を実施することから当業者に明らかになる。本願は、本発明の一般原理に従い、本開示からの、当分野での既知又は慣習的な実施内にある逸脱を包含する本発明のあらゆる変形、使用、又は適合を包含することが意図される。本明細書及び例が単なる例示として見なされることが意図され、本発の真の範囲及び趣旨は以下の特許請求の範囲により示される。上述したステップ又はモジュールの複数のステップ又はモジュールを１つのステップ又はモジュールとして結合してもよく、上述した各モジュールを複数のサブモジュールに更に分割してもよいことも当業者は理解する。本開示の単数形の用語表現は、複数であり得ることを除外しない。本開示で使用される序数は、必ずしもステップ又は方法の順序を表すわけではない。ステップ又は方法の順序は、実際のニーズに従って変更し得る。
【０１５４】
本発明が、上述され、添付図面に示された厳密な構造に限定されず、本発明の範囲から逸脱せずに、様々な変更及び変形を行い得ることが理解される。本発明の範囲は添付の特許請求の範囲によってのみ限定されることが意図される。
【図１】
2018528679.tif 000003
【図２】
2018528679.tif 000004
【図３】
2018528679.tif 000005
【図４Ａ】
2018528679.tif 000006
【図４Ｂ】
2018528679.tif 000007
【図４Ｃ】
2018528679.tif 000008
【図５】
2018528679.tif 000009
【図６】
2018528679.tif 000010
【図７】
2018528679.tif 000011
【国際調査報告】
2018528679.tif 000012
2018528679.tif 000013