Tutorat 6 - Introduction au Routage et OSPF Le défi: comment choisir une route à travers un réseau L'algorithme de routage ◦ Méthode utilisée dans un logiciel de la couche réseau pour décider quelle ligne de sortie est utilisée pour acheminer un paquet ◦ Utilise une table qui associe les nœuds de réseau aux lignes de sorties ◦ Algorithme définit la façon de créer cette table Algorithmes Dijkstra Stratégie état de liaison Protocole OSPF (Open Shortest Path First) 2 Exact et simple ◦ Un routage simple qui donne le chemin le plus correct à travers le réseau Robuste et stable ◦ Capacité du réseau de livrer les paquets malgré la congestion et les faillites locales des parties du réseau ◦ Mais les techniques pour rendre le réseau robuste (ex., changé la direction du trafic) peut affecter la stabilité Optimal et juste ◦ Trouver les routes optimales fait compétition à être juste entre les stations Efficacité ◦ Pénalité pour la capacité du réseau utilisé pour la réalisation des attributs (ex., robuste et juste) doit valoir le bénéfice de l’attribut 3 Stallings Figure 12.1 4 Définit un graphique de toutes les liaisons du réseau avec un distance entre chaque nœud ◦ Distance peut représenter: a) nombre de saut, b) distance géographique, c) délai de file d’attente et de transmission. ◦ En général, la distance peut être calculée à partir de plusieurs critères: distance, largeur de bande, coût de communication, trafic moyen, longueur moyenne de file d’attente, etc. Calcule le chemin le plus court entre tous les nœuds, où le coût du chemin égale l’addition des coûts de toutes les liaisons qui composent le chemin 5 N = ensemble des nœuds du réseau s = nœud source T = ensemble des nœuds considérés par l’algorithme jusqu’à présent w(i,j) = coût du nœud i au nœud j; w(i,i)=0 et w(i,j) = ∞ si les deux nœuds ne sont pas liés directement; w(i,j) ≥ 0 si le deux nœuds sont liés directement L(n) = coût du chemin le plus court du nœud s au nœud n, calculé jusqu’à présent 6 Étape 1: Initialisation Étape 2: Prochain nœud Étape 3: Mettre à jour les coûts ◦ Initialise T = {s} , i.e. les nœuds considérés contient le nœud source ◦ L(n) = w(s,n) pour n ≠ s, i.e. coût des chemins au début égale coût des liaisons ◦ Trouvez le nœud voisin x qui n’est pas dans T, ayant le chemin le plus court du nœud s. Ajoutez ce nœud x à T. ◦ Mettre à jour les coûts des chemins en considérant les voisins du nœud x ajouté à M. Si les voisins de w offre un chemin L(n) plus court, le nouveau chemin replace le vieux. ◦ L(n) = min[L(n), L(x) + w(x, n)] for all n ∉ T Répétez les étapes 2 et 3 jusqu’à ce que tous les nœuds fassent partie de T 7 Itér. Appliquez l’algorithme à l’exemple de réseau pour le nœud 1 T L(2) Voie L(3) Voie L(4) Voie L(5) Voie L(6) Voie 1 {1} 2 1-2 5 1-3 1 1-4 ∞ - 2 {1,4} 2 1-2 4 1-4-3 1 1-4 2 1-4-5 3 {1,2,4} 2 1-2 4 1-4-3 1 1-4 2 1-4-5 ∞ ∞ ∞ - 4 {1,2,4,5} 2 1-2 3 1-4-5-3 1 1-4 2 1-4-5 4 1-4-5-6 5 {1,2,3,4,5} 2 1-2 3 1-4-5-3 1 1-4 2 1-4-5 4 1-4-5-6 6 {1,2,3,4,5,6} 2 1-2 3 1-4-5-3 1 1-4 2 1-4-5 4 1-4-5-6 8 - 9 Appliquer l’algorithme Dijkstra pour déterminer le tableau d’acheminement du noeud 5 L’algorithme Dijkstra est utilisé dans le routage état de liaison ◦ Chaque routeur envoie un paquet d'état de liaison (LSP link state packet) à ses voisins (le LSP contient de l'information au sujet de l'état de chaque liaison du routeur) ◦ Un routeur envoie son LSP ainsi que les LSP qu'il a reçus ◦ Éventuellement, tous les routeurs connaissent l'état de toutes les liaisons du réseau ◦ Un routeur prend ses décisions d'acheminement à partir de l'information de sa base de données d'état de liaison utilisant par exemple l'algorithme du chemin le plus court tel que l’algorithme Dijkstra 11 IRP (internet routing protocol) de L’Internet Remplace le “Routing Information Protocol” (RIP) Utilise la stratégie état de liaison ◦ Chaque routeur entretien un liste le ses liaisons aux réseaux locaux et les coûts associés à ces liaisons ◦ Transmet des mis à jour des ces informations à tous les autres routeurs ◦ Trafic réduit puisque les messages sont petits et envoyés peu souvent ◦ RFC 2328 Les chemins avec les coûts le plus bas sont choisis en se basant sur les coûts de liaisons obtenus des autres routeurs 12 J’envoie mes informations à tous les autres routeurs J’envoie mes informations à tous les autres routeurs J’envoie mes informations à tous les autres routeurs J’envoie mes informations à tous les autres routeurs J’envoie mes informations à tous les autres routeurs J’envoie mes informations à tous les autres routeurs 13 La topologie du réseau sauvegardé comme un graphe orienté (directed graph) Sommets ou nœuds ◦ Routeur ◦ Réseau Transit – porte données dont la source ni la destination est branchée au réseau Tronqué – n’est pas un réseau transit Arcs ◦ Arc de graphe Connecte deux routeurs avec liaison point à point Connecte un routeur et un réseau (routeur branché au réseau) 14 15 Source Réseau Coût Voisin 16 17 Source Réseau Coût Voisin 18 19 20 Réseau Coût Prochain Routeur 21