Return to search

Approche langage au développement du support protocolaire d'applications réseaux

Une application réseau communique avec d'autres applications par le biais d'un ensemble consen- <br />suel de règles régissant la communication, appelé protocole. Cette communication est gérée par la <br />partie de l'application connue comme la couche de support protocolaire qui gère la manipulation de <br />messages protocolaires. Elle s'avère être un composant critique d'une application réseau puisqu'elle <br />représente l'interface entre celle-ci et le monde extérieur. Elle est donc soumise à deux contraintes <br />fortes : une contrainte d'efficacité pour pouvoir traiter un grand nombre de messages et une contrainte <br />de robustesse pour faire face à des attaques visant à déstabiliser l'application ou la plate-forme maté- <br />rielle sous-jacente. Malgré ces contraintes, le processus de développement de cette couche demeure <br />rudimentaire et requiert un haut niveau d'expertise. Il consiste à traduire manuellement une spécifi- <br />cation du protocole écrite dans un formalisme haut niveau comme ABNF vers du code bas niveau tel <br />que du C. Le fossé entre ces niveaux d'abstraction favorise l'apparition d'erreurs. <br />Cette thèse propose une approche langage au développement de la couche de support protocolaire <br />d'applications réseaux, pour améliorer leur robustesse sans compromettre leur performance. Notre ap- <br />proche est fondée sur l'utilisation d'un langage dédié, Zebu, pour décrire la spécification des couches <br />de support protocolaire d'applications réseaux qui utilisent des protocoles applicatifs textuels à la <br />HTTP. La syntaxe de Zebu est très proche de celles du formalisme ABNF, favorisant ainsi l'adoption <br />de Zebu par des experts du domaine. En annotant la spécification ABNF d'un protocole, l'utilisateur <br />de Zebu peut adapter une couche de support protocolaire à une application donnée. Dans un premier <br />temps, le compilateur Zebu vérifie la spécification annotée pour déceler d'éventuelles incohérences. <br />Ensuite, une couche de support protocolaire définie par les annotations fournies est générée automati- <br />quement. Cette couche consiste en un ensemble de structures de données pour représenter un message, <br />un analyseur syntaxique qui remplit ces structures de données et des fonctions utilitaires pour l'ac- <br />cès à ces données ou piloter l'analyse syntaxique des messages. Par défaut, l'analyseur syntaxique de <br />messages généré n'accepte que les messages respectant scrupuleusement la spécification. Ce critère <br />de validation peut être modifié pour plus de flexibilité ou de meilleures performances.

Identiferoai:union.ndltd.org:CCSD/oai:tel.archives-ouvertes.fr:tel-00359948
Date28 April 2008
CreatorsBurgy, Laurent
PublisherUniversité Sciences et Technologies - Bordeaux I
Source SetsCCSD theses-EN-ligne, France
LanguageFrench
Detected LanguageFrench
TypePhD thesis

Page generated in 0.0023 seconds