• Aucun résultat trouvé

Les algorithmes de routage inter-domaines multi-contraintes

3.2 Les solutions analytiques

3.2.2 Les algorithmes de routage inter-domaines multi-contraintes

Dans ce paragraphe, nous présentons d’abord les algorithmes de base les plus uti- lisés pour le routage intra-domaine multi-contraintes SAMCRA et H-MCOP. Ensuite, nous discutons les améliorations qui ont été apportées à ces algorithmes afin de résoudre le problème de routage inter-domaines multi-contraintes. Par la suite, nous présentons, d’autres exemples d’algorithmes qui ont été proposés pour résoudre ce problème.

3.2.2.1 Les algorithmes SAMCRA et H-MCOP

L’algorithme SAMCRA (Self Adapting Multiple Constraints Routing Algorithm) [96] est un algorithme exact de routage multi-contraintes.

Pour trouver le chemin optimal entre un nœud source S et un nœud de destination D, il faut appliquer le concept de calcul des K plus courts chemins présenté dans le paragraphe précédent,au niveau de chaque nœud intermédiaire. La complexité de SAMCRA dépend du nombre de contraintes de qualité de service k, et du nombre de chemins mémorisés dans un nœud intermédiaire.

L’algorithme H-MCOP (Heuristic Multi-Constrained Optimal Path) [55]est un algo- rithme heuristique. Cet algorithme a pour objectif de limiter les fonctions de coût non linéaires. H-MCOP offre de bonnes performances pour résoudre le problème MCOP, avec un niveau de complexité très faible puisqu’il fonctionne en se basant sur l’algorithme de Dijkstra [27] (avec des modifications limitées).

3.2.2.2 L’algorithme inter-domaines MCP

Les principes des algorithmes SAMCRA et H-MCOP , qui sont utilisés dans le calcul des chemins intra-domaine multi-contraintes, sont adaptés pour le calcul de ces chemins dans le cas inter-domaines. L’algorithme inter-domaines MCP (ID-MCP) [14],qui est une adaptation directe de ces algorithmes, utilise les mêmes principes pour réduire l’espace de recherche, et permet d’offrir une solution au problème Inter-MCP. Contrairement au SAM- CRA ou H-MCOP, ID-MCP permet de calculer les chemins inter-domaines tout en pré- servant la confidentialité de la topologie et des informations sur les ressources réseau. En outre, SAMCRA et H-MCOP ne permettent pas de calculer un chemin multi-contraintes

à partir de plusieurs sources vers une seule destination. En fait, H-MCOP est conçu pour calculer des chemins entre deux nœuds seulement, à savoir une source et une destination, et SAMCRA peut être utilisé pour calculer les chemins d’une source vers plusieurs desti- nations. Ainsi, ID-MCP a adapté le principe de calcul de SAMCRA en inversant le sens des calculs. Par conséquent, ID-MCP calcule les chemins à partir d’une seule destination en revenant vers de multiples sources qui représentent les nœuds périphériques connectés au domaine précédent. Afin que ID-MCP puisse fonctionner dans un domaine, la topo- logie et l’état des liens du domaine considéré, et l’état des liens connectés à ce domaine, doivent être connus.

La procédure de calcul d’un segment de chemin dans chaque domaine est basée sur une file d’attente qui mémorise les plus courts chemins à partir de chaque nœud intermédiaire vers le nœud de destination. Le résultat des calculs, dans chaque domaine, est un arbre VSPT (Virtual Shortest Path Tree) qui indique un ou plusieurs chemins virtuels non- dominés vers le domaine de destination.

Cependant, ID-MCP ne permet pas le calcul des segments de chemin parallèles, ou le pré-calcul des segments de chemin. En outre, ID-MCP répète les mêmes calculs, plusieurs fois, si plusieurs chemins non dominés sont présents dans la VSPT pour la même entrée. Cela rend ID-MCP plus lent et plus complexe. Pour cela, des améliorations de ID-MCP ont été proposées, que nous présentons dans le reste de cette sous-section.

3.2.2.3 Les algorithmes pID-MCP et kpID-MCP

L’algorithme pID-MCP est un algorithme de pré-calcul de chemin inter-domaines multi-contraintes. Le fonctionnement de pID-MCP [15] est similaire à ID-MCP dans la mesure où il est également basé sur l’algorithme SAMCRA. La différence entre les deux algorithmes réside dans le fait que pID-MCP pré-calcule les segments de chemin non- dominés à partir de chaque entrée du domaine vers l’entrée du domaine suivant, et donc il effectue des comparaisons de non-dominance selon la destination de chaque élément. Ainsi, au moins, un chemin faisable non-dominé par destination est stocké au niveau de chaque nœud intermédiaire. Par conséquent, si un domaine est connecté au domaine sui- vant par plusieurs nœuds d’entrée, un grand nombre de chemins doit être mémorisé par pID-MCP, ce qui peut augmenter la complexité du calcul de pID-MCP. Cependant, dans des configurations de réseau réels, le nombre de nœuds reliant deux domaines est très limité.

En outre, dans pID-MCP les poids initiaux sont considérés égaux à zéro pour les élé- ments récupérés de l’arbre VSPT reçue du domaine en aval. Ainsi, les opérations effectuées par pID-MCP, pour extraire l’arbre VSPT de la file d’attente, sont différentes de celles réalisées par ID-MCP. L’algorithme pID-MCP doit combiner les segments calculés dans le domaine avec les nœuds de bordures virtuelles de la VSPT précédente, et calculer les poids de bout en bout des chemins calculés .

au niveau de chaque nœud puisqu’il réduit le nombre d’éléments ou de chemins pris en compte dans la file d’attente initiale pour chaque domaine, et il réduit ainsi la complexité de calcul.

L’algorithme kpID-MCP est une heuristique de l’algorithme pID-MCP ; il est basé sur l’algorithme TAMCRA (Tunable Accuracy Multiple Constraints Routing Algorithm) [72] qui est également l’heuristique SAMCRA. Il peut fournir, à la fois, une excellente performance par rapport à la qualité du chemin calculé, et une réduction significative de la complexité du calcul. L’algorithme kpID-MCP limite le nombre de chemins mémorisés par nœud, ce qui permet de résoudre le problème de la complexité. Toutefois, les chemins mémorisés doivent être choisis avec soin parmi les nombreux chemins disponibles de sorte que le chemin de bout en bout est le plus proche possible du chemin optimal.

3.2.2.4 L’algorithme ID-MCOP-MDR

Dans cette sous-section, on présente un algorithme distribué pour la gestion de la QoS de bout en bout en inter-domaines [29], cet algorithme calcule les chemins inter- domaines qui satisfont des contraintes de QoS et traversent un ensemble de domaines, et ceci en considérant plusieurs routes inter-domaines. Ceci consiste à trouver des chemins qui respectent le vecteur de contraintes C[j] (où C[0] est la contrainte de la bande passante et les autres composants de poids sont les métriques QoS additives de QoS), et respectent également la règle de non-dominance depuis le nœud source ’s’ au nœud de destination ’t’ à travers un ensemble de routes inter-domaines ’S’.

Quand un chemin optimal est requis, l’optimisation peut être effectuée afin de déter- miner le chemin optimal ˆps,t.

Ceci est connu comme le problème de chemin optimale Multi-contrainte (MCOP). L’ob- jectif de cet algorithme est de résoudre le problème MCOP dans le cas inter-domaines, nommé le problème ID-MCOP-MDR (Inter-Domain Multi-Constrained Optimal Path Over Multiple Domain Routes) .

L’algorithme est basé sur quatre principaux points :

1. La fonction de longueur : c’est une fonction de la longueur non-linéaire repré- sentée par l’équation (3.11), qui est une combinaison des poids et des contraintes. Après avoir reçu une demande de meilleur chemin, la minimisation de cette fonction permet d’avoir le chemin optimal.

l∞(p) = max " w1(p) C1 , ...,wm(p) Cm # (3.4) wi(p)est le vecteur de poids, et Ci est le vecteur de contraintes.

2. Le stockage des k plus courts chemins : Au lieu de stocker un plus court

chemin, chaque nœud intermédiaire, y compris les nœuds frontières, des domaines traversés stocke k-plus courts chemins. La diversité des chemins au niveau des nœuds

d’entrée permet aux administrateurs réseau de choisir les nœuds d’entrée offrant la meilleure réponse aux politiques de QoS internes.

3. La non-dominance :Pour réduire l’espace de recherche et par conséquent diminuer la complexité de calcul, chaque nœud intermédiaire ne conserve que les chemins non dominés.

4. La segmentation de chemin : Après avoir calculé les chemins non-dominés au sein des domaines intermédiaires, au lieu d’envoyer un chemin complet, les unités de calcul envoient une abstraction de chemin ou un segment de chemin, ses carac- téristiques de QoS et le coût de chemin. Une fois reçus, les segments de chemin sont concaténés au graphe du domaine.

L’algorithme ID-MCOP-MDR permet d’augmenter la possibilité de trouver un chemin inter-domaines multi-contraintes en explorant un ensemble de routes inter-domaines et non seulement une seule route. Cependant, l’algorithme présente certaines limites, en ce qui concerne la prévention de boucles inter-domaines et également l’augmentation observée dans le temps d’exécution.