Netlang : un langage de haut niveau pour les routeurs programmables dans le contexte des réseaux SDN

Boughzala, Bochra (2013). « Netlang : un langage de haut niveau pour les routeurs programmables dans le contexte des réseaux SDN » Mémoire. Montréal (Québec, Canada), Université du Québec à Montréal, Maîtrise en informatique.

Fichier(s) associé(s) à ce document :
[img]
Prévisualisation
PDF
Télécharger (9MB)

Résumé

Développer des applications réseaux pour des routeurs programmables basés sur les Network Processors (NPs) implique l'utilisation de langages de bas-niveau et d'outils propriétaires fortement dépendants des architectures matérielles sous-jacentes. Le code source, généralement écrit en langage assembleur, n'est pas facile à écrire et cause des problèmes de maintenance. Les applications résultantes sont également difficiles à déboguer. Dans ce mémoire nous proposons NETLANG, un nouveau langage de programmation de haut-niveau dédié aux NPs. De plus d'être un langage simple et élégant, de réduire les coûts de développement et de la maintenance, et d'améliorer la réutilisation du code, NETLANG a pour objectif essentiel de décrire le comportement des paquets dans un NP. NETLANG est un langage qui permet de développer des applications de traitement de paquets. Il établit deux niveaux. Le premier niveau du langage offre une abstraction et une description du routeur à travers un pipeline de tables OpenFlow et des règles de forwarding ayant l'aptitude d'être modifiées dynamiquement et donc de permettre de changer le comportement du routeur à la volée. La sémantique du langage est inspirée du protocole OpenFlow qui a permis d'exprimer les principales tâches de traitement de paquets telles que le parsing, le lookup et la modification. Le langage est bâti en respectant le modèle des Software Defined Networks (SDNs) qui définit un nouveau plan de séparation entre le control plane et le data plane. Le deuxième niveau de NETLANG est traduit en matériel et permet l'adaptabilité du langage à plusieurs plateformes. Des adaptateurs spécifiques à des plateformes différentes sont intégrés au compilateur de NETLANG et permettent de rendre le langage portable. En effet, nous avons utilisé deux environnements pour l'implémentation de NETLANG ; le NP4 d'EZchip caractérisé par sa structure de TOPs (Task Optimized Processors) en pipeline et le NFP-3240 de Netronome connu pour son parallélisme et l'exploitation du multithreading. La validation de NETLANG s'est basée sur un ensemble d'applications réseau ayant des complexités et des domaines différents. A travers ce mémoire nous avons démontré qu'on est capable d'avoir aujourd'hui un langage pour les routeurs programmables. La sémantique d'OpenFlow, sur laquelle nous avons basé notre langage NETLANG, est suffisante et même pertinente en termes de description de comportement des paquets dans un NP. ______________________________________________________________________________ MOTS-CLÉS DE L’AUTEUR : langages à domaine spécifique, réseaux programmables, processeurs de réseau.

Type: Mémoire accepté
Informations complémentaires: Le mémoire a été numérisé tel que transmis par l'auteur
Directeur de thèse: Cherkaoui, Omar
Mots-clés ou Sujets: Langage de programmation dédié, Langage évolué, Réseau actif, Routeur (Réseaux d'ordinateurs), Processeur de réseau, Software Defined Networking (SDN)
Unité d'appartenance: Faculté des sciences > Département d'informatique
Déposé par: Service des bibliothèques
Date de dépôt: 18 mars 2014 14:45
Dernière modification: 01 nov. 2014 02:27
Adresse URL : http://archipel.uqam.ca/id/eprint/5800

Statistiques

Voir les statistiques sur cinq ans...