Ecole d'ingénieur et centre de recherche en télécommunications

Seminar: Fiabilité du réseau dans l'ère software - trouver des bugs dans les réseaux « software-defined » basés sur « OpenFlow ».

Marco CANINI - chercheur scientifique senior chez T-Labsun

Communication d'entreprise

Date: 10 décembre 2012

Lieu: Eurecom - Salle 392

Aujourd'hui les utilisateurs s'attendent à une connectivité réseau et des services très fiables. Cependant, plusieurs épisodes récents montrent que les erreurs du logiciel et des opérateurs continuent à causer des perturbations et coupures indésirables. SDN (Software Defined Networking) est un nouveau type d'architecture de réseau qui découple le plan de contrôle du plan de données --- une vision actuellement incorporée dans OpenFlow. Par une logique centralisatrice du calcul de plan de contrôle, SDN offre la possibilité de supprimer la complexité et de présenter de nouvelles fonctionnalités dans nos réseaux. D'autre part, comme la programmation réseau s?améliore et que le logiciel joue un rôle plus important, les risques qu'un logiciel bugué peut perturber l'ensemble du réseau, augmentent également. Dans cet exposé, je présenterai des techniques systématiques et efficaces pour tester le logiciel SDN à ses niveaux les plus hauts et les plus bas. Autrement dit, nos techniques de test ciblent dans la couche supérieure, les programmes contrôleur OpenFlow et, dans la couche inférieure, les agents OpenFlow --- chaque switch exécute à distance pour permettre un accès à ses tables d'acheminement. L?outil NICE (No bugs In Controller Execution) applique le modèle « checking » pour explorer l'état d'un programme de contrôle non modifié composé d'un modèle d'environnement, des switches et des hôtes. La scalabilité est le principal défi à relever, compte tenu de la diversité des paquets de données, de la dimension de l'état du système , et des nombreux ordres d?événements possibles. Pour résoudre ce problème, nous proposons une nouvelle façon d'augmenter le modèle « checking » avec l'exécution symbolique des gestionnaires d'événements (pour identifier les paquets représentatifs qui exercent des chemins de code sur le contrôleur), et des stratégies efficaces pour générer des entrelacements d'événements susceptibles de découvrir des bug. Notre prototype teste les applications Python sur la plateforme populaire NOX, en testant trois applications réelles, nous découvrons onze bugs.

Fiabilité du réseau dans l'ère software - trouver des bugs dans les réseaux « software-defined » basés sur « OpenFlow ».

Rechercher