• Aucun résultat trouvé

Hosts et Networks

Dans le document The DART-Europe E-theses Portal (Page 80-84)

3.4 Le modèle Edge-Fabric comme plan de contrôle virtuel

3.4.4 Hosts et Networks

Les hosts (hôtes) et les networks (réseaux) sont des composants qui permettent de représenter les sources et destinations des paquets. Un host représente une seule machine munie d’une adresse logique et physique alors qu’un network représente un sous-réseau logique composé d’une collection de machines. Notez que seuls des noms symboliques sont manipulés et non des adresses réseaux. Ces abstractions masquent donc divers détails techniques de bas niveau spécifiques aux machines hôtes, permettant ainsi aux administrateurs de manipuler, au sein de leurs programmes, des identifiants qui sont significatifs à leurs objectifs de haut niveau en lieu et place des traditionnelles adresses IP et MAC.

3.5 Conclusion

Dans ce chapitre nous avons présenté le modèle Edge-Fabric qui, à l’inverse du modèle overlay network, introduit une frontière logique entre les politiques de transport et les fonctions réseaux les plus complexes. Cette distinction permet, d’une part, aux administrateurs de se concentrer sur la définition de leurs fonctions réseaux, qui seront par la suite installées sur les edges, et d’autre part, à ces deux types de politiques différents d’évoluer séparément et d’être réutilisables dans d’autres contextes d’utilisations.

Par ailleurs, le modèle Edge-Fabric répond aussi au manque de flexibilité du modèle OBS. En effet, le fait de pouvoir utiliser plusieurs edges et plusieurs fabrics permet, d’une part, de répondre à différents contextes d’utilisations, et d’autre part, de pouvoir considérer

les possibles contraintes physiques que l’administrateur ne souhaite pas ou ne peux pas abstraire. En revanche, si aucune contrainte particulière n’est à considérer, l’administrateur peut opter pour une seule fabric qui va abstraire toutes les capacités de transport de son réseau physique.

Dans le chapitre suivant, nous présentons le langage AirNet qui a été entièrement construit autour du modèle Edge-Fabric. Ainsi, ses primitives permettent de configurer les équipements virtuels de ce modèle. Quant à son modèle de programmation, il est conforme à la logique du modèle Edge-Fabric, en d’autres termes les traitements complexes sont effectués aux bordures du réseau (sur les edges) afin de laisser le cœur du réseau simple (les fabrics), s’occupant essentiellement des problématiques de transports.

Chapitre 4

AirNet : langage et modèle de programmation

Dans ce chapitre, nous présentons la syntaxe et la sémantique des primitives du langage AirNet ainsi que son modèle de programmation. D’abord, nous allons décrire les primitives qui permettent de construire des topologies virtuelles ainsi que les différentes possibilités de conception envisageables. Puis, nous présenterons les primitives de base du langage AirNet, ou en d’autres termes, les jeux d’instructions des composants logiques edges et fabrics. Enfin, nous détaillerons les primitives avancées (fonctions réseaux) qui permettent aux administrateurs d’écrire des politiques dynamiques afin de construire des programmes de contrôle plus élaborés et réalistes.

4.1 Définition de la topologie virtuelle

AirNet a un modèle de programmation qui nécessite qu’un administrateur doit spécifier une topologie virtuelle, suivant le modèle Edge-Fabric, qui correspond à ses objectifs de haut niveau ou aux contraintes physiques qu’il souhaite prendre en considération. Puis, il doit spécifier les modules de contrôle qui vont s’exécuter sur cette topologie virtuelle. Cette dernière est complètement détachée de l’infrastructure physique. Cela signifie qu’elle ne contient aucune référence vers les équipements physiques, notamment les commutateurs OpenFlow.

Pour un administrateur, définir une topologie abstraite est une opération simple qui consiste, principalement, à spécifier d’une manière déclarative les différents composants logiques (edge,fabric,hostetnetwork) qu’inclut une topologie virtuelle, ainsi que les liens qui les rattachent et cela en utilisant les instructions qui sont présentées dans la figure23.

VTopology( ) c r é e un o b j e t t o p o l o g i e v i r t u e l l e .

addEdge(" i d " , p o r t s ) a j o u t e un edge à une t o p o l o g i e v i r t u e l l e . a d d F a b r i c(" i d " , p o r t s ) a j o u t e une f a b r i c à une t o p o l o g i e v i r t u e l l e .

addDataMachine(" i d " , p o r t s ) a j o u t e une d a t a machine à une t o p o l o g i e v i r t u e l l e . addHost(" i d " , p o r t s ) a j o u t e un hote à une t o p o l o g i e v i r t u e l l e .

addNetwork(" i d " , p o r t s ) a j o u t e un r é seau à une t o p o l o g i e v i r t u e l l e .

a d d L i n k( ( " i d 1 " , p o r t 1 ) , (" i d 2 " , p o r t 2 ) ) a j o u t e un l i e n v i r t u e l e n t r e deux composants .

FIGURE23.Primitives AirNet pour construire une topologie virtuelle

Ainsi, la définition d’une topologie virtuelle correspondra à une fonction qui inclut une instruction de déclaration par composant virtuel. Pour chaque composant, l’administrateur

doit spécifier l’identifiant et le nombre de ports qu’il contient. Puis dans un second temps, l’administrateur doit relier tous ces équipements en utilisant la primitive addLink, en indiquant quels sont les équipements et les ports qui doivent être reliés. Par ailleurs, lors de la phase de conception, un certain nombre de règles doivent être respectées, nous les énumérons ci-dessous :

• La topologie minimale qu’un administrateur peut définir consiste en une fabric et deux edges qui lui sont reliés.

• Une topologie virtuelle peut contenir une ou plusieurs fabrics.

• Les utilisateurs finaux (host et network) sont toujours connectés à des edges.

• Les edges et les data machines ont toujours, au moins, un port qui est connecté à une fabric.

Ces choix de conception ont été motivés, principalement, par le souhait de maintenir une séparation claire et précise entre les interfaces Hôte-Réseau (utilisateurs-edge) et Réseau-Réseau(edge-fabric). Néanmoins, nous laissons aussi beaucoup de liberté pour les administrateurs dans leurs choix de conception afin qu’ils puissent s’adapter aux différents contextes d’utilisation possibles. Par exemple, on peut facilement imaginer deux topologies virtuelles différentes pour une même topologie physique, comme cela est montré dans les figures24et25.

FIGURE24.Topologie virtuelle avec une seule fabric

La figure 24montre une première possibilité de conception qui consiste à utiliser une seule fabric pour représenter tous les équipements de cœur de réseau et deux edges pour connecter les hôtes et les réseaux d’utilisateurs. On peut aussi constater, sur cette même figure24, que pour le mapping des edges, on a un mappingun-à-un pour l’edgeE2et un mappingun-à-plusieurspour l’edgeE1. L’extrait ci-dessous représente le programme AirNet qui permet d’obtenir cette topologie virtuelle. Ce dernier correspond globalement, comme il a été mentionné auparavant, à une instruction par composant virtuel.

Chapitre 4 : AirNet : langage et modèle de programmation

La figure25, quant à elle, représente une deuxième possibilité de conception où ici on a utilisé deux fabrics et trois edges. Dans ce cas, l’utilisation de deux fabrics peut être motivée, par exemple, par le souhait de vouloir expliciter directement au niveau de la topologie virtuelle deux chemins différents, c’est-à-dire le chemin [S3, s4, s5] et le chemin [S3, S6, S7, s5]. Par ailleurs, notons aussi qu’il est possible d’avoir un mappingplusieurs-à-un comme c’est le cas pour les deux edges E2 et E3qui mappent vers le même équipement physiqueS8.

FIGURE25.Topologie virtuelle avec deux fabrics

Dans le document The DART-Europe E-theses Portal (Page 80-84)