Comprendre F5 · LTM

F5 OneConnect : connexions réutilisées et persistance HTTP

Comprendre le détachement côté serveur, les choix par requête et les effets du source mask, du SNAT et des limites de réutilisation.

Thomas SAUTIER · Publié le · Révisions de certification

Références et objectifs de certification (2)
  • Certification : F5 301A · Référence consultée le · Objectifs abordés : F5 301A 1.04, F5 301A 1.06.
  • Certification : F5 301B · Référence consultée le · Objectifs abordés : F5 301B 2.10, F5 301B 2.13.

Ce guide concerne BIG-IP sur TMOS. Vérifiez les noms et les options dans la documentation de votre version.

Comprendre en imageOneConnect HTTP : sélectionner puis réutiliser si possible
OneConnect HTTP : sélectionner puis réutiliser si possible Scénario HTTP/1.x avec profils HTTP et OneConnect, Keep-Alive serveur et trafic compatible. Après une transaction, une connexion serveur peut devenir idle et être détachée du côté client. Une nouvelle requête fait l’objet d’une sélection tenant compte de la persistance ; la réutilisation suppose un flux idle éligible vers le membre retenu. Source mask et limites du profil interviennent. Aucun flux admissible : nouvelle connexion TCP. Une connexion serveur partagée ne représente pas forcément une seule identité applicative. Oui Non Client HTTP Nouvelle requête HTTP/1.xMême TCP client ou autre client Sélection du membre Pool + état + persistanceDécision au niveau de la requête Recherche de flux idle Membre retenu + source maskÂge, réutilisations et taille dupool Flux admissible ? idle et réutilisable Réutiliser le TCP Envoi de la nouvelle requêteFlux marqué occupé pendantusage Créer un TCP serveur Aucun flux idle admissibleNouvelle connexion vers lemembre Objets et hypothèses VS : HTTP + OneConnect.Serveur : Keep-Alive compatible.Source mask contrôle le partage.SNAT modifie la source visible.Authentification liée au TCP :examiner NTLM et profils dédiés. À vérifier sur les deux chemins Après réponse, détachement / retour idle seulement si le protocole et les paramètres le permettent. SansOneConnect HTTP, la sélection est normalement liée à la connexion TCP. Ne pas compter les TCP comme desrequêtes.

Scénario HTTP/1.x avec profils HTTP et OneConnect, Keep-Alive serveur et trafic compatible. Après une transaction, une connexion serveur peut devenir idle et être détachée du côté client. Une nouvelle requête fait l’objet d’une sélection tenant compte de la persistance ; la réutilisation suppose un flux idle éligible vers le membre retenu. Source mask et limites du profil interviennent. Aucun flux admissible : nouvelle connexion TCP. Une connexion serveur partagée ne représente pas forcément une seule identité applicative.

Télécharger le schéma en SVG · version claire

Une connexion client peut transporter plusieurs requêtes

Sans OneConnect, le comportement HTTP documenté par F5 associe normalement le choix de membre à la connexion TCP. Plusieurs requêtes du même keepalive peuvent donc rester sur la destination initiale même si leurs cookies diffèrent.

OneConnect peut détacher le côté serveur après une réponse et permettre une nouvelle décision pour la requête suivante. Il conserve aussi des connexions serveur disponibles pour réutilisation. Cela change les relations entre connexions client et connexions backend.

Sources : F5, Session Persistence Profiles.

Pourquoi un cookie ne suffit pas toujours

Considérons une connexion client qui transporte une première requête avec une affinité vers A, puis une deuxième avec une affinité vers B. Si le choix reste attaché à la connexion, regarder le second cookie ne suffit pas à expliquer une nouvelle destination. Le traitement HTTP avec OneConnect rend possible la décision par requête dans les configurations appropriées.

OneConnect ne supprime pas la persistance : il permet au système de la réexaminer au bon niveau. Il ne promet pas non plus une répartition égale de tous les objets d’une page.

Sources : F5, Session Persistence Profiles ; F5, ltm persistence cookie.

Source mask définit l’éligibilité à la réutilisation

Le source mask s’applique à l’adresse source pour déterminer quelles connexions peuvent partager une connexion réutilisable. La référence v17.0.0 décrit un masque nul permettant un partage entre clients et un masque d’hôte limitant le partage à la même adresse source.

Avec SNAT, vérifiez quelle source intervient dans votre configuration. Un masque qui paraît restrictif n’assure pas une séparation par utilisateur si plusieurs utilisateurs partagent une même adresse traduite. Ne confondez pas ce masque avec le masque source du VS.

Sources : F5, ltm profile one-connect.

La réutilisation a une durée et une capacité

Les paramètres max-age, max-reuse et max-size bornent l’âge, le nombre de réutilisations et la taille du pool de connexions. Ces paramètres ne définissent pas le nombre de membres du pool applicatif.

Les limites de connexion ont également une interaction particulière avec les requêtes en cours et les connexions idle. Une connexion conservée peut consommer des ressources alors qu’aucune nouvelle requête ne la traverse. Analysez le comportement avant de durcir les limites.

Lire les règles de réutilisationShell · commandes de lecture
tmsh list ltm profile one-connect /Common/oc_application all-properties
tmsh list ltm virtual /Common/vs_application all-properties
tmsh show ltm profile one-connect /Common/oc_application

Sources : F5, ltm profile one-connect.

Vérifier le protocole et l’authentification

Pour HTTP, le profil HTTP permet d’identifier les frontières entre requêtes et réponses. Une authentification liée à une connexion, telle que NTLM dans certaines architectures, demande une prise en charge appropriée. Ne partagez pas aveuglément une connexion porteuse d’un état d’authentification.

Pour une application non HTTP, il faut comprendre les conditions de détachement et les messages du protocole. Ajouter OneConnect à toute application TCP sans cette analyse n’est pas une optimisation démontrée.

Sources : F5, Other Profiles.

Interpréter les traces autrement

Une capture peut montrer une connexion client et une connexion serveur qui n’ont pas été ouvertes au même instant. Une réponse ne correspond pas forcément à une nouvelle ouverture backend. Corrélez les requêtes, les réponses, le SNAT et les informations TMM plutôt que les seuls SYN.

En laboratoire, comparez deux cookies différents sur une même connexion keepalive. Vérifiez le membre choisi pour chaque requête, puis la réutilisation des connexions backend.

Sources : F5, Packet tracing with tcpdump ; F5, Capturing internal TMM information with tcpdump.

Sources et portée

Les dates de consultation et les versions applicables sont précisées pour chaque référence ci-dessous. Les exemples utilisent des noms et adresses de documentation à remplacer. Les commandes de lecture affichent l’existant ; les captures et requêtes de diagnostic sont à limiter au périmètre autorisé.

Retrouver le parcours de lecture F5 LTM

Continuer la série F5

Explorer tous les guides du parcours F5 LTM

Découvrir l’expertise F5 de Samhan

Échange

Besoin d’éclaircir votre architecture F5 ?

Échangeons sur vos flux, vos contraintes de disponibilité et vos services applicatifs.