IBM Cloud Docs
TCP接続と制限

TCP接続と制限

CISリソースにアクセスする場合、クライアントとサーバーの間にTCP(Transmission Control Protocol)コネクションが確立される。 ユーザーがCISてウェブサイトをリクエストすると、そのリクエストはCISのインフラを通過するため、DDoS対策とセキュリティ強化が可能になる。

CISがユーザーをオリジン・サーバーに接続する方法

CISは、ユーザーリクエストをCISを通してアプリケーションのオリジンサーバーにルーティングすることで、ユーザーとオリジンの仲介役を果たします。 ユーザーのトラフィックは、最も近いPoPPoint of Presence)にルーティングされ、そこでリクエストが処理される。 リクエストがCloudflareのデータセンターの1つから提供されない場合、リクエストを転送するためにオリジンサーバーへの接続が開かれます。

接続制限

HTTP / HTTPS トラフィックが CIS を介してプロキシされるとき、多くの場合、確立された TCPコネクションが2つある。1つ目はリクエストクライアントと CIS の間、2つ目は CIS とオリジンサーバーの間である。 各接続にはそれぞれTCPと HTTP の制限がある。

要求クライアントとCIS間の接続制限

表1に、リクエスト・クライアントとCIS間の接続制限を示す。

リクエストクライアントと'CIS間の接続制限
タイプ リミット(秒) HTTP 制限時のステータスコード 構成可能
接続キープアライブHTTP/1.1 400 TCPコネクションのクローズ いいえ
接続アイドルHTTP/2 400 TCPコネクションのクローズ いいえ

CISとオリジン・サーバー間の接続制限

表2にCISとオリジンサーバー間の接続制限を示す。

CISとオリジン・サーバー間の接続制限。 一部のTCP接続は、エンタープライズ顧客向けにカスタマイズできます。
タイプ リミット(秒) HTTP 制限時のステータスコード 構成可能
完全なTCP接続 '[1] 15 522 いいえ
TCP ACKタイムアウト '[2] 90 522 いいえ
TCPキープアライブ間隔「[3] 30 520 いいえ
プロキシ・アイドル・タイムアウト '[4] 900 520 いいえ
プロキシー読み取りタイムアウト [5] 100 524 はい
プロキシ書き込みタイムアウト '[6] 30 524 いいえ
オリジンへのHTTP/2Ping Off 該当なし ある
HTTP/2接続アイドル「[7] 900 いいえ いいえ

TCPコネクションとキープアライブ

CISは、顧客のトラフィックをオリジン・サーバーにプロキシングする際に、TCPコネクションを繰り返す必要性を最小限に抑えることで、パフォーマンスを向上させ、コストを削減するためにキープアライブ・コネクションを使用している。 このプロセスを最適化するには、オリジンサーバーで HTTP keep-aliveが有効になっていることを確認し、最後のリクエストの後、Proxy Idle Timeoutまで開いているTCPコネクションの再利用を許可する。 これにより、接続のリセットを防ぎ、効率を高めることができる。

通常、 HTTP、リクエスト・レスポンス・サイクルごとに新しいTCPコネクションを開くため、オーバーヘッドが増える可能性がある。 キープアライブにより、1つのTCPコネクションが複数のリクエストに対してオープンな状態を維持できるため、待ち時間とネットワーク・トラフィックが削減され、最終的にユーザー・エクスペリエンスが向上します。

TCPコネクションはアクティブな状態を保つことができるが、アイドル状態のコネクションは通常、一定時間が経過すると切断される。 CISのユーザー接続のアイドルタイムアウトはデフォルトで400秒で、75秒ごとにキープアライブプローブを送信する。 9回連続してプローブに応答しなかった場合、CISはTCPリセット(RST)パケットで接続を終了する。

キープアライブは、キャパシティ・バランシングやメンテナンスなどの要因による接続の安定性を保証するものではないことに注意することが重要である。 企業のお客様は、ユーザーとCIS間、およびCISとオリジンサーバー間のTCP接続設定をカスタマイズすることができます。


  1. TCPは、IPベースのコネクション上で信頼性のあるコネクション(SYN、SYN-ACK、ACK)を確立するために3ウェイハンドシェイクを使用します。 SYNはsynchronizeの略で、ACKはacknowledgementの略である。 ↩︎

  2. TCP 3ウェイ・ハンドシェイクの最後のステップで、コネクションの確立を確認する。 ↩︎

  3. TCPキープアライブは、2つのエンドポイント間のコネクションを維持するために使用され、コネクションがまだアクティブかどうかをチェックするためにパケットを送信する。 これは、アイドリングストップ接続の早期閉鎖を防ぐのに役立つ。 定義された時間が経過しても応答がない場合、接続は終了する。 ↩︎

  4. TCPコネクションがアイドル状態にある場合、コネクションは確立されているが、どちらのエンドポイントもデータを送信していないことを意味する。 HTTP の文脈では、アイドル接続とは、クライアントとサーバーの間に確立された接続が、現在 HTTP リクエストもレスポンスも送信していない状態を指す。 ↩︎

  5. プロキシ読み出しタイムアウトとは、プロキシサーバーが接続を終了する前に、オリジンサーバーからの応答を待つ最大時間のことである。 ↩︎

  6. プロキシ書き込みタイムアウトとは、プロキシサーバーがコネクションを終了する前 に、クライアントにデータを送るために許容する最大時間のことである。 ↩︎

  7. TCPコネクションがアイドル状態にある場合、コネクションは確立されているが、どちらのエンドポイントもデータを送信していないことを意味する。 HTTP の文脈では、アイドル接続とは、クライアントとサーバーの間に確立された接続が、現在 HTTP リクエストもレスポンスも送信していない状態を指す。 ↩︎