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

Laurent Burgy 1, 2, 3
2 Phoenix - Programming Language Technology For Communication Services
LaBRI - Laboratoire Bordelais de Recherche en Informatique, Inria Bordeaux - Sud-Ouest, EA4136 - Handicap et système nerveux :Action, communication, interaction: rétablissement de la fonction et de la participation [Bordeaux]
Résumé : Une application réseau communique avec d'autres applications par le biais d'un ensemble consen-
suel de règles régissant la communication, appelé protocole. Cette communication est gérée par la
partie de l'application connue comme la couche de support protocolaire qui gère la manipulation de
messages protocolaires. Elle s'avère être un composant critique d'une application réseau puisqu'elle
représente l'interface entre celle-ci et le monde extérieur. Elle est donc soumise à deux contraintes
fortes : une contrainte d'efficacité pour pouvoir traiter un grand nombre de messages et une contrainte
de robustesse pour faire face à des attaques visant à déstabiliser l'application ou la plate-forme maté-
rielle sous-jacente. Malgré ces contraintes, le processus de développement de cette couche demeure
rudimentaire et requiert un haut niveau d'expertise. Il consiste à traduire manuellement une spécifi-
cation du protocole écrite dans un formalisme haut niveau comme ABNF vers du code bas niveau tel
que du C. Le fossé entre ces niveaux d'abstraction favorise l'apparition d'erreurs.
Cette thèse propose une approche langage au développement de la couche de support protocolaire
d'applications réseaux, pour améliorer leur robustesse sans compromettre leur performance. Notre ap-
proche est fondée sur l'utilisation d'un langage dédié, Zebu, pour décrire la spécification des couches
de support protocolaire d'applications réseaux qui utilisent des protocoles applicatifs textuels à la
HTTP. La syntaxe de Zebu est très proche de celles du formalisme ABNF, favorisant ainsi l'adoption
de Zebu par des experts du domaine. En annotant la spécification ABNF d'un protocole, l'utilisateur
de Zebu peut adapter une couche de support protocolaire à une application donnée. Dans un premier
temps, le compilateur Zebu vérifie la spécification annotée pour déceler d'éventuelles incohérences.
Ensuite, une couche de support protocolaire définie par les annotations fournies est générée automati-
quement. Cette couche consiste en un ensemble de structures de données pour représenter un message,
un analyseur syntaxique qui remplit ces structures de données et des fonctions utilitaires pour l'ac-
cès à ces données ou piloter l'analyse syntaxique des messages. Par défaut, l'analyseur syntaxique de
messages généré n'accepte que les messages respectant scrupuleusement la spécification. Ce critère
de validation peut être modifié pour plus de flexibilité ou de meilleures performances.
Type de document :
Thèse
Réseaux et télécommunications [cs.NI]. Université Sciences et Technologies - Bordeaux I, 2008. Français
Liste complète des métadonnées

https://tel.archives-ouvertes.fr/tel-00359948
Contributeur : Burgy Laurent <>
Soumis le : lundi 9 février 2009 - 18:03:45
Dernière modification le : jeudi 11 janvier 2018 - 06:22:12
Document(s) archivé(s) le : vendredi 12 octobre 2012 - 11:16:23

Fichier

Identifiants

  • HAL Id : tel-00359948, version 1

Citation

Laurent Burgy. Approche langage au développement du support protocolaire d'applications réseaux. Réseaux et télécommunications [cs.NI]. Université Sciences et Technologies - Bordeaux I, 2008. Français. 〈tel-00359948〉

Partager

Métriques

Consultations de la notice

442

Téléchargements de fichiers

1259