Mémoire de maîtrise (2015)
|
Libre accès au plein texte de ce document Conditions d'utilisation: Tous droits réservés Télécharger (4MB) |
Résumé
L'apparition des réseaux définis par logiciels a permis de faciliter la gestion des réseaux en offrant la possibilité de définir leurs politiques sous forme de programmes de contrôle. Ceci décharge les administrateurs du devoir de configurer chaque équipement à part afin d'implanter une politique donnée. Le programme de contrôle s'exécute sur un contrôleur qui se charge de le compiler pour générer les configurations nécessaires aux équipements afin de mettre en oeuvre les politiques désirées. De nos jours, les contrôleurs permettent de spécifier les aspects de gestion des réseaux sous forme de requis de haut niveau. Ce mémoire porte sur la mise en oeuvre des aspects de gestion des réseaux définis par logiciels. Nous considérons trois aspects, à savoir la composition des points d'acheminement, la garantie et la limitation de la bande passante et le placement de règles génériques. Les points d'acheminement consistent en des équipements qui permettent d'instaurer des politiques autres que le simple routage des paquets. Ces politiques peuvent inclure le contrôle d'accès ou la détection d'intrusion qui peuvent être implantés moyennant des points d'acheminement à savoir des pare-feu ou des IDS. Les applications déployées sur les réseaux peuvent exiger la garantie ou la limitation de la bande passante afin de garder des performances bien déterminées. Finalement, les règles génériques permettent de définir des politiques globales en associant des actions à des types de paquets bien déterminés. Le type d'un paquet peut être spécifié moyennant un domaine qui est défini sous forme de combinaison de conditions génériques sur les champs des entêtes de ce paquet. Étant donné que notre but est de générer les configurations nécessaires pour l'implantation des aspects de gestion spécifiés sous forme de requis, nous avons défini plusieurs méthodes qui prennent en compte les détails du réseau. La mise en oeuvre des aspects de gestion de la bande passante et de la composition des points d'acheminement a été faite moyennant un programme linéaire en nombres entiers qui prend en compte la topologie du réseau ainsi que la capacité de chaque équipement compatible SDN. D'autre part, nous avons défini trois méthodes de placement de règles génériques. Nous améliorons le temps d'exécution d'une méthode à l'autre afin de pouvoir nous adapter rapidement aux changements des politiques qui nécessitent une mise en oeuvre immédiate. Nous avons défini, en premier lieu, une méthode basée sur un programme linéaire multiobjectif en nombres entiers (MOILP). Cette méthode prend en compte les capacités des équipements compatibles SDN et la politique de routage. La deuxième méthode de placement est basée sur le calcul du flot maximum avec un cout minimum et elle permet d'améliorer le temps d'exécution avec une petite baisse des performances. Finalement, nous avons créé un algorithme glouton qui résulte d'une modification de la deuxième méthode. Cet algorithme permet de gagner énormément en terme de temps d'exécution tout en gardant presque les mêmes performances par rapport à la deuxième méthode. Les deux dernières méthodes considèrent également les paramètres du réseau, à savoir les capacités disponibles et la politique de routage. De plus, ils permettent de placer les règles près des sources des paquets appartenant à leurs domaines afin de les traiter plus tôt. Nos méthodes de placement permettent de maximiser le nombre de règles placées dans le cas où les capacités disponibles ne permettraient pas la mise en oeuvre de toutes les règles. Les performances de nos méthodes ont été déterminées en créant un outil qui les implante. La qualité de notre outil permet également de l'intégrer facilement dans un contrôleur existant afin d'enrichir ses fonctionnalités par les aspects traités dans notre outil.
Abstract
SDN is a new paradigm that reduces network management to defining control programs and deploying them on one or many entities known as controllers. Controllers communicate with the rest of SDN compatible equipments in order to install configurations that implement policies within the network. Recent advances enable the specification of networking management aspects through high level requirements regardless of the network details such as physical topology and deployed equipments. These requirements can be processed in the controllers to generate network details wise configurations that implement the requirements within the network. The purpose of this thesis is to define a set of methods that implement networking aspects within software-defined networks. We mainly consider three aspects, namely bandwidth guarantee and limitation, middleboxes composition and placement of wildcarded rules. Bandwidth management ensures performances of applications deployed within networks. Middleboxes consist in networking equipments (firewalls, IDS, load balancers…) that enable policies, going beyond simple forwarding, such as access control and intrusion detection. Wider policies may be specified by composing many middleboxes which implies traversing them in a specific order. On the other hand, network-wide policies may be described using wildcarded rules. Such rules associate actions to packets within a specific domain that can be formulated as a combination of wildcarded conditions on headers fields. The considered aspects may be used to specify a wide range of policies. We generate configurations implementing middleboxes composition and bandwidth management using an Integer Linear Program. This program considers network topology and available resources such as SDN compatible equipments capacity. Wildcarded rules placement is done in three methods. We improve execution time from one method to another as we need to fit dynamically changing policies quickly. First, we defined a multiobjective integer linear program (MOILP) that places rules while considering routing policy and available capacities within SDN compatible equipments. The second placement method is based on the computation of Minimum Cost Maximum Flow. This method allows improving significantly the execution time with a slight performances loss in comparison to the first method. Finally, we defined a greedy placement algorithm that reduces tremendously execution time and keeps nearly the same performances in comparison to the second method. Just as the MOILP based method, the two other methods consider equipments capacities and routing policy. They also tend to place rules near sources of packets within their domains. All three placement methods maximize the number of placed rules in case the available capacity is not sufficient to satisfy all the rules. We created a tool that implements all our methods and can be integrated easily to most of the existing controllers.
Département: | Département de génie informatique et génie logiciel |
---|---|
Programme: | Génie informatique |
Directeurs ou directrices: |
Hanifa Boucheneb |
URL de PolyPublie: | https://publications.polymtl.ca/1924/ |
Université/École: | École Polytechnique de Montréal |
Date du dépôt: | 16 déc. 2015 14:33 |
Dernière modification: | 06 avr. 2024 02:42 |
Citer en APA 7: | Ben Chahed, S. (2015). Mise en oeuvre des aspects de gestion des réseaux définis par logiciels (réseaux SDN) [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/1924/ |
---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements