Connexions TCP et limites
Des connexions TCP (Transmission Control Protocol) sont établies entre les clients et les serveurs lors de l'accès aux ressources CIS Lorsque les utilisateurs demandent un site web utilisant le CIS, leurs requêtes passent par l'infrastructure du CIS, ce qui permet une protection contre DDoS et une sécurité renforcée.
Comment le CIS connecte les utilisateurs au serveur d'origine
CIS agit en tant qu'intermédiaire entre l'utilisateur et l'origine en acheminant les demandes des utilisateurs via CIS vers le serveur d'origine de l'application. Le trafic des utilisateurs est acheminé vers le point de présencePoP le plus proche, où la demande est ensuite traitée. Si une demande n'est pas servie par l'un des centres de données de Cloudflare, une connexion sera ouverte avec le serveur d'origine pour transmettre la demande.
limites de connexion
Lorsque le trafic HTTP / HTTPS passe par CIS, il y a souvent deux connexions TCP établies : la première entre le client demandeur et CIS, et la seconde entre CIS et le serveur d'origine. Chaque connexion a ses propres limites TCP et HTTP.
Limites de connexion entre le client demandeur et le CIS
Le tableau 1 énumère les limites de connexion entre le client demandeur et le CIS
Type | Limite (secondes) | HTTP code d'état à la limite | Configurable |
---|---|---|---|
Connexion Keep-Alive HTTP/1.1 | 400 | Connexion TCP fermée | Non |
Connexion inactive HTTP/2 | 400 | Connexion TCP fermée | Non |
Limites de connexion entre le CIS et le serveur d'origine
Le tableau 2 énumère les limites de connexion entre le CIS et le serveur d'origine.
Type | Limite (secondes) | HTTP code d'état à la limite | Configurable |
---|---|---|---|
Connexion TCP complète '[1] | 15 | 522 | Non |
TCP ACK Timeout '[2](délai d'attente de l'ACK TCP) | 90 | 522 | Non |
Intervalle de maintien en vie TCP '[3] | 30 | 520 | Non |
Délai d'inactivité du proxy '[4] | 900 | 520 | Non |
Délai de lecture du proxy [5] | 100 | 524 | Oui |
Délai d'écriture du proxy '[6] | 30 | 524 | Non |
Pings HTTP/2 vers l'origine | Désactivé | N/A | Oui |
HTTP/2 Connexion inactive '[7] | 900 | Non | Non |
Connexions TCP et keep-alives
Le CIS utilise des connexions keep-alive pour améliorer les performances et réduire les coûts en minimisant la nécessité de connexions TCP répétées lors de l'acheminement du trafic des clients vers les serveurs d'origine. Pour optimiser ce processus, assurez-vous que HTTP keep-alive est activé sur votre serveur d'origine, ce qui permet de réutiliser les connexions TCP ouvertes jusqu'à la fin du délai d'inactivité du proxy après la dernière demande. Cela permet d'éviter les réinitialisations de connexion et d'améliorer l'efficacité.
En règle générale, HTTP ouvre une nouvelle connexion TCP pour chaque cycle demande-réponse, ce qui peut entraîner une surcharge de travail. Les "keep-alives" permettent à une seule connexion TCP de rester ouverte pour plusieurs requêtes, ce qui réduit la latence et le trafic sur le réseau et améliore en fin de compte l'expérience de l'utilisateur.
Les connexions TCP peuvent rester actives, mais les connexions inactives sont généralement interrompues au bout d'un certain temps. Le CIS a un délai d'inactivité par défaut de 400 secondes pour les connexions d'utilisateurs et envoie des sondes de maintien en vie toutes les 75 secondes. Si neuf sondes consécutives restent sans réponse, le CIS met fin à la connexion avec un paquet TCP Reset (RST).
Il est important de noter que les keep-alives ne garantissent pas la stabilité de la connexion en raison de facteurs tels que l'équilibrage des capacités ou la maintenance, de sorte que les applications doivent être conçues pour gérer les déconnexions avec élégance. Les entreprises clientes peuvent personnaliser les paramètres de connexion TCP entre les utilisateurs et le CIS, ainsi qu'entre le CIS et le serveur d'origine.
-
Le protocole TCP utilise une poignée de main à trois voies pour établir une connexion fiable (SYN, SYN-ACK, ACK) sur une connexion IP. SYN est l'abréviation de synchronisation, et ACK est l'abréviation d'accusé de réception. ↩︎
-
Dernière étape de la poignée de main tripartite TCP, confirmant l'établissement d'une connexion. ↩︎
-
Un keep-alive TCP est utilisé pour maintenir une connexion entre deux points d'extrémité en envoyant des paquets pour vérifier si la connexion est toujours active. Cela permet d'éviter que les connexions inactives ne soient fermées prématurément. Si aucune réponse n'est reçue après une période définie, la connexion est interrompue. ↩︎
-
Lorsqu'une connexion TCP est en état d'inactivité, cela signifie que la connexion a été établie, mais qu'aucune des deux extrémités n'envoie de données. Dans le contexte de HTTP, une connexion inactive est une connexion établie entre un client et un serveur qui ne transmet actuellement aucune demande ou réponse à HTTP. ↩︎
-
Le délai de lecture du proxy est la durée maximale pendant laquelle un serveur proxy attend une réponse du serveur d'origine avant de mettre fin à la connexion. ↩︎
-
Le délai d'écriture du proxy est le temps maximum qu'un serveur proxy autorise pour envoyer des données au client avant de mettre fin à la connexion. ↩︎
-
Lorsqu'une connexion TCP est en état d'inactivité, cela signifie que la connexion a été établie, mais qu'aucune des deux extrémités n'envoie de données. Dans le contexte de HTTP, une connexion inactive est une connexion établie entre un client et un serveur qui ne transmet actuellement aucune demande ou réponse à HTTP. ↩︎