Rappels de S2

Attention, c'est assez long mais plutôt complet

Introduction

La petite histoire

Le routage, c'est [biiiip]

Il était une fois, des informaticiens fainéants à souhait et à raison.

« - Ouais, quelle galère ! Pffff.
- Ne m'en parles pas. Pffff.
- Et en plus, il faut tout configurer à la main. Pffff.
- Tiens ? il y a de l'écho.
- Pffff.

 

C'est parce que nos informaticiens sont fainéants mais intelligents qu'ils ont inventé l'automatisation des processus compliquées et répétitifs.

Pour faire du routage compliqué dans un environnement à plusieurs routeurs, les calculs sont à la hauteur de la complexité.

On va donc développer un protocole pour que les calculs soient automatisés.

 

« - C'est génial (comme moi, bien sûr) Et maintenant, plus besoin de se palucher les calculs.
- Non, c'est moi le génial ici.
- Pffff.»

 

- Bon aller, un p'tit caf' pour la route ?
- Ok-dac' Mais rapidos, hein ? Pas par l'ascenseur n°3.»

 

Routage en réseau de routeurs

Bon, on passe aux choses sérieuses

Analyse par l'exemple

Soit le réseau de routeurs suivant :

« - Ouuuh làààà, C'est pas le même problème que le routage statique!
- M'en parles pas. Pffff.
- Et en plus, il faut tout se configurer à la main ? Pffff.
- Tiens ? il y a de l'écho.
- Quoi ? Encore ?.
- Eh ouais. Pffff.»

Effectivement, c'est trop compliqué.

Ici, le protocole STP ne sert à rien, tous les liens appartiennent à des réseaux différents donc pas de port bloqué.

« Ch'sait pas quoi faaaaire. Qu'est-ce que j'dois faaaaire. »

On pourrait utiliser des routes "flottantes", dont la métrique est artificiellement mise à plus que 1, mais la configuration manuelle ne serait pas forcément optimisée.

C'est là que mon ami Dijkstra (prononcer [dɛɪkstra]) intervient.

« Il flotte une drôle d'athmosphère ici. »

 

Recherche des routes

Réseau de travail

Nous allons choisir arbitrairement les routes suivantes comme étant les meilleures.

Les lans sont configurés de la façon suivante (les passerelles sont les adresses des interfaces des routeurs en direction d'internet le plus directement :

Couleur Routeurs de - àLANAdresse/masque Passerelle (Pour info)
gris 1, gaucheR0 - P0LAN0192.168.0.0/24192.168.0.1  0 = 0000 0000
bleu, internetR0 - C0LANiFAI FAI -
jaune R2 - R1LAN1192.168.16.0/24192.168.16.1 16 = 0001 0000
rose 1 R3 - R2LAN2192.168.32.0/24192.168.32.1 32 = 0010 0000
vert R4 - R5LAN3192.168.48.0/24192.168.48.1 48 = 0011 0000
rose 2 R5 - R1LAN4192.168.64.0/24192.168.64.1 64 = 0100 0000
orange R4 - R2LAN5192.168.80.0/24192.168.80.1 80 = 0101 0000
cyan, bleu clairR3 - R4LAN6192.168.96.0/24192.168.96.1 96 = 0110 0000
violet/bleuR6 - R3LAN8192.168.128.0/24192.168.128.1 128 = 1000 0000
gris 2, droiteP3 - R6LAN12192.168.192.0/24192.168.192.1 192 = 1100 0000

Remarque : le choix des adresses est fait pour que les lans puissent être groupés en direction d'internet afin de simplifier la route par défaut.
On verra si ça marche, je fait le test durant la rédaction du cours ...

Configuration du routeur Cisco n° 2

Nous allons choisir arbitrairement les routes suivantes comme étant les meilleures.

Le routeur R2 sera configuré afin que les routes vers les LAN0 (gris), LAN2 (rose1), LAN3 (vert), internet et LAN7 (violet) et 8 (gris clair) passent prioritairement par le routeur 4 et non le routeur 0.

Peut-on regrouper des routes ?

  1. Définir les routes connectées (C) => LAN1 (jaune), LAN2 (rose1), LAN5 (orange)
  2. Regrouper les routes vers les réseaux distants en fonction des octets

 

Regrouper les réseaux LAN8 et 12 car ils commencent tous les deux par 1000 0000/17. On obtient (à vous de faire le calcul) :

 

Comme tous les autres réseaux commencent par 0, il devient possible de regrouper LAN8 et LAN12 en une seule règle.

On a une première route statique :

typeAdresseMasque Passerelle Interface Métrique
S 192.168.128.0255.255.128.0192.168.80.1 (R4.LAN5)R2.LAN5 (192.168.80.2)1

 

Tous réseaux les autres seront regroupés dans la route par défaut.
Cela n'est pas génant pour LAN1 et LAN2 car la métrique de la route par défaut sera supérieure (1) à celle des réseaux directement connectés (0). En cas d'envoi vers les LAN1 ou 2, les paquets sortiront vers les interfaces directement connectées.
Pour le reste, on passe par le routeur 4, comme avant. On obtient la route par défaut suivante :

typeAdresseMasque Passerelle Interface Métrique
S 0.0.0.00.0.0.0192.168.80.1 (R4.LAN5)R2.LAN5 (192.168.80.2)1

 

« Hé, mais ... les deux routes ont la même passerelle et la même interface !?
- T'as raison, dis donc. Ben on peut les regrouper aussi. Tout ce qui passe par la route par défaut fait partie de n'importe quel autre réseau !!!
- Et c'est le routeur 4 qui fera la part des choses. »

 

Exactement. On va donc avoir qu'une seule route pour tous les sous-réseaux. Pratique !

La table de routage du routeur 2 se résume donc à celle-ci :

typeAdresseMasque Passerelle Interface Métrique
C192.168.16.0255.255.255.0192.168.16.1 (R2.LAN1)R2.LAN1 (192.168.16.1)0
C192.168.32.0255.255.255.0192.168.32.1 (R2.LAN2)R2.LAN2 (192.168.32.1)0
C192.168.80.0255.255.255.0192.168.80.1 (R2.LAN5)R2.LAN5 (192.168.80.1)0
S* 0.0.0.00.0.0.0192.168.80.1 (R4.LAN5)R2.LAN5 (192.168.80.2)1

 

 

Routes flottantes

Re-Configuration du routeur Cisco n° 2

On va améliorer la config en mettant des routes flottantes (alternatives) afin qu'en cas de rupture de connexion, on puisse quand même acheminer les paquets.
Notre table devient :

typeAdresseMasque Passerelle Interface Métrique
C192.168.16.0255.255.255.0192.168.16.1 (R2.LAN1)R2.LAN1 (192.168.16.1)0
C192.168.32.0255.255.255.0192.168.32.1 (R2.LAN2)R2.LAN2 (192.168.32.1)0
C192.168.80.0255.255.255.0192.168.80.1 (R2.LAN5)R2.LAN5 (192.168.80.1)0
S 192.168.128.0255.255.128.0192.168.32.1 (R3.LAN2)R2.LAN2 (192.168.32.2)130
S 0.0.0.00.0.0.0192.168.16.1 (R1.LAN1)R2.LAN1 (192.168.16.2)130
S* 0.0.0.00.0.0.0192.168.80.1 (R4.LAN5)R2.LAN5 (192.168.80.2)1

Route flottante : ce sont des routes alternatives dont la métrique est supérieure à 1 et souvent supérieure à 120 qui est la "distance administrative" des routes découvertes par le protocole de routage dynamique RIP. Cela les rend moins intéressantes que les autres mais elle seront empruntées si aucune route moins chère n'est disponible.

A noter que ce même système permet de créer une répartition de charge entre deux routeurs connectés au même réseau distant (/ex. internet) comme dans le schéma suivant :

 

Conclusion ?

« Bon, Ça suffit ces trucs de configurer manuellement des routes à la noix. Si le réseau est aussi compliqué, on n'aurait pas moyen de faire du routage dynamique, du vrai, du qui sent le fauve et pas le bug de config ?
- meuhh oui, t'énerve pas, il suffit de demander.
- Ha ? On peut le faire ?
- Oui ! On peut le faire !
- Bon. Alors ok, C'est bien. Il suffisait de le dire. »

 

Routage dynamique (enfin)

La théorie, rapidos

« Hello!
- Hello!
- Je suis R1. T'est qui toi ?
- Je suis R2, et toi ?
- Salut D2, t'as des réseaux connectés à toi ?
- Eh ouais. je te propose LAN2 et LAN5 gratis. LAN8 et 12 sont juste un peu plus loin donc ils sont à 1 chacun et R4 m'a filé les LANs LAN4 et LAN6 pour 2 la pièce.
- Super, je connaissais déjà LAN4 pour moins cher et LAN5 et 6 pour 2 via R5. C'est plus rapide par chez toi pour le 5 et le 6. Merci, aplus.
- Ciao. »

Le retour du routage

Nous avons vu les informations qu'il nous faut pour effectuer le choix de la route plus haut et dans le routage statique.
Cependant, une information doit être précisée. Comment évaluer ce chemin ?

Pour aller dans un réseau, on doit connaître :

  • L'adresse réseau que l’on souhaite joindre
  • Le masque du réseau à atteindre
  • Le chemin à emprunter = le routeur suivant qui permet de rejoindre la destination et par quelle interface l’atteindre)
  • L'interface qui permet de l’atteindre
  • [new] Sa distance administrative (métrique) : +/- = le niveau de confiance de la route à emprunter. On utilisera la DA la plus petite (1 pour une route statique, 110 pour ospf, 120 pour RIP….)
  • [new] Le protocole utilisé : S pour statique, O pour OSPF, R pour RIP…

 

Échanges de politesses

Les routeurs fonctionnent par contiguïté de voisinage (ils sont "côte à côte", en relation directe de l'un à l'autre)

Ils échangent alors des hello pour se reconnaître avant de s'échanger des infos :

  1. Échange d'annonces à état de liens (LSA - link state announce)
    • quel est l'état (up/down) et combien coûte chaque lien directement connecté
    • chaque voisin retransmet les LSA vers les autres routeurs
  2. Création de la base de données des LSA
    • les routeurs construisent leur base : LSDB (link state database) => topologie de la zone

Pour plus de précision techniques sur le protocole, suivre par exemple la certification CCNA3 de Cisco ou l'étudier sur internet

 

Avec ça, les routeurs vont pouvoir calculer le meilleur chemin vers leurs destinations (les réseaux distants)

 

« Mais alors, chaque routeur connait toutes les routes du monde ?
- Non, pas besoin, il y a convergence des routes qui se ressemblent vers des routes par défaut, comme avant.
Par exemple, toutes les adresses qui commencent par 193 sont en général en Asie du Sud-Est. Donc il y aura une seule route vers elles (193.0.0.0/8).
En plus, si la config du routeur ou la topologie du réseau est modifiée, le routeur le détecte et échange immédiatement les nouvelles infos avec ses voisins. »

Les protocoles IGP

Il existe plusieurs protocoles de calcul qui font partie des protocoles de routage dynamiques internes (au réseau) : les IGP (Interior gateway protocol).

Quelques définitions :

Délai de convergence : c'est le temps que mettent les routeurs à trouver un "meilleur" itinéraire lors d'un changement de topologie (lien rompu ou établi, modif de config).

Distance administrative (DA) : Cette distance est affectée en fonction du protocole supporté par les routeurs. Elle indique la «fiabilité» de la route. Plus la valeur de l'AD est faible, plus la source est fiable. Si deux routes identiques ont une DA différente, celle qui a la DA la plus petite sera privilégiée

DA et métrique

La métrique affichée par une table de routage est en fait la Distance Administrative (DA).

La métrique utilisée par les protocoles de routage dynamique est un ensemble de mesures pour calculer le "coût" d'une route.

Liste des protocoles les plus courants

Liste des protocoles les plus courants et métriques de calcul des Distance Administrative associée :

Protocoles de routageMétriques de mesure des DA
RIP
(Routing Information Protocol)

La métrique est le «nombre de tronçon».
Chaque routeur ajoute un saut au nombre de sauts par routeur traversé le long d'un chemin.
Le nombre maximum est de 15 tronçons autorisés.

OSPF
(Open Shortest Path First)

La métrique est un «coût» basé sur la bande passante cumulée de la source à la destination. Les liens plus rapides obtiennent un coût inférieur par rapport aux liens plus lent (coût plus élevé). Un peu comme STP.

EIGRP
(Enhanced Interior Gateway Routing Protocol)

La métrique est le résultat d'un calcul d'une mesure basée sur la bande passante la plus lente et le délai k.
Il pourrait également inclure la charge et la fiabilité dans le système de calcul de la métrique.

Source : Cisco CCNA2 Base de la comutation, routage et wifi

Dans ces circonstances, les chemins peuvent varier selon qu'on utilise RIP ou OSPF avec un mélange de liens fastEthernet et gigabitEthernet.

 

Les DA des protocoles permettent d'attribuer une valeur de DA aux routes (cela permet de conserver une certaine compatibilité des protocoles). Ci-dessous, une liste des protocoles et distances administratives associées aux routes :

Mode de connexionDA Mode de connexionDA
réseau connecté0IS-IS115
route statique1RIP120
Ext-BGP (Cisco)20Int-BGP (Cisco)200
Int-EIGRP (Cisco)90Autre, inconnu255
OSPF (Open)110 

Cette table explique pourquoi nous pouvons éviter l'utilisation d'une route en mettant une DA assez grande.

 

Nous étudierons OSPF (Open Shortest Path First, wiki)

Je vous conseille aussi de vous pencher sur RIP (Routing Information Protocol, wiki)

OSPF ou RIP ? versions ?

RIP (Routing Information Protocol) est un protocole à vecteur de distance (il calcule la longueur des chemins, les sauts) et utilise l'adresse IP 224.0.0.9 ou le broadcast avec le pour UDP 520.

OSPF remplace le protocole RIP (Routing Information Protocol). Il est plus optimisé car il ne communique que les changements et non l'intégralité de sa table de routage.

Si RIP compte les sauts (une métrique simple), OSPF se préoccupe aussi de "l'état des liaisons" qui est le résultat d'un calcul de coût selon le type de liaison (satellite, wifi, fibre, etc.).

OSPF utilise le port 89 et les adresses 224.0.0.5 et 224.0.0.6 ou IPV6 FF02::5 et FF02::6

 

Il existe trois versions d'OSPF

  • V1 : OSPF origine
  • V2 : Intégration de l'authentification dans le protocole pour résoudre des problèmes de sécurité (voir MitM en Bloc 3)
  • V3 : OSPF legacy (V1+authentification) avec IPv6

 

Notion de Zone de routage

Encore des définitions :

Zone : Une zone (area) est un regroupement logique de routeurs (pour réduire la complexité de (auto) configuration).
Les relations inter-zones sont faibles, peu d'informations sur la structure échangées.

Rôle : Un routeur peut prendre en charge différents rôles : opérations dans la zone, connexion inter-zones ou/et connexion avec des routeurs non OSPF

Selon la hiérarchie établie, on a les rôles suivants :

  • IR (Internal Router) : routeur interne (à la zone), fait son job de routeur normal
  • BR (Backbone Router) : routeur backbone, tout routeur IR doit être connecté ici
  • ABR (Area Border Router) : routeur de bord de zone (inter-zone, au moins 2)
  • ASBR (Autonomous System Boundary Router) : routeur de connexion avec des systèmes autonomes (/ex internet, équiv passerelle de la zone)

 

Quiz

Petites questions ...

Question Réponse
1
Quelle est la distance administrative pour une connexion directe ?
2
Associer la lettre au type de réseau
C =

O =

R =

S =
3
Quel(s) protocole(s) calcule(nt) la distance administrative sans tenir compte de la bande passante ?
OSPF

RIP

EIGRP
4
Un administrateur ajoute une route statique identique à OSPF avec un autre interface. Quelle route sera empruntée ?
A : la route OSPF car elle est automatique
B : la route statique car elle est saisie manuellement
C : la route statique car sa métrique est inférieure
D : la route statique car elle a une distance administrative plus faible
E : la route OSPF car sa métrique est inférieure
F : la route OSPF car elle a une distance administrative plus faible

 

Dijkstra

Histoire, théorie et usage

Dijkstra, mathématicien, informaticien

En 1959, Dr. Edsger W. Dijkstra (NL) publie un article de 3 pages intitulé "Une note sur deux problèmes en relation avec les graphes" où il explique un nouvel algorithme révolutionnaire.

Quel est le chemin le plus court pour voyager de Rotterdam à Groningen?
C'est l'algorithme pour le chemin le plus court, que j'ai conçu en environ 20 minutes.
Un matin, je faisais du shopping à Amsterdam avec ma jeune fiancée, et fatigués, nous nous sommes assis sur la terrasse du café pour boire une tasse de café. Durant ce moment, je pensais juste à savoir si je pouvais le faire, et j'ai ensuite conçu l'algorithme pour le chemin le plus court. Comme je l'ai dit, c'était une invention de 20 minutes. En fait, il a été publié en 1959, trois ans plus tard.
La publication est encore assez sympa. L'une des raisons pour lesquelles c'est si agréable, c'est que je l'ai conçu sans crayon ni papier.
Sans crayon et papier, vous êtes presque obligé d'éviter toutes les complexités évitables. Finalement, cet algorithme est devenu, à mon grand étonnement, l'une des pierres angulaires de ma renommée.

Edsger W. Dijkstra (Wiki) voir les notes et références

 

Cet algorithme est entré en concurrence la même année avec celui de Bellman-ford utilisé dans RIP et la programmation linéaire (plus proche de MPM).

La différence majeure est que l'algo de dijkstra n'admet pas de liens de poids négatifs.

Algorithme de routage

L'utilisation de l'algorithme de Dijkstra est quasi universel pour trouver le chemin le plus court entre les nœuds dans un graphique. Surtout pour trouver le chemin le plus court d'un nœud (appelé "noeud source") vers tous les autres nœuds du graphique, produisant un arbre de plus court chemin.

Cet algorithme est utilisé dans les logiciels de navigation (boitiers "GPS") pour trouver le chemin le plus court entre la position courante et une destination.
Les applications dans l'industrie sont multiples, en particulier dans les domaines nécessitant la modélisation des réseaux. Par exemple : gestionnaires de tournée de livraison, chemins pour les billets de train et, bien sûr, le routage informatique.

 

Voir des explications plus détaillées sur internet, /ex. wiki pour commencer.

 

Ce qui est intéressant, c'est que la démarche ressemble un peu à celle du calcul de durée d'un projet avec MPM ... Voyons cela avec un exemple.

 

Exemple en informatique

Voir aussi le diaporama de cours, vue ... en cours

Construire la base de données des états des liens (LSDB)

Le réseau (info) précédent nous donne le réseau (math) suivant :

Le routeur 2 est arbitrairement choisi comme source. Les liens rouges sont des fibres optiques en 10Gbps, le reste sont des liens en 1Gbps

L'algorithme global est le suivant :

Valeurs des métriques des liens

Bande passantecoût attribué
10Gb1
1Gb4
  • L'algo commence essentiellement au nœud choisi (source). Il analyse ensuite le graphe du réseau pour trouver le chemin le plus court entre ce nœud et tous les autres nœuds.
  • L'algo garde la trace de la distance la plus courte actuellement connue entre chaque noeud et le noeud source et met les valeurs à jour s'il trouve un chemin plus court.
  • Quand l'algorithme a trouvé le chemin le plus court entre le nœud source et un autre nœud, ce nœud est marqué comme "visité" et ajouté au chemin final.
  • L'algo traite chaque nœud jusqu'à ce que tous les nœuds aient été ajoutés au chemin. Nous obtenons alors un chemin qui relie le nœud source à tous les autres nœuds en suivant le chemin le plus court possible pour atteindre chaque nœud.

Appliquons les DA (calculées avec les métriques d'OSPF) au liens du routeur 2 :

 

Etape 1 : A

Phase 1 : déterminer la source

On a notre routeur Source : le routeur 2 (repéré A), choisi arbitrairement.

Pour chaque chemin vers un autre routeur, on aura un couple de données : (parent, poids) qui correspond au parent du routeur dans le chemin et au poids du lien pour le rejoindre.

Initialisation : au début, tous les couples ont un poids infini car on ne connait pas de chemin idéal. Le parent est aussi inconnu.

 

ÉtapeNoeudsABCDEF
Coût depuis A
Chemin depuis A{Ø}{Ø}{Ø}{Ø}{Ø}{Ø}
Init{A, B, C, D, E, F}(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )
1 : ?       

 

Phase 2 : calcul des coûts

On peut noter tous les enfants ayant A pour parent. C'est-à-dire les noeuds B, C et D ou routeurs 1, 3 et 4.

Pour chaque chemin vers A, on valide le couple de données : (A, poids du lien) correspondant.

 

ÉtapeNoeudsABCDEF
Coût depuis A0441
Chemin depuis A{A}{A,B}{A,C}{A,D}{Ø}{Ø}
Init{A, B, C, D, E, F}(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )
1 : A{B, C, D, E, F}(A, 0)(A, 4)(A, 4)(A, 1)(Ø, )(Ø, )
2 : ?       

Etape 2 : D

On va traiter le noeud D, c'est le moins cher (routeur 4).

Le poids du lien sera augmenté du coût nécessaire pour aller du noeud parent du noeud courant : le noeud A est le parent du noeud C.

Ainsi, le lien vers E aura un coût de 1 (le lien)+1 (le coût de A vers D).

 

Pour chaque chemin depuis D (vers C et E), on valide le couple de données : (D, poids du lien) correspondant. Sauf que ...

Sauf que C a déjà un couple formé. On prenda donc le couple dont le coût est le moins cher. C'est-à-dire : (D, 2)

 

ÉtapeNoeudsABCDEF
Coût depuis A04212
Chemin depuis A{A}{A,B}{A,D,C}{A,D}{A,D,E}{Ø}
Init{A, B, C, D, E, F}(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )
1 : A{B, C, D, E, F}(A, 0)(A, 4)(A, 4)(A, 1)(Ø, )(Ø, )
2 : D{B, C, E, F}(A, 0)(A, 4)(D, 2)(A, 1)(D, 2)(Ø, )
3 : ?       

On valide le noeud D.

 

Etape 3 : E ou C ?

Bon, maintenant, nous avons le choix entre traiter E ou C. Le choix se fera sur le coût le plus faible ou, à défaut, sur la lettre la plus petite (il faut bien faire un choix ...).

On va donc traiter le noeud C.

 

Pour chaque chemin depuis C (vers A et F), on valide le couple de données : (C, poids du lien) correspondant. Sauf que ...

  • Vers A, le coût est de 8 et A est déja "visité" donc on ne change rien.
  • Vers F, le coût est de 6 (2+4), donc on affecte la valeur comme elle est inférieure à "l'infini".

Sauf que A a déjà un couple formé et est "visité". On ne pourra pas toucher les valeurs de A et de toute façon, le coût existant est infrieur à celui que l'on vient de calculer

 

ÉtapeNoeudsABCDEF
Coût depuis A042126
Chemin depuis A{A}{A,B}{A,D,C}{A,D}{A,D,E}{A,D,C,F}
Init{A, B, C, D, E, F}(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )
1 : A{B, C, D, E, F}(A, 0)(A, 4)(A, 4)(A, 1)(Ø, )(Ø, )
2 : D{B, C, E, F}(A, 0)(A, 4)(D, 2)(A, 1)(D, 2)(Ø, )
3 : C{B, E, F}(A, 0)(A, 4)(D, 2)(A, 1)(D, 2)(C, 6)
4 :        

On valide le noeud C.

Pour la suite, on ne suit pas le chemin vers F car tous les chemins de D ne sont pas explorés.

 

Etape 4 : E, le second bord

Bon, maintenant, C est validé, .

On va donc traiter le noeud E, qui est le second enfant de D.

 

Pour chaque chemin depuis C (vers A et F), on valide le couple de données : (C, poids du lien) correspondant. Sauf que ...

  • Vers B, le coût est de 3, on met B à jour.

C'est tout ici.

 

ÉtapeNoeudsABCDEF
Coût depuis A032126
Chemin depuis A{A}{A,D,E,B}{A,D,C}{A,D}{A,D,E}{A,D,C,F}
Init{A, B, C, D, E, F}(Ø, )(Ø, )(Ø, ) (Ø, )(Ø, )(Ø, )
1 : A{B, C, D, E, F}(A, 0)(A, 4)(A, 4)(A, 1)(Ø, )(Ø, )
2 : D{B, C, E, F}(A, 0)(A, 4)(D, 2)(A, 1)(D, 2)(Ø, )
3 : C{B, E, F}(A, 0)(A, 4)(D, 2)(A, 1)(D, 2)(C, 6)
4 : E{B, F}(A, 0)(E, 3)(D, 2)(A, 1)(D, 2)(C, 6)
5 : ?       

On valide le noeud E.

 

Etape 5 : B, le plus petit coût

B est plus petit que F donc on passe par là

Mais pour B ...

  • le chemin vers A : déjà vu.
  • pas d'autre chemin, internet est hors de notre zone.

Il ne reste aucun noeud à visiter et on peut valider B.

 

ÉtapeNoeudsABCDEF
Coût depuis A 032126
Chemin depuis A{A}{A,D,E,B}{A,D,C}{A,D}{A,D,E}{A,D,C,F}
Init{A, B, C, D, E, F}(Ø, )(Ø, )(Ø, ) (Ø, )(Ø, )(Ø, )
1 : A{B, C, D, E, F}(A, 0)(A, 4)(A, 4)(A, 1)(Ø, )(Ø, )
2 : D{B, C, E, F}(A, 0)(A, 4)(D, 2)(A, 1)(D, 2)(Ø, )
3 : C{B, E, F}(A, 0)(A, 4)(D, 2)(A, 1)(D, 2)(C, 6)
4 : E{B, E, F}(A, 0)(E, 3)(D, 2)(A, 1)(D, 2)(C, 6)
5 : B{B, F}(A, 0)(E, 3)(D, 2)(A, 1)(D, 2)(C, 6)
6 : ?       

 

Etape 6 : F, dernière étape

F, comme B, est une routeur de bord de zone (ABR et même ASBR). Il n'y a auncun autr neod à visiter. On peut valider F.

 

ÉtapeNoeudsABCDEF
Coût depuis A 032126
Chemin depuis A{A}{A,D,E,B}{A,D,C}{A,D}{A,D,E}{A,D,C,F}
Init{A, B, C, D, E, F}(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )
1 : A{B, C, D, E, F}(A, 0)(A, 4)(A, 4)(A, 1)(Ø, )(Ø, )
2 : D{B, C, E, F}(A, 0)(A, 4)(D, 2)(A, 1)(D, 2)(Ø, )
3 : C{B, E, F}(A, 0)(A, 4)(D, 2)(A, 1)(D, 2)(C, 6)
4 : E{B, E, F}(A, 0)(E, 3)(D, 2)(A, 1)(D, 2)(C, 6)
5 : B{B, E, F}(A, 0)(E, 3)(D, 2)(A, 1)(D, 2)(C, 6)
6 : F{B, F}(A, 0)(E, 3)(D, 2)(A, 1)(D, 2)(C, 6)

On valide le noeud E.

 

Conclusion : la table de routage R2

Table de routage R2 (Source) théorique

Après avoir déroulé l'algorithme, on peu déterminer les routes suivantes :

Les réseaux sont notés comme dans le premier schéma

Type routeIP vers le LANIP passerelle InterfaceDACoût OSPF
CIP LAN1IP R2.LAN1R2.LAN104*
CIP LAN2IP R2.LAN2R2.LAN204*
CIP LAN5IP R2.LAN5R2.LAN501*
OIP LAN6IP R4.LAN5R2.LAN51102
OIP LAN4IP R4.LAN5R2.LAN51102
OIP LAN3IP R4.LAN5R2.LAN51103
OIP LAN0IP R4.LAN5R2.LAN51103
OIP LAN8IP R4.LAN5R2.LAN51106
OIP LAN12IP R4.LAN5R2.LAN51106
O*IP LANiIP R4.LAN5R2.LAN51103

(*) Remarquer que pour LAN1 (lan2 ou lan5), si la métrique OSPF = 4, comme le réseau est directement connecté, la distance dministrative est = 0.
Cempndant, cela ne présume pas qu'on passe à travers R1 pour rejoindre d'autres réseaux à partir de R2
Les couleurs plus sombres marquent la différence entre l'adresse de la passerelle et celle de l'interface du routeur
O* est la route par défaut candidate.

 

Table de routage R2 (Source) réelle

En fait, OSPF est capable de "summarizer", condenser les routes qui passent par le même lien. Il produira donc la table réelle suivante :

Type routeIP vers le LANIP passerelle InterfaceDACoût OSPF
CIP LAN1IP R2.LAN1R2.LAN104*
CIP LAN2IP R2.LAN2R2.LAN204*
CIP LAN5IP R2.LAN5R2.LAN501*
O*0.0.0.0/0IP R4.LAN5R2.LAN52

 

Table de routage R4

Chaque routeur fait aussi le calcul, mais de son propre point de vue.

Ça nous donne la LSDB de R4 suivante :

ÉtapeNoeudsABCDEF
Coût depuis A 12 10 15
Init{A, B, C, D, E, F}(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )(Ø, )
1 : D{A, B, C, E, F} (D, 1)(Ø, ) (D, 1)(D, 0) (D, 1)(Ø, )
2 : A{B, C, E, F} (D, 1)(A, 5) (D, 1)(D, 0) (D, 1)(Ø, )
3 : C{B, E, F} (D, 1)(A, 5) (D, 1)(D, 0) (D, 1)(C, 5)
4 : E{B, E, F} (D, 1)(E, 2) (D, 1)(D, 0) (D, 1)(C, 5)
5 : B{B, E, F} (D, 1)(E, 2) (D, 1)(D, 0) (D, 1)(C, 5)
6 : F{B, F} (D, 1)(E, 2) (D, 1)(D, 0) (D, 1)(C, 5)

Puis la table théorique de routage résultante :

Type routeIP vers le LANIP passerelle InterfaceDACoût OSPF
CIP LAN4IP R4.LAN4R4.LAN402*
CIP LAN5IP R4.LAN5R4.LAN501*
CIP LAN6IP R4.LAN6R4.LAN602*
OIP LAN1IP R2.LAN5R4.LAN51101
OIP LAN2IP R2.LAN5R4.LAN51101
OIP LAN3IP R5.LAN4R4.LAN41101
OIP LAN0IP R5.LAN4R4.LAN41102
OIP LAN8IP R3.LAN6R4.LAN61102
OIP LAN12IP R3.LAN6R4.LAN61105
O*IP LANiIP R5.LAN4R4.LAN41102

(*) Remarquer que pour LAN1 (lan2 ou lan5), si la métrique OSPF = 4, comme le réseau est directement connecté, la distance dministrative est = 0. Cependant, cela ne présume pas qu'on passe à travers R1 pour rejoindre d'autres réseaux à partir de R2

 

Et,enfin, la table réelle de routage résultante :

Rappel : La route choisie par le routeur pour un paquet sera la route la plus adaptée à l'adresse de destination du paquet.
L'ordre des routes n'a pas d'importance, même si on écrit (à la main) les adresses connectées en premier et la route par déafaut en dernier

Type routeIP vers le LANIP passerelle InterfaceDARemarque
CIP LAN4IP R4.LAN4R4.LAN40connecté
CIP LAN5IP R4.LAN5R4.LAN50connecté
CIP LAN6IP R4.LAN6R4.LAN60connecté
OIP LAN1IP R2.LAN5R4.LAN5110
OIP LAN2IP R2.LAN5R4.LAN5110
OIP LAN8IP R3.LAN6R4.LAN6110
OIP LAN12IP R3.LAN6R4.LAN6110
O*0.0.0.0/0IP R5.LAN4R4.LAN4110vers LAN3, 0 et i

 

Si on utilise les adresses vues au début du document, on obtient finalement :

réseau destination IP vers le LANIP passerelle InterfaceDARemarque
CIP LAN4 : 192.168.64.0/24IP R4.LAN4R4.LAN40LAN4 connecté
CIP LAN5 : 192.168.80.0/24IP R4.LAN5R4.LAN50LAN5 connecté
CIP LAN6 : 192.168.96.0/24IP R4.LAN6R4.LAN60LAN6 connecté
OIP LAN1 : 192.168.16.0/24IP R2.LAN5R4.LAN5110
OIP LAN2 : 192.168.32.0/24IP R2.LAN5R4.LAN5110
OIP LAN8 : 192.168.128.0/24IP R3.LAN6R4.LAN6110
OIP LAN12 : 192.168.192.0/24IP R3.LAN6R4.LAN6110
O*0.0.0.0/0IP R5.LAN4R4.LAN4110 vers lans 3 (192.168.48.0/24) , 0 (192.168.0.0/24) et i (FAI)

 

Et, en condensant les routes :

Type routeIP vers le LANIP passerelle InterfaceDARemarque
C192.168.64.0/24192.168.64.2 (R4.LAN4)R4.LAN4 (192.168.64.2)0LAN4 connecté
C192.168.80.0/24192.168.80.1 (R4.LAN5)R4.LAN5 (192.168.80.1)0LAN5 connecté
C192.168.96.0/24192.168.96.1 (R4.LAN6)R4.LAN6 (192.168.96.1)0LAN6 connecté
O192.168.16.0/24192.168.80.2 (R2.LAN5)R4.LAN5 (192.168.80.1)110LAN1
O192.168.32.0/24192.168.80.2 (R2.LAN5)R4.LAN5 (192.168.80.1)110LAN2
O192.168.128.0/17192.168.96.2 (R3.LAN6)R4.LAN6 (192.168.96.1)110LAN 8+12
O*0.0.0.0/0192.168.64.2 (R5.LAN4)R4.LAN4 (192.168.64.1)110 vers lans 3 (192.168.48.0/24) , 0 (192.168.0.0/24) et i (FAI)

Les routes vers LAN1 et LAN2 ne peuvent pas être condensées car l'octet à cheval sur le masque (resp. 0001 0000 et 0010 0000) pourraient être confondu avec le LAN3 qui est en 48 : (0011 0000).
Ce serait possible si on change l'adresse du lan3 en 112 (0111 0000)

 

Configuration en pratique

Cisco, comme d'hab'.

Le routeur 2 (A) est moins intéressant à configurer que le routeur 4 (D). C'est donc celui-ci qui sera configuré ci-dessous.

Préparer les interfaces du routeur

On va configurer les trois interfaces du routeur R4 en présumant qu'il existe 3 interfaces physiques : Gi0/0 (LAN4), Gi0/1 (LAN5) et Gi0/2 (LAN6).

Les commandes sont les suivantes, rien de sorcier :

 
R4> en
R4# conf t
R4(config)# interface G0/0	
R4(config-if)# ip address 192.168.64.2 255.255.255.0
R4(config-if)# exit
R4(config)# interface G0/1
R4(config-if)# ip address 192.168.80.1 255.255.255.0
R4(config-if)# exit
R4(config)# interface G0/2
R4(config-if)# ip address 192.168.96.1 255.255.255.0
R4(config-if)# exit
R4(config)# exit

 

Configurer OSPF

Passer en mode configuration OSPF

 
R4> en
R4# conf t
R4(config)# router ospf 1
R4(config-router)#

La valeur 1 est celle du Process ID (pid). Elle est indicative et habituellement placée arbitrairement à 1. Ce n'est pas le numéro de la zone OSPF

Attribuer le router ID

L'identifiant du routeur permet ... de l'identifier. Il est possible de l'imposer et obligatoire en OSPFV3. En son absence, le routeur sera identifié par son adresse IP la plus élevée

Le format de l'identifiant du routeur est le même qu'une adresse IP : a.b.c.d avec a, b, c, d de 0 à 255.

 
R4(config-router)# router-id 4.0.0.0
R4(config-router)#

La valeur 1 est celle du Process ID (pid). Elle est indicative et habituellement placée arbitrairement à 1. Ce n'est pas le numéro de la zone OSPF

Définir les interfaces passives

C'est pour éviter d'envoyer des messages OSPF vers les réseaux hors zone ou qui n'en n'ont pas besoin.

Ici, il n'y en a pas sur ce routeur, mais les roueurs 1 (B) et 6 (F) sont concernés. La commande est :

 
R4(config-router)# passive-interface gi0/9

Activer OSPF

On peut désigner une interface et sa zone :

 
R4(config)# router ospf 1
R4(config-router)# network 192.168.64.2  0.0.0.0 area 0
R4(config-router)# passive-interface gi0/9

Mais surtout configurer ospf directement sur une interface :

 
R4(config)# interface gi0/1
R4(config-if)# ip ospf 1 area 0

La valeur 1 est celle du Process ID (pid), 0 est celle de la zone OSPF

Vérifier OSPF

Pour vérifier OSPF, on a plusieurs commandes :

 
R4# show ip route
R4# show ip protocols
R4# show ip protocols | begin ospf 1

La première permet de voir les routes et leur type : O= OSPF. Les suivantes permettent de vérifier : le process ID, les DA, les zones, et surtout le routeur ID et les interfaces configurées.
Mais les commandes ci-après permettent de voir :

  • les routes alternatives du protocole OSPFV2.
  • les voisins du routeur (neighbor).
 
R4(config)# show ip ospf rib
R4(config)# show ip ospf neighbor

Pour info, afficher la liste des états des liens :

 
R4(config)# show ip ospf database

 

Conclusion

Voilà, c'est fini pour cet article (très long).
C'est le dernier de la liste des articles sur la configuration matérielle des équipements réseau. Pour la suite de ces configirations, se référer aux liens associés à cet article et poursuivre sur la sécurité des équipements en Bloc 3

Bye !

 

Liens divers