DETERMINATION ET GESTION DE RESEAUX VIRTUELS
La présente invention concerne la détermination et la gestion de réseaux virtuels sur des réseaux physiques. II existe aujourd'hui des techniques permettant de créer « des machines informatiques virtuelles ». Cela consiste à simuler à l'aide de logiciels, le fonctionnement d'une machine dans une machine réelle. Lorsque la machine est émulée, il est possible d'exécuter au même titre que dans une machine réelle un système opérationnel ("operating System") tel que les systèmes connus sous les dénominations commerciales Windows, Linux, ou Solaris. Une fois le système lancé, la machine virtuelle se comporte comme une machine à part entière et permet d'exécuter les logiciels supportés par le système.
L'intérêt principal de ces techniques de virtualisation consiste à juxtaposer plusieurs machines et systèmes virtuels sur une même machine physique de manière à faciliter les transferts de données, à mutualiser les ressources, à faciliter les sauvegardes, à simplifier l'administration et autres.
Les machines virtuelles voient la machine hôte comme une machine indépendante et sont pilotées par un gestionnaire de virtualisation depuis la machine hôte (Xen, Vmware, UML...). II existe différents modes de virtualisation adaptés aux différents usages, par exemple opérationnels: maquettes, simulation, processus opérationnels (serveurs, routeurs etc.).
Dans la même logique, il apparaît possible de virtualiser les réseaux. Ainsi un même réseau physique, tel que le réseau référencé 2 sur la figure 1 , peut servir de support à plusieurs réseaux virtuels 4i ...4K.
Ces réseaux virtuels 4 réalisent l'interconnexion entre des sites qui, soit fournissent des services, soit sont utilisateurs de ces services. Les sites sont connectés via des points d'accès de service ou points d'accès clients sur des nœuds du réseau physique. Les sites pouvant eux-mêmes être des sous parties d'un réseau de télécommunications qui englobe les nœuds physiques supports de routeurs virtuels.
Une architecture de réseaux virtuels comprend une superposition de topologies logiques différentes établies entre des routeurs virtuels, ces topologies virtuelles étant supportées par l'architecture du réseau physique 2. Chacun des
réseaux virtuels, en fonction des services qu'il doit supporter, devra répondre à des contraintes particulières en matière de qualité de service, de temps de transit, de disponibilité etc. Une telle structure permet d'affecter un service différencié à chacun des réseaux superposés. En virtualisant les réseaux, il devient possible de faire une administration centralisée pour tous les réseaux virtuels depuis une plateforme physique de support, de partager des ressources, afin de gagner de l'espace et de réduire la consommation énergétique (machines, baies, climatisations etc.), de faire évoluer les réseaux virtuels en installant de nouvelles versions de systèmes opérationnels sans perturber le fonctionnement du routeur.
En outre, la séparation des machines virtuelles facilite la différentiation des divers services supportés par une machine physique (QOS, réservation de Bande passante, sécurité ...).
Toutefois, dans une telle topologie, les mécanismes de gestion des nœuds du réseau physique doivent permettre de concilier la connexité entre des points de connexion des réseaux virtuels, une certaine robustesse de la topologie virtuelle (résilience sur des cas de pannes de nœuds ou de liens physiques) ainsi que l'optimisation du partage des ressources du réseau physique.
La gestion et l'administration de ces réseaux virtuels sont donc particulièrement complexes par rapport aux réseaux physiques classiques, notamment en cas de panne. Une gestion manuelle systématique serait particulièrement contraignante et coûteuse et nécessiterait des interventions humaines sur un nombre élevé de nœuds du réseau physique pour permettre de retrouver la cohérence des réseaux virtuels. Dans certains environnements, il est utilisé une gestion centralisée des réseaux virtuels. Ceci pose des problèmes de sécurité et entraîne l'émission simultanée de commandes de modifications à apporter à plusieurs nœuds physiques en cas d'évolution du réseau.
Il est également possible d'utiliser dans les réseaux physiques une gestion décentralisée ou répartie, dans laquelle chaque nœud physique du réseau est capable de prendre une décision autonome concernant la mise en œuvre d'une opération le concernant.
Cependant, il n'existe pas aujourd'hui de solution qui permet à chaque nœud de gérer des réseaux virtuels de manière autonome et décentralisée.
La présente invention vise à améliorer cette situation en fournissant un procédé de détermination de la topologie de réseaux virtuels ainsi qu'un programme, un dispositif et un réseau correspondant.
Ainsi dans un mode de réalisation l'invention concerne un procédé de détermination de topologies de réseaux virtuels, des nœuds physiques étant connectés par un réseau physique et étant destinés à supporter des nœuds virtuels desdits réseaux virtuels. Le procédé comporte les étapes suivantes mises en œuvre par un des nœuds physiques : une détermination de paramètres de ressources définissant une configuration physique du réseau et une configuration physique propre du noeud physique et une détermination de paramètres de demandes définissant des demandes de services relatives aux réseaux virtuels et, en cas de modifications d'au moins un paramètre appartenant au groupe comportant les paramètres de ressources et les paramètres de demandes entre un instant courant et un instant précédent, une diffusion d'au moins les paramètres modifiés dans le réseau physique, une mise à jour des paramètres de ressources et de demandes en fonction des paramètres modifiés et une détermination de topologies pour les réseaux virtuels à l'aide des paramètres mis à jour.
Ainsi, par la diffusion des paramètres modifiés, chaque nœud du réseau physique dispose des mêmes paramètres et effectue les mêmes calculs pour déterminer les topologies de réseaux virtuels. En conséquence, le procédé peut être automatisé et mis en œuvre par chaque nœud du réseau physique de manière autonome. Ceci permet d'améliorer la situation en permettant une gestion décentralisée et autonome des réseaux virtuels supportés par un même réseau physique. Dans un mode de réalisation particulier, ladite détermination de paramètres de ressources comprend au moins une étape sélectionnée dans le groupe comprenant une prise en compte d'informations prédéterminées de configuration, une réception d'informations provenant d'autres nœuds du réseau physique et une acquisition de ressources locales et distantes. Dans un autre mode de réalisation particulier, ladite détermination de paramètres de demandes comprend au moins une étape sélectionnée dans le groupe comprenant une prise en compte d'informations prédéterminées de configuration, une réception d'informations provenant d'autres nœuds physiques et une prise en compte de contraintes de qualité de service.
Ainsi, les nœuds peuvent déterminer les ressources et les demandes à partir de paramètres prédéterminés ou de paramètres transmis par d'autres nœuds ou encore acquis par interrogation. Un nœud obtient ainsi les paramètres modifiés par les autres nœuds et la détermination des topologies est coordonnée entre les différents nœuds du réseau physique.
Dans un mode de réalisation particulier, ladite étape de détermination de topologies pour les réseaux virtuels comprend, pour chaque réseau virtuel, un contrôle de la disponibilité des ressources.
Ainsi, le procédé de détermination de la topologie des réseaux virtuels vérifie que les demandes de services et paramètres de ressources fixés, notamment pour le maintien de la qualité de service, sont respectés.
Avantageusement, ladite étape de détermination de topologies pour les réseaux virtuels comprend, pour chaque réseau virtuel, une détermination de métriques pour chaque lien virtuel entre les nœuds du réseau virtuel, une détermination des chemins les plus courts entre les nœuds du réseau virtuel, une union des chemins les plus courts pour créer une topologie du réseau virtuel, et une détermination des charges des liens entre les nœuds du réseau virtuel.
Ce mode de réalisation particulier constitue une alternative technique pour la détermination des topologies. Dans une variante, le procédé comprend en outre, en fonction des topologies des réseaux virtuels déterminées, une création d'au moins un routeur virtuel sur au moins un nœud physique. Le procédé comprend ainsi une phase active d'adaptation automatique du réseau physique à la topologie des réseaux virtuels déterminée.
Avantageusement, lesdites étapes de mise à jour des paramètres et de détermination des topologies sont répétées à chaque modification des paramètres de demandes ou de ressources. Ainsi, le procédé permet l'adaptation automatique des réseaux virtuels dès qu'une modification est détectée.
Avantageusement, le procédé comprend en outre une gestion des réseaux virtuels après la détermination de la topologie. Dans un mode de réalisation particulier, la gestion des réseaux virtuels comprend, en cas de panne d'un nœud du réseau physique, une diffusion d'une information au niveau du réseau physique, une convergence du graphe du réseau physique et des topologies des réseaux virtuels affectés par la panne, une mise à jour des paramètres de ressources et de demandes en conservant les paramètres
définissant les liens non affectés par la panne et une réitération du procédé pour la détermination des topologies.
Dans un autre mode de réalisation particulier, la gestion des réseaux virtuels comprend, en cas d'arrêt d'un routeur physique, une diffusion d'une information au niveau du réseau physique, une convergence du graphe du réseau physique et des topologies des réseaux virtuels affectés par la panne, une mise à jour des paramètres de ressources et de demandes et après l'arrêt du routeur physique, une réitération du procédé pour la détermination des topologies des réseaux virtuels.
Dans encore une variante la gestion des réseaux virtuels comprend, en cas d'ajout d'un ou de plusieurs points d'accès à un réseau virtuel, une mise à jour des paramètres de demandes et une réitération du procédé pour la détermination des topologies des réseaux virtuels.
L'invention concerne également un programme d'ordinateur comportant des instructions de code pour la mise en oeuvre d'un procédé tel que défini précédemment lorsque ledit programme est exécuté par un calculateur d'ordinateur.
En outre, l'invention concerne un nœud du réseau physique appartenant à un réseau physique et étant adapté pour supporter des nœuds virtuels de réseaux virtuels comportant une unité de détermination de paramètres de ressources définissant une configuration physique du réseau physique et une configuration physique propre du nœud physique, une unité de détermination de paramètres de demandes définissant des demandes de services relatives aux réseaux virtuels, un comparateur entre les paramètres de demandes et de ressources d'un instant courant et les paramètres d'un instant précédent, des moyens de diffusion de paramètres de ressources et de demandes dans le réseau physique, des moyens de mise à jour des paramètres de ressources et de demandes en fonction des paramètres modifiés et un calculateur adapté pour la détermination de topologies pour les réseaux virtuels à l'aide des paramètres mis à jour.
L'invention concerne également un réseau physique de télécommunications comportant une pluralité de nœuds physiques connectés entre eux et adaptés pour supporter des nœuds virtuels de réseaux virtuels, caractérisé en ce que au moins deux desdits nœuds physiques sont des noeuds tels que mentionnés précédemment. D'autres particularités et avantages de la présente invention apparaîtront dans la description faite ci-après, à titre non limitatif, et en référence aux dessins annexés dans lesquels :
- la figure 1, dont il a déjà été fait mention décrit l'architecture d'un réseau physique supportant plusieurs réseaux virtuels ;
- la figure 2 est un organigramme du procédé de détermination de topologies de réseaux virtuels et de gestion de ces topologies selon un mode de réalisation de l'invention ;
- la figure 3 représente des matrices utilisées dans un mode de réalisation du procédé de l'invention.
Un procédé selon un mode de réalisation de l'invention va maintenant être décrit en référence aux figures 1 à 3 dans une configuration comprenant K réseaux virtuels sur N nœuds de réseaux. Cette configuration, représentée en référence à la figure 1 , comporte N noeuds réels, ou nœuds de réseau physiques, notés O1 à 6N, reliés par le réseau physique 2 et supportant les K réseaux virtuels 4, à 4«. Dans les
N noeuds réels, on trouve des routeurs virtuels notés 8,,. De manière générale, on appelle graphe de réseau la description du réseau physique 2 et topologie la structure de chacun des réseaux virtuels 4.
Le procédé de détermination de topologie de réseaux virtuels permet une détermination de la topologie et la mise en œuvre ultérieure des réseaux virtuels.
Ce procédé débute par une acquisition 10, par chaque nœud du réseau physique 6, de données définissant la configuration physique du graphe de réseau et de celle du nœud physique.
Ceci peut être réalisé à l'aide de fichiers de configuration prédéterminés et/ou par analyse des ressources locales et distantes à partir d'informations reçues des autres nœuds du réseau physique.
La transmission de ces informations est mise en œuvre au niveau du réseau physique 2, par un protocole de routage de type IGP (Interior Gataway Protocol). Les données reçues sont issues de la diffusion depuis chaque nœud physique 6, des éléments concernant la description de la configuration physique et notamment :
- les adjacences actives entre les nœuds du réseau physique;
- les métriques et les préfixes IP associés à ces adjacences ; - les ressources disponibles sur les liens (bande passante, etc.) ;
- le délai de transit sur les liens physiques reliant les machines voisines ;
- les capacités de traitement processeur et le volume de mémoire du nœud physique.
Ainsi, chaque nœud du réseau physique dispose d'informations descriptives de ses propres caractéristiques physiques, des caractéristiques physiques des autres nœuds du réseau 2 et des caractéristiques physiques des liens du graphe de réseau 2. De manière classique, par exemple en faisant référence au protocole de routage connu sous le nom de IGP (Interior Gateway Protocol), il est fait usage de matrices dites d'adjacence qui définissent le graphe du réseau 2 à l'aide de métriques représentant une « distance » entre les nœuds du réseau.
Dans les réseaux physiques classiques, la métrique est unique par adjacence. Toutefois la situation est plus complexe dans les réseaux virtuels. En effet, pour chaque nœud de chaque réseau virtuel, il convient de définir une matrice prenant en compte des métriques déterminées à partir de contraintes différentes, par exemple le délai de transit entre les nœuds du réseau virtuel, mais également les contraintes du service, les contraintes du réseau physique telles que la bande passante disponible et les contraintes de la machine physique.
A cet effet, il est défini une matrice d'adjacence étendue pour tenir compte des capacités physiques du réseau, des machines physiques et des contraintes relatives à la superposition des réseaux. Cette matrice d'adjacence étendue, ou matrice de ressources, de taille NxN est notée R en référence à la figure 3 et décrit les ressources physiques disponibles entre les nœuds du réseau physique reliés selon la topologie du réseau.
La matrice de ressources R est composée d'éléments R1, qui sont des vecteurs décrivant les ressources disponibles entre les nœuds 6, et 6j exprimées à partir des critères définis pour décrire les demandes de service des réseaux virtuels tels que bande passante, délai de transit, facteur de disponibilité, facteur de gigue etc.
Dans le mode de réalisation décrit, chaque vecteur R1, comporte une indication de type métrique, destinée à la prise en compte de la connectivité entre les nœuds et donc à la prise en compte de la topologie physique.
Ainsi, les éléments de la matrice R sont du type R1, = (m, C, T, .... G...),, (métrique, capacité du lien, délai de transit, etc.).
Par ailleurs, à chaque nœud physique 6 est associé un vecteur définissant les capacités matérielles de ce nœud (processeur, mémoire, etc.) Ce vecteur se représente, dans le mode de réalisation décrit, sous la forme Pn = (M,P,...)n (Mémoire disponible, capacité processeur, etc.), n e [1 ,N].
Le procédé comporte également une détermination 12 des demandes de service telles qu'une bande passante minimum, un délai maximum de bout en bout, un facteur de gigue maximum et d'autres paramètres entre les routeurs virtuels d'accès à un réseau virtuel pour un client donné. Dans le cas où le réseau virtuel doit avoir une topologie prédéterminée, les demandes comprennent, outre la description des demandes de services, des données liées à la topologie des réseaux virtuels. Ces données déterminent les métriques attachées aux liens du réseau virtuel et décrivent la topologie prédéterminée. II est également possible de recevoir des données qui ne décrivent que partiellement la topologie et ne fournissent des métriques que sur certains liens.
Une demande de création d'un réseau virtuel peut être reçue depuis plusieurs sources. Notamment, une telle demande peut être :
- issue d'une plateforme d'administration, connectée sur le réseau physique et qui émet des demandes à un format défini pour un protocole d'échange ;
- issue des points d'accès, à partir éventuellement d'un processus automatique de connexion à un réseau virtuel;
- issue d'un nœud quelconque du réseau physique à partir d'une interface de configuration de niveau physique. Pour tenir compte de ces demandes, il convient de définir une autre matrice permettant l'organisation des données reçues.
En considérant le réseau avec N noeuds et K réseaux virtuels, l'étape 12 permet la détermination d'une matrice de demandes, de taille NxNxK notée D en référence à la figure 3. Cette matrice D est composée de K matrices NxN notées Dk qui représentent les demandes de services entre les points d'accès aux réseaux virtuels.
Chaque matrice de demande Dκ associée au réseau virtuel de rang k e [1 , K] est de dimension NxN et a pour indice k dans la matrice de demande D: Dk ≈ (D1, }k.
Chaque matrice Dk décrit d'une part la demande de ressources nécessaires entre les points d'accès au réseau virtuel, et d'autre part des métriques m,, pour les liens attribués au niveau virtuel k entre les nœuds physiques N1 et N1.
Dans un mode de réalisation, la métrique m,, est issue d'un calcul par un algorithme d'attribution de métriques basé sur les caractéristiques du réseau physique et sur le type de service demandé.
Dans une autre variante, la métrique est déterminée a priori. En particulier, dans le cas d'une demande de topologie ou d'ingénierie prédéterminée par un client.
Ainsi à l'issue des étapes 10 et 12, le procédé dispose des contenus, des vecteurs Pn des capacités matérielles de chaque nœud physique 6, de la matrice R des ressources du réseau physique et de la matrice D des demandes. Ces matrices R et D sont représentées en référence à la figure 3.
Sur cette figure, les éléments de matrice R,,, RVJ, R,v et leurs symétriques par rapport à la diagonale définissent les métriques du graphe du réseau 2 au niveau physique et les capacités disponibles des liens entre les nœuds 6,, 6,, et (v Les liens non connectés se caractérisent par une métrique infinie m ≈ ∞ et des capacités nulles.
Au niveau virtuel k, DIJk et D|lk expriment la demande des capacités (CIJk T|lk ...) entre les routeurs virtuels 8lk et 8lk qui sont des points d'accès au réseau virtuel 4k. La métrique, par exemple pour Dl|k, est infinie, ce qui signifie que, malgré l'existence d'un lien physique entre ces nœuds, la topologie virtuelle de rang k n'a pas attribué de lien entre ces routeurs virtuels.
DV|k et DJvk expriment les métriques des chemins du réseau de rang k entre les nœuds 8v et 8,. Le nœud virtuel 8y n'est pas un point d'accès au réseau virtuel. Les capacités sont mises aux valeurs limites: par exemple pour Dvlk, la capacité en bande passante est à zéro et le délai de transit sur le lien est infini, indiquant qu'il n'y a pas eu de demande de ressources entre ces deux points. Il en est de même pour Dvιk et
D,vk.
Lors de la première mise en œuvre du procédé, ces étapes 10 et 12 correspondent à l'initialisation des données de graphe et de topologie pour la gestion des réseaux virtuels. Ultérieurement, ces étapes résultent de modifications de la configuration physique (panne, addition d'un nœud...) ou de modifications des demandes de service.
Le procédé comporte ensuite un test 14 pour évaluer si les données relatives aux ressources ou aux demandes ont changé. Dans le cas d'une initialisation, les matrices et vecteurs étant vierges initialement, la présence de données constitue un changement.
Au cours du fonctionnement normal, en l'absence de changement, le procédé se rend à une étape de gestion 40 décrite ultérieurement. En effet, dans le cas où ni les ressources ni les demandes n'ont été modifiées, les données courantes
définissant la topologie des réseaux virtuels et sur lesquelles est fondée la gestion ne nécessitent pas d'être modifiées.
Dans le cas où le nœud du réseau physique 6 détecte une modification dans l'une des matrices R ou D ou dans le vecteur P, le procédé continue avec une diffusion 16 des informations modifiées.
Cette diffusion 16 est mise en œuvre au niveau du réseau physique 2, par un protocole de routage de type IGP. Les données sont diffusées par chaque nœud physique 6, vers tous les autres nœuds physiques 6 du réseau.
Les données transmises concernent notamment les données descriptives de la configuration physique et notamment :
- les adjacences actives entre les nœuds du réseau physique;
- les métriques et les préfixes IP associés à ces adjacences ;
- les ressources disponibles (bande passante, Gigue maximum, etc..) ;
- les ressources disponibles (débit, Gigue, etc..) ; - le délai de transit sur les liens physiques reliant les machines voisines ;
- les capacités de traitement du processeur et le volume de la mémoire du nœud physique.
Parallèlement, les données liées à la topologie des réseaux virtuels sont également transmises au cours de la diffusion 16. Ces données sont définies des deux manières suivantes.
Lors de la création automatique d'un réseau virtuel, la demande de ressources ne concerne que les nœuds d'accès au réseau virtuel. Cette demande est exprimée dans le format défini pour le vecteur Dl|k. Elle est caractérisée par la donnée d'une métrique (de coordonnée m) à 0. Dans le cas où le réseau virtuel a une topologie prédéterminée, la demande de création d'un réseau virtuel est décrite dans le même format D1, et exprime de la même manière les demandes de ressources. La demande comporte en outre, une description de la topologie du réseau virtuel. Cette topologie s'exprime par la coordonnée "métrique" des vecteurs qui décrit la structure du réseau considéré. Bien entendu il est possible de composer ces deux modes en fixant des métriques sur certains liens seulement et en déterminant les autres métriques de manière automatique.
La diffusion 16 des données par un nœud du réseau physique correspond, du point de vue des nœuds du réseau physique qui reçoivent ces données, à une étape
de détermination des ressources ou demandes de sorte que chaque noeud dispose des mêmes matrices et vecteurs définissant les ressources et les demandes.
A l'issue de la diffusion de données, le procédé comprend une mise à jour 18 des matrices pour intégrer les données modifiées. Notamment dans certains modes de réalisation, les données transmises doivent être reformatées avant d'être intégrées dans les matrices. Dans d'autres modes de réalisation, les données sont transmises dans un format correspondant au format des matrices.
Les étapes de diffusion 16 et de mise à jour 18 peuvent être réalisées simultanément ou dans un autre ordre que l'ordre décrit. Le procédé comporte ensuite une étape 20 de détermination de la topologie des réseaux virtuels. Cette étape est réalisée par chaque nœud physique et pour chaque réseau virtuel. Selon les modes de réalisation, l'ensemble des topologies est déterminé simultanément en réalisant l'étape 20 en parallèle pour chaque réseau virtuel ou bien en séquence selon un ordre arbitraire ou fixé par des contraintes d'exploitation.
Chaque nœud du réseau physique utilise pour le calcul de détermination des topologies des réseaux virtuels les données échangées précédemment.
Cette détermination 20 débute par la recherche d'une topologie et par un ensemble de réservations de ressources compatibles à la fois avec les ressources disponibles sur le niveau physique et avec les demandes de service.
Plusieurs méthodes de détermination sont envisageables, plus ou moins complexes, alliant des éléments de recherche opérationnelle et des heuristiques propres à l'architecture des réseaux supports. Ces calculs dépendent à la fois de contraintes de garantie de service ou de QOS mais aussi d'aspects statistiques ou commerciaux et concernent l'offre de service.
Dans les grandes lignes, un exemple de réalisation des opérations de calcul de détermination de la topologie est décrit ci-après.
Dans les formules exposées ci-dessous, on définit un opérateur « . » (point). Son usage sous la forme V.X décrit la composante X d'un vecteur V. Le premier calcul 22 consiste à déterminer, pour chaque lien du réseau physique 2, la métrique qui lui est associée dans le plan virtuel à créer à partir de la matrice R des ressources disponibles sur les liens du réseau physique et du vecteur Pn des ressources disponibles sur les nœuds du réseau physique. Si cette métrique
est déjà définie dans la matrice Dk, c'est la valeur prédéfinie qui doit être prise en compte.
Pour cela, une fonction de transfert Φk de R → IR+ est associée a chaque réseau virtuel. Le résultat de l'application de cette fonction aux données de graphe est une métrique exprimée selon le protocole de type IGP pour chaque lien du réseau physique. La fonction de transfert est en outre adaptée à la nature du service demandé et calcule la métrique à associer aux liens virtuels à partir des caractéristiques des liens physiques, et d'éventuelles règles statistiques ou commerciales. Ce calcul va permettre de déterminer les plus courts chemins dans le réseau physique au sens de la métrique du réseau virtuel qui doit être créé.
Une réalisation simple de cette fonction pourrait être basée par exemple sur les temps de transit ou la bande passante des liens physiques.
L'utilisation de ces métriques permet le choix d'une topologie de réseau virtuel qui correspond aux critères demandés. Les métriques seront fournies par défaut aux routeurs virtuels lors de leur création.
Dans l'exemple décrit, le calcul de détermination de la topologie d'un réseau est ensuite réalisé selon l'algorithme suivant :
- calcul 24 d'un ensemble de plus courts chemins relatifs aux métriques calculées pour le réseau virtuel entre chaque couple (NU,NV) de points d'accès au réseau virtuel ; dans le mode de réalisation décrit, il est fait usage de l'algorithme dit de "n shortest paths" qui permet de déterminer les n plus courts chemins entre deux points ;
- union 26 de ces plus courts chemins de manière à créer une topologie pour le réseau virtuel qui soit suffisamment maillée et résiliente ; par union on entend une union au sens mathématique ou superposition ;
- détermination 28 de la charge des liens à partir des demandes de ressources additives telles que la bande passante par exemple.
On notera que des métriques différentes peuvent être utilisées pour les différents réseaux virtuels de sorte que les chemins les plus courts peuvent varier d'un réseau virtuel à l'autre.
A ce stade du calcul, une nouvelle matrice est définie pour le traitement et la mémorisation des ressources allouées au réseau virtuel de rang k créé: la matrice Rk de vecteurs RIJk dont la structure est identique à celle des vecteurs R1, de la matrice R.
Le vecteur R(Jk décrit les ressources nécessaires et allouées pour le réseau virtuel de rang k sur le lien 4k du réseau physique.
De plus, pour chaque nœud 8πk de la topologie d'un réseau virtuel de rang k, on définit un vecteur Pnk = (Mi, Pi )k dont les coordonnées sont les paramètres de ressources de traitement nécessaires et allouées sur le nœud.
Le calcul de la charge des liens peut être réalisé de la manière décrite ci- dessous.
En notant Sk l'ensemble des points d'accès de service au réseau virtuel 4k, on considère les ensembles Euv de chemins du graphe du réseau physique 2, calculés et retenus lors de l'étape précédente, qui relient les couples de nœuds (NU,NV) e SkxSk. Un chemin euv n e Euv, n e [1 , Card(Euv)] s'exprime sous la forme d'une suite ordonnée, finie de nœuds physiques euv = (N,)uv. En notant CM+1 la capacité à réserver pour le couple (NU,NV) sur le lien (N11N1+1) on a CM+1 = Duvk.C.
Cela signifie que quelque soit le lien appartenant aux chemins qui relient les nœuds d'accès Nu et Nv, la capacité demandée au rang k entre ces nœuds est réservée sur ce lien même si plusieurs chemins passent par ce lien. Ceci s'exprime selon l'équation suivante :
Dans une variante, l'ensemble des couples (u,v) de SkxSk est défini selon l'équation suivante : γ≠ = {(« , v) e Sk x Sk }/ 3e e E1n I Rt] e e .
En conséquence, au moins un chemin de Puv passe par le lien R11. La capacité C1Jk à réserver des ressources sur ce lien s'obtient en sommant les demandes de capacité entre couples de nœuds d'accès (NU,NV). En considérant le graphe virtuel de rang k: Gk - [JEU V
On a: VR≠ e Gi ,R≠.C = C≠ = ∑Dua.C.
A l'issue du calcul de la charge des liens, le processus de détermination de la topologie comporte un contrôle 30 de la disponibilité des ressources. Ce contrôle est réalisé pour chaque réseau virtuel à plusieurs niveaux :
- au niveau des nœuds du réseau virtuel, en vérifiant que pour tout nœud 8n du réseau et pour tout critère X définissant la capacité de traitement sur le nœud la différence est positive ou nulle: Pn. x -∑Rnk.x > 0 ;
- au niveau des liens, en vérifiant pour tout couple 8,, 8, de nœuds du réseau virtuel reliés par une adjacence, la capacité X résiduelle sur le lien physique des ressources dont les consommations s'additionnent au fil des ajouts de réseaux virtuels (la bande passante par exemple) est positive ou nulle: R .X -Y R ..X >0 ;
- au niveau du chemin, en supposant que le délai de transit sur un lien non surchargé ne dépend pas de sa charge, l'algorithme vérifie que le délai de transit sur tout chemin e reliant deux nœuds d'accès 8U et 8v du réseau virtuel k respecte la demande de délai de bout en bout: \/e e Eux , Y^ R≠ T ≤ Duvk T ;
"' «„«'
- au niveau général, en vérifiant, que pour tous les critères chiffrés spécifiés pour le chemin, tel, par exemple, que la gigue maximale permise, le réseau physique offre la ressource demandée. Bien entendu d'autres méthodes ou heuristiques peuvent être exploitées pour la détermination des topologies des réseaux virtuels.
Une fois le calcul terminé, le procédé exécute un test 32 sur le résultat du contrôle. Si toutes les ressources demandées sont disponibles, la topologie du réseau correspondant est valide et le test est suivi d'une mise à jour 34 des matrices définissant les réseaux virtuels et notamment :
- des ressources allouées aux différents liens physiques: dans les vecteurs R1Jk de la matrice de ressource Rk ;
- des ressources processeur allouées pour chaque nœud dans le vecteur Pnk ;
- des métriques dans les matrices Dk et Rk Comme indiqué précédemment, l'étape 20 est mise en œuvre pour chaque réseau virtuel. Ainsi à l'issue de ces étapes, une topologie est déterminée pour chaque réseau virtuel.
Le procédé comporte ensuite un test 36 pour déterminer si un ou plusieurs routeurs virtuels appartenant à ces nouvelles topologies des réseaux virtuels doivent être créés sur le nœud physique. Dans le cas où ce test est positif, le procédé crée ces routeurs virtuels lors d'une étape 38.
Chaque nœud du réseau physique par lequel passe un chemin de la nouvelle topologie déterminée pour le réseau virtuel de rang k doit comporter un routeur virtuel
La création 38 débute par la création d'une machine virtuelle et de son système d'exploitation, tel que par exemple, Xen et Linux, ou d'un processus de prise en charge des supports de gestion des traitements virtuels dits « équipementiers ».
Le routeur virtuel proprement dit sera créé dans cet environnement. La mise en service comporte un ensemble d'opérations qui dépendent de la manière dont le réseau virtuel correspondant est administré. Dans un mode de réalisation il s'agit d'une création automatique basée sur un protocole déterminé. En variante, il s'agit d'une création administrée par le client sur la base de la machine virtuelle qui lui est fournie.
Dans tous les cas, le processus de détermination de la topologie du réseau virtuel garantit que les ressources demandées sont disponibles sur les chemins déterminés par l'algorithme de création.
Avantageusement, une fois créé, chaque routeur virtuel active son propre protocole de routage qui diffuse ses données aux autres routeurs du réseau virtuel 4 sur lequel il se trouve et est naturellement intégré à la topologie du réseau virtuel. En effet, sur chaque nœud du réseau physique, chaque routeur virtuel a réalisé les mêmes calculs avec les mêmes données et connaît donc l'emplacement des autres routeurs. En conséquence, le réseau virtuel ne nécessite aucune signalisation particulière de mise en œuvre de la part du réseau physique,
En conséquence, la détermination de la topologie est réalisée de manière automatique et autonome par chaque nœud du réseau physique sans nécessiter de transmission des paramètres descriptifs des topologies des réseaux virtuels.
Le procédé comporte ensuite une étape 40 de gestion des réseaux virtuels.
La gestion 40 est réalisée à l'issue de la détermination de la topologie des réseaux virtuels.
En particulier, dans le cas où le test 14 indique que rien n'a changé dans la topologie, le procédé se rend directement à cette étape. De même si le test 32 indique une erreur, le procédé comprend optionnellement une émission 42 d'un message d'erreur puis l'étape 40 de gestion. Le procédé se rend également directement à l'étape 40 de gestion si le test 36 indique qu'il n'est pas nécessaire de créer un nouveau routeur.
De manière générale, la gestion 40 gère les modifications du réseau physique ou des réseaux virtuels, ou événements, avant de réitérer l'ensemble des étapes 10 à
38 de détermination des topologies des réseaux virtuels. Les informations descriptives de la nouvelle configuration sont déterminées par un routeur ou une plateforme d'administration et transmises à tous les nœuds du réseau physique en utilisant le protocole d'échange de niveau physique similaire à celui d'un IGP classique (ISIS, OSPF p. ex.)- Les autres routeurs reçoivent la nouvelle configuration et exécutent la détermination de la topologie sur la base de cette configuration. Ces changements peuvent concerner par exemple: - une modification du support physique ;
- une panne sur un lien ou un nœud physique ;
- un arrêt d'une machine pour maintenance ;
- un ajout d'un point d'accès ;
Ces différents changements vont se traduire au travers de commandes spécifiques diffusées via le protocole d'échange. Ils sont pris en compte par le processus de gestion et entraînent la mise à jour des matrices R, D, du vecteur P et le recalcul, par chaque nœud de la configuration des réseaux virtuels.
Dans un cas particulier, la gestion 40 comporte également une récupération automatique d'une panne 44. Cette récupération sur panne de lien ou de nœud physique, comporte deux aspects rendus indépendants.
La récupération comporte tout d'abord la transmission d'une information de panne au niveau physique et au niveau des réseaux virtuels.
Au cours de l'étape 44, chaque IGP d'un réseau virtuel affecté assure une convergence de la topologie du réseau virtuel correspondant en s'appuyant sur sa résilience afin d'assurer le transport des données malgré la panne. Ceci est totalement transparent pour le réseau physique qui effectue sa propre convergence au niveau physique.
Puis, des paramètres de ressources et de demandes sont mis à jour et le procédé est réitéré sur chaque nœud physique et pour chacun des réseaux virtuels concernés par la panne. Le procédé reprend avec les nouveaux paramètres de ressources et de demande intégrant les conséquences de la panne.
Automatiquement, en réitérant le procédé décrit précédemment depuis l'étape 10, la matrice R modifiée est déduite de la nouvelle topologie déterminée par I1IGP de
niveau physique en y occultant les liens concernés par la panne. De même, les matrices Dk sont déterminées à partir des matrices Dk existantes en y occultant ces mêmes liens. En outre, les données attachées aux nœuds éventuellement incriminés sont occultées des vecteurs P et Pn. Enfin, les topologies virtuelles sont recalculées sur ces nouvelles données en conservant les métriques déterminées dans les matrices Dk sur les liens virtuels non affectés.
La gestion d'une panne se ramène donc à la création d'un réseau virtuel dont la topologie est partiellement prédéterminée. Les liens non utilisables par la nouvelle topologie ne seront pas pris en compte. Dans ce mode de réalisation, la prise en compte des métriques, et donc des liens, déjà déterminés dans la matrice Dk empêche une refonte complète des réseaux virtuels impactés par la panne puisque le processus de gestion récupère les liens qui maintiennent la connexité des réseaux. Le calcul des nouveaux réseaux n'intervient qu'en complément des réseaux détériorés pour rétablir la résilience et les capacités demandées.
Dans ce processus, les ressources réservées qui sont attachées aux liens dans les matrices Rk et Dk et aux vecteurs de ressource Pn sont conservées en attendant que la panne soit réparée, c'est-à-dire que la machine redémarre ou que le lien soit rétabli . Les éléments occultés seront alors libérés et réintégrés dans la topologie recalculée.
Dans un autre cas particulier, la gestion 40 comporte également un arrêt pour maintenance 46 d'un nœud du réseau physique.
Le processus d'arrêt s'assimile au processus de récupération d'une panne de lien ou de nœud physique. Toutefois, contrairement à la panne, l'arrêt est prévisible. Dans le mode de réalisation décrit, l'arrêt 46 comprend une déclaration d'un statut inopérant pour le nœud du réseau physique avant que celui-ci ne soit arrêté. Pendant une phase de transition, les routeurs virtuels affectés continuent à commuter les paquets qu'ils reçoivent. Simultanément, le protocole de type IGP diffuse l'information en provoquant une reconvergence du graphe de réseau physique. Au niveau de la gestion des réseaux virtuels, une fois la machine physique déclarée comme inactive, le processus de gestion est recommencé avec les nouveaux paramètres de ressources. Le procédé permet de déterminer les nouveaux chemins et déclenche la création de routeurs virtuels de remplacement sans que les réseaux virtuels ne soient perturbés. La machine physique est alors arrêtée. Lors de
l'arrêt de la machine physique, les protocoles de routage des réseaux virtuels prennent en compte la modification en convergeant sur un réseau qui a conservé des ressources conformes à la demande initiale.
Dans le cas de l'arrêt temporaire, comme dans le cas de la panne, certaines ressources peuvent rester réservées jusqu'au redémarrage.
Dans les cas de panne ou d'arrêt pour maintenance, les ressources qui ont été attribuées ainsi que les routeurs virtuels qui ont été créés pour rétablir les caractéristiques du réseau lors de l'arrêt, doivent être restitués.
Dans encore un autre cas particulier, l'étape de gestion 40 comprend un ajout 48 d'un ou plusieurs points d'accès à un réseau virtuel.
Le procédé reprend directement à l'étape 10 d'acquisition avec une nouvelle demande de ressources. L'application du procédé aboutit automatiquement à une nouvelle topologie prenant en compte ces nouveaux points d'accès.
Avantageusement, dans les processus décrits ci-dessous, le calcul ou recalcul d'une topologie pour un réseau virtuel utilise en priorité les liens déclarés dans la matrice Dk par leurs métriques. Ces liens sont déterminés a priori pour des topologies imposées, ou en cours de fonctionnement par le processus de calcul. Si un lien prédéterminé ne convient pas aux contraintes établies pour un chemin donné, le processus de gestion détermine un chemin alternatif. Une fois le calcul achevé, une option d'installation permet ou non au logiciel de gestion, d'éliminer les liens inutiles des matrices Dk et Rk.
Le procédé de l'invention peut être mis en œuvre par un nœud physique comportant des calculateurs, des mémoires et des moyens classiques de gestion de réseaux incluant des encodeurs, décodeurs, unités de transmission, IGP et autres. Un tel noeud comporte également des moyens spécifiques adaptés pour la mise en œuvre du procédé tel que décrit précédemment.
Notamment, un tel nœud comprend une unité de détermination de paramètres de ressources définissant une configuration physique du réseau physique et une configuration physique propre du routeur physique, une unité de détermination de paramètres de demandes définissant des demandes de services relatives aux réseaux virtuels ainsi qu'un comparateur entre les paramètres d'un instant courant et les paramètres d'un instant précédent, des moyens de diffusion de nouveaux paramètres vers chacun des routeurs du réseau physique, des moyens de mise à jour des paramètres de ressources et de demandes en fonction des paramètres modifiés,
un calculateur adapté pour la détermination de topologies pour les réseaux virtuels à l'aide des paramètres mis à jour.
En outre, un tel nœud peut comprendre une unité de contrôle de la disponibilité des ressources pour un réseau virtuel.
L'invention peut également être mise en œuvre par un programme d'ordinateur chargé dans une mémoire et adapté pour la mise en œuvre des étapes du procédé décrit précédemment lorsque le programme est exécuté par un calculateur.