3. Routage au sein de l'aire OSPF

Sur R2, la table de routage vue du système est donnée ci-dessous. Cette visualisation au «niveau du noyau» est la synthèse de toutes les routes apprises par les différents canaux d'information : routes statiques et protocoles de routage dynamique. Dans le cas du routeur R2, les deux canaux d'information sont les connexions directes et le protocole OSPF.

  • Toutes les entrées avec l'indication proto kernel correpondent aux connexions directes héritées de la configuration des interfaces réseau du routeur.

  • Toutes les entrées avec l'indication proto zebra correspondent aux routes apprises via un démon actif du paquet frr. Ici, le démon ospfd est la seule source d'information.

$ ip route ls
default  proto zebra  metric 10 
        nexthop via 10.1.23.3  dev eth0.23 weight 1
        nexthop via 10.1.12.1  dev eth0.12 weight 1
10.1.12.0/26 dev eth0.12  proto kernel  scope link  src 10.1.12.2 
10.1.13.0/26  proto zebra  metric 2 
        nexthop via 10.1.12.1  dev eth0.12 weight 1
        nexthop via 10.1.23.3  dev eth0.23 weight 1
10.1.20.0/26 dev eth0  proto kernel  scope link  src 10.1.20.1 
10.1.23.0/26 dev eth0.23  proto kernel  scope link  src 10.1.23.2

La même table de routage vue du démon zebra est donnée ci-dessous. Relativement à la vue synthétique précédente, on obtient davantage d'informations sur les mécanismes d'apprentissage et de décision.

  • Toutes les lignes débutant par le caractère C correspondent au connexions directes.

  • Toutes les lignes débutant par le caractère O correspondent aux routes apprises à l'aide du démon ospfd.

  • Toutes les entrées marquées par le caractère * correspondent aux routes retenues pour l'acheminement des paquets. Toutes les routes listées sont présentes dans la Routing Information Base (RIB) au niveau Control Plane et celles qui sont marquées sont mémorisées dans la Forwarding Information Base (FIB) au niveau Data Plane.

    Avant stockage dans la base FIB, les routes retenues sont converties en une table de hachage pour assurer la fonction de commutation de paquets. Cette fonction est plus ou moins optimisée suivant les composants électroniques présents sur le routeur. Dans le cas de cette maquette de travaux pratiques, les machines virtuelles utilisent la mémoire vive pour stocker les tables de hachage.

R2-Zebra# sh ip route 
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route

O>* 0.0.0.0/0 [110/10] via 10.1.23.3, eth0.23, 1d10h31m
  *                    via 10.1.12.1, eth0.12, 1d10h31m
O   10.1.12.0/26 [110/1] is directly connected, eth0.12, 5d00h09m
C>* 10.1.12.0/26 is directly connected, eth0.12
O>* 10.1.13.0/26 [110/2] via 10.1.12.1, eth0.12, 5d00h09m
  *                      via 10.1.23.3, eth0.23, 5d00h09m
O   10.1.20.0/26 [110/1] is directly connected, eth0, 5d00h09m
C>* 10.1.20.0/26 is directly connected, eth0
O   10.1.23.0/26 [110/1] is directly connected, eth0.23, 5d00h09m
C>* 10.1.23.0/26 is directly connected, eth0.23
C>* 127.0.0.0/8 is directly connected, lo

La base des routes du démon ospfd est donnée ci-dessous. On ne retrouve ici que les routes présentes dans la configuration du démon local et celles apprises via les échanges avec les démons OSPF voisins.

  • Les réseaux correspondant aux connexions directes du routeur apparaissent avec la mention directly attached.

  • Les autres réseaux apparaissent avec l'adresse IP du ou des routeurs voisins. Ainsi, depuis le routeur R2 le réseau 10.1.13.0/26 est appris via les deux routeurs R1 (10.1.12.1) et R3 (10.1.23.3).

R2-ospfd# sh ip ospf route 
============ OSPF network routing table ============
N    10.1.12.0/26          [1] area: 0.0.0.0
                           directly attached to eth0.12
N    10.1.13.0/26          [2] area: 0.0.0.0
                           via 10.1.12.1, eth0.12
                           via 10.1.23.3, eth0.23
N    10.1.20.0/26          [1] area: 0.0.0.0
                           directly attached to eth0
N    10.1.23.0/26          [1] area: 0.0.0.0
                           directly attached to eth0.23

============ OSPF router routing table =============
R    0.0.0.1               [1] area: 0.0.0.0, ASBR
                           via 10.1.12.1, eth0.12
R    0.0.0.3               [1] area: 0.0.0.0, ASBR
                           via 10.1.23.3, eth0.23

============ OSPF external routing table ===========
N E2 0.0.0.0/0             [1/10] tag: 0
                           via 10.1.23.3, eth0.23
                           via 10.1.12.1, eth0.12

Comme indiqué dans le support de travaux pratiques sur le Routage dynamique avec OSPF, l'utilisation de l'instruction default-information originate sur les routeurs R1 et R3 change les rôles de ces deux routeurs. Ils deviennent routeurs de bordure ou Autonomous System Boundary Router (ASBR). Ils sont situés à la frontière entre l'aire OSPF et un autre système autonome qui peut utiliser un autre type de routage.

Dans notre cas, les routeurs R1 et R3 possèdent une route statique définie au niveau système vers ISP. L'instruction donnée ci-dessus assure la redistribution des routes statiques vers R2. Ces routes apparaissent comme des entrées de type E2 dans la table de R2.

L'indicateur E2 correspond au type par défaut des routes apprises par le biais de la redistribution. La métrique est un point important à considérer avec les routes de ce type. Elles ne présentent que le coût du chemin allant du routeur ASBR vers le réseau de destination (10 dans notre exemple) ; ce qui ne correspond pas au coût réel du chemin entre R2 et ISP. Sachant que tous les liens de la topologie étudiée sont identiques et ont le même coût, on se contente d'utiliser ces entrées de type E2 en l'état.