Un point pratique sur le « Web Switching »  
 

 

Les entreprises, quelle que soit leur taille, ont de plus en plus besoin de performances quand leurs utilisateurs accèdent aux sites Web dont ils ont besoin. Aujourd’hui, et encore plus demain, les applications « orientées Web » et les flots de données qu’elles engendrent sont de plus en plus générateur de débit sur Internet, et donc de ralentissement du traitement des requêtes. Sans compter qu’il est souvent nécessaire de crypter/décrypter les informations induisant ainsi des charges insupportables sur la plupart des serveurs « classiques ».

Il est donc impératif de mettre en œuvre un VRAI Web Switch, c’est à dire un commutateur capable de gérer des sessions entières et non pas seulement des paquets, capable de prendre les actions adéquates sur le routage du trafic. Ces actions sont calculées à partir des informations utiles collectées au niveau des couches 4 à 7.

Un certain nombre de constructeurs spécialisés ainsi que des « généralistes » se sont lancés dans la fabrication de produits plus spécialement conçus pour prendre en compte le traitement spécifique des données transitant dans la toile.
On peut citer, en vrac, les principaux acteurs présents aujourd’hui : Alteon (désormais dans le giron de Nortel Networks), Arrow Point (dans le giron de Cisco), Extreme, F5, Foundry, Intel (ex I-Pivot), Juniper, Riverstone, TopLayer,…. Chacun d’entre eux présente une gamme plus ou moins étendue d’équipements spécialisés dans le traitement des sessions Internet. Globalement, le but recherché est d’optimiser le trafic et réduire le plus possible les temps de traitement car, aujourd’hui, personne ne supporte plus les temps d’attente, parfois très importants sur la toile.

Ici même, pour formaliser un tant soit peu le propos, il est sans doute utile de résumer les principales fonctionnalités attendues du ou des équipements à « mettre en ligne ». Elles sont regroupées ci-dessous.

- Equilibrage de charge locale ou répartie (cas de serveurs distants)
- Redondance totale
- Equilibrage de charge à travers des pare-feux
- Filtrage, redirection de trafic
- Gestion globale de “bande passante” et services QoS
- Accélérateur de sessions (ex. sessions cryptées)

Partage de charge entre serveurs locaux

La technique généralement adpotée permet, au moyen de différents algorithmes, de répartir les requêtes  sur une batterie de serveurs. Il est souvent possible de définir des seuils et de prévoir le(s) débordement(s) tout en conservant la «persitance» de  l’adresse IP, du cookie, ou de l’identifiant SSL . Il est aussi prévu pour certains équipelments de vérifier, périodiquement, la «santé» des serveurs tant au niveau IP que port TCP.
Enfin, une redondance totale est possible si le web switch sait mettre en œuvre des protocoles idoiners comme par exemple VRRP.

Partage de charge entre serveurs distants

La technique décrite ci-dessus peut être généralisée à une architecture distribuée prenant en compte des serveurs situés dans des lieux différents. Un équipement « maitre » permet de rediriger la requête vers le site le mieux à même de répondre se basant sur la connaissance de la « santé » et du temps de réponse du/des autres serveurs du site distant. D’autres critères peuvent également être pris en compte en fonction du contenu de la requête.

Aujourd’hui, devant la complexité des tâches exigées, un autre concept s’est fait jour, qui permet de réaliser le premier niveau d’un réseau dit « Content Delivery Network » (CDN). En général, un équipement  spécifique (muni d’un port 10/100 ou Gigabit),  permet une « personnalisation » beaucoup plus fine  de la connexion en fonction notamment de la proximité relative du client vis à vis des serveurs, du type de contenu de la requête (URL, header, type de browser, ou tout autre attribut de couche 7).

Gestion / allocation de la bande passante - Filtrage et redirection de trafic

Les équipements les plus avancés proposent la mise en œuvre d’une «politique de bande passante» de manière à maintenir une certaine équité entre les différentes applications et éviter qu’un trafic «critique» soit bloqué. Une autre fonction très appréciée est celle qui permet de différencier les clients plus ou moins privilégiés (Premium, Gold, Siver par exemple désignent des niveaux de services plus ou moins sophistiqués). En conséquence, il leur est affecté  une ou des garanties de qualité de services (QoS) suivant le besoin à un instant donné.

Ces fonctions « fines » de gestion réclame un traitement particulier, très « coûteux » en termes de ressources. C’est la raison principale pour laquelle il n’est pas effectué dans les serveurs mais dans un équipement spécialement étudié.

En général, le traitement revêt deux aspects. D’une part, il est inécessaire de classer les trafics par des règles de filtrage. Il est possible d’agir au niveau des couches 2, 3, 4 et 7 avec IP@, port TCP/UDP, cookie, attribut, chaine de caractères URL,…..D’autre part, pour respecter un certain « niveau de services », il convient d’appliquer des notions de minimum garanti avec, par exemple,  un CIR (Committed Information Rate) et de  fixer un/des maximum car il faut tenir  compte  aussi des limites du système face à une situation donnée. Enfin, certains équipements permettent de « tailler » le dimensionnement des différents trafics en fonction de la profondeur de la file d’attente et/ou du champ Type of Services (ToS)  des paquets IP.

Accélération des transactions sécurisées

Avec le développement d’Internet,  un nombre snas cesse croissant de transactions sur la toile exige un traitement particulier en termes de confidentialité (e-commerce, santé, liaisons intra/inter-banque,…). En fait, dans la plupart des cas, le cryptage/decryptage des données est exécuté grâce à la couche SSL (Secure Socket Layer). Dans tous les cas, ces processus génèrent une charge très importante que  la plupart des serveurs sont incapables de supporter dans des conditions normales d’utilisation. Aujourd’hui, les constructeurs proposent un ou des équipements permettant de déporter le traitement des «sessions SSL». Celui-ci est effectué dans un équipement dédié, spécifiquement conçu pour ce type de tçaches. Ainsi, les CPU et les mémoires de travail des serveurs restent disponibles pour exécuter les tâches «classiques». Soit seul, soit en batterie sur un Web switch des équipements de type « SSL Accelerator » sont  capables de prendre à leur charge des centaines voire des milliers de sessions SSL par seconde.  Ces équipements ont démontré leur efficacité, des tests ayant  été effectués montrant que, dans certains cas de coonfiguration de serveurs, le temps de traitement pouvait être divisé par 250 (Source : NetWorkshop 2000).

En guise de conclusion, il est possible de dire qu’il est temps de prendre conscience que la commutation n’est plus seulement une « facilité » donnée pour mieux satisfaire les besoins croissants de débit aux couches basses. Il faut impérativement  l’associer aux traitements couches hautes de manière à ce que, dès l’origine, la session entière bénéficie de la qualité de traitement requis et négocié. Les équipements adaptés existent, ils ont, pour la plupart fait leurs preuves. Leurs coûts sont loin d’être négligeables mais se justifient facilement. Dans nombre de cas, ils sont déjà très utiles, ils vont devenir  très souvent  insdispensables.

Serge Lefort des Ylouses - SLY Consulting
 

-= From guill.net =-