Citrix ADC

Fonctionnement de la correspondance de chaînes avec les jeux de motifs et les jeux de données

Un jeu de répétitions ou un ensemble de données contient un ensemble de répétitions, et chaque modèle reçoit un index unique. Lorsqu’une stratégie est appliquée à un paquet, une expression identifie une chaîne à évaluer et l’opérateur compare la chaîne aux modèles définis dans le jeu de motifs ou le jeu de données jusqu’à ce qu’une correspondance soit trouvée ou que tous les modèles aient été comparés. Ensuite, en fonction de sa fonction, l’opérateur renvoie soit une valeur booléenne qui indique si un motif correspondant a été trouvé ou non ou l’index du motif qui correspond à la chaîne.

Remarque : Cette rubrique explique le fonctionnement d’un jeu de motifs. Les ensembles de données fonctionnent de la même manière. La seule différence entre les jeux de répétitions et les jeux de données est le type de répétitions défini dans l’ensemble.

Considérez le cas d’utilisation suivant pour comprendre comment les modèles peuvent être utilisés pour la correspondance de chaînes.

Vous souhaitez déterminer si le suffixe URL (texte cible) contient l’une des extensions de fichier image. Sans utiliser de jeux de motifs, vous devrez définir une expression complexe, comme suit :

HTTP.REQ.URL.SUFFIX.CONTAINS("svg") ¦¦ HTTP.REQ.URL.SUFFIX.CONTAINS("bmp") ¦¦ HTTP.REQ.URL.SUFFIX.CONTAINS("png") ¦¦
HTTP.REQ.URL.SUFFIX.CONTAINS("gif") ¦¦ HTTP.REQ.URL.SUFFIX.CONTAINS("tiff") ¦¦ HTTP.REQ.URL.SUFFIX.CONTAINS("jpg")

Si l’URL a un suffixe « jpg », avec l’expression composée ci-dessus, l’appliance Citrix ADC doit parcourir l’ensemble de l’expression composée de manière séquentielle, d’une sous-expression à l’autre, pour déterminer que la requête fait référence à une image jpg. La figure suivante montre les étapes du processus.

image localisée

Lorsqu’une expression composée comprend des centaines de sous-expressions, le processus ci-dessus nécessite beaucoup de ressources. Une meilleure alternative est une expression qui invoque un jeu de motifs, comme illustré dans la figure suivante.

image localisée

Lors de l’évaluation de la stratégie, comme indiqué ci-dessus, l’opérateur (CONTAINS_ANY) compare la chaîne identifiée dans la requête avec les motifs définis dans le jeu de motifs jusqu’à ce qu’une correspondance soit trouvée. Avec l’expression Sample_Patset, les itérations multiples à travers six sous-expressions sont réduites à une seule.

En éliminant la nécessité de configurer des expressions composées qui effectuent la correspondance de chaînes avec plusieurs opérations OR, les jeux de motifs ou les jeux de données simplifient la configuration et accélèrent le traitement des demandes et des réponses.

Fonctionnement de la correspondance de chaînes avec les jeux de motifs et les jeux de données