Routage Inter-VLAN et Switch L3

Nous avons beaucoup parlé des VLAN au sein des réseaux, mais nous avons très peu parlé du routage entre les VLAN.

Deux solutions s’offrent à nous, utiliser un routeur, ou utiliser un switch de niveau 3.

Nous parlerons rapidement de la configuration d’un routeur, avant de voir plus en détail les switchs de niveau 3.

 

1) Router On A Stick

 

Première solutions pour effectuer du routage entres des VLAN, utiliser un routeur.

La configuration la plus courante se nomme Router On A Stick.

 

Prenons l’exemple suivant :

Topologie Router On A Stick

Nous avons deux PC, dans deux VLAN distincts.

Pour communiquer d’un VLAN à un autre, il est obligatoire de passer par un routeur.

 

Dans la configuration dite Router On A Stick, il faut créer un trunk entre le switch et le routeur.

Tous les messages allant d’un VLAN à un autre, passerons par ce trunk.

Cela a un avantage et un inconvénient.

Avantage, un seul port est nécessaire sur le switch et le routeur. Même si le routeur permet de connecter 20 VLAN entre eux.

Inconvénient, cela créé un goulot d’étranglement. Tout le trafic inter-VLAN allant d’un port à un autre du switch, devra remonter jusqu’au routeur par ce lien.

 

Une deuxième solution existe :

Topologie Basic Inter Vlan Routing

Les performances seront meilleures, mais il faudra un port par VLAN.

Avec plus de deux ou trois VLAN, cette solution se révèle très vite impossible à mettre en place.

 

C’est pourquoi la solution Router On A Stick est préférée. A noter que rien n’empêche de faire de l’agrégation de lien entre le switch et le routeur.

 

Concernant la configuration Router On A Stick, voyons la configuration.

Nous nous baserons sur la topologie suivante :

Topologie Router On A Stick

Commençons par le switch.

Il faut simplement monter un trunk.

Switch-1(config)#interface fastEthernet 0/1
Switch-1(config-if)#switchport mode trunk
Switch-1(config-if)#switchport trunk native vlan 666
Switch-1(config-if)#switchport trunk allowed vlan none
Switch-1(config-if)#switchport trunk allowed vlan add 10
Switch-1(config-if)#switchport trunk allowed vlan add 20

 

Concernant le routeur, il faut commencer par active l’interface voulue :

Router(config)#interface fastEthernet 0/1
Router(config-if)#no shutdown

 

Il faudra ensuite créer des sous-interfaces. Le numéro de la sous interface n’a pas d’importance, mais il est préférable d’en choisir un représentatif du numéro de VLAN.

Router(config)#interface fastEthernet 0/1.10
Router(config-subif)#encapsulation dot1Q 10
Router(config-subif)#ip address 192.168.10.254 255.255.255.0

 

Router(config)#interface fastEthernet 0/1.20
Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#ip address 192.168.20.254 255.255.255.0

 

Il est important de créer le VLAN natif :

Router(config)#interface fastEthernet 0/0.666
Router(config-subif)#encapsulation dot1Q 666 native

 

Voici donc comment configurer un Router On A Stick.

 

Retenons que cette solution est simple à mettre en place, et ne nécessite pas de switch de niveau 3.

Néanmoins, comme nous l’avons dit, le goulot d’étranglement peut poser problème. De plus, cela rajoute de la latence, et créé un point de rupture unique.

 

2) Switch de niveau 3

 

Parlons maintenant du sujet qui nous intéresse le plus : les switchs de niveau 3.

Tout d’abord, qu’est-ce qu’un switch de niveau 3 ?

Il s’agit simplement d’un switch capable d’effectuer du routage.

Il faut bien comprendre qu’un switch L3 ne remplace pas complètement un routeur.

De nombreuses fonctionnalités propres aux routeurs ne sont pas disponibles sur les switchs L3.

 

Mais alors quel est l’intérêt des switchs L3 ?

Tout d’abord le coté performance. Nous pourrons profiter du fond de panier du switch (capacité du switch).

Dans l’exemple suivant, le switch L3 pourra sans problème router du trafic allant de PC1 à PC2 et de PC3 à PC4 simultanément.

Alors que dans une topologie Routeur On A Stick, le lien Routeur – Switch aurait (potentiellement) été saturé.

Topologie Inter VLAN Routing Switch L3

La latence s’en trouve alors réduite. De plus, le coût par port est relativement faible par rapport à un routeur.

Par contre, le prix d’un switch L3 est tout de même bien plus élevé que celui d’un switch L2.

En général les switchs L3 sont placés aux niveaux Distribution et Core.

 

Aussi, si l’on possède plusieurs switchs L3, il est possible de faire de la redondance (sujet d’un prochain article).

 

Configuration

Une démonstration permettra de rendre les choses bien plus claires.

 

Nous allons nous baser sur la topologie suivante :

Topologie Inter VLAN Routing Switch L3

Les switchs 1 et 2 sont des switchs de niveau 3.

Le but sera d’assurer le routage entre les 4 vlan. Un échange de route sera nécessaire entre S1 et S2.

 

Nous ne détaillerons pas la configuration basique des Vlan.

Avant de commencer, il faut donc faire les configurations suivantes :

  • Créations des VLAN sur les switchs concernés
  • Créations des ports Access (ex S3 Fa0/2: Vlan 1, S5 Fa0/3 : Vlan 40)
  • Création des liens trunk : S3-S1, S4-S1, S5-S2, S6-S2)

Nous nous occuperons du lien S1 – S2 par après.

 

Création des SVI

Maintenant que la configuration de base des VLAN est en place, nous pouvons créer les SVI.

Il s’agit d’interfaces virtuelles. Sur le switch de niveau 3, nous devrons créer une interface par Vlan.

Voici comment faire :

Switch-1(config)#interface vlan 10
Switch-1(config-if)#ip address 10.0.10.1 255.255.255.0
Switch-1(config)#interface vlan 20
Switch-1(config-if)#ip address 10.0.20.1 255.255.255.0

 

Il faut ensuite active la fonction de routage du switch :

Switch-1(config)#ip routing

 

Vous pouvez voir les SVI comme ceci :

Show Ip Interface Brief

Voici la suite pour S2 :

Switch-2(config)#interface vlan 30
Switch-2(config-if)#ip address 10.0.30.1 255.255.255.0
Switch-2(config)#interface vlan 40
Switch-2(config-if)#ip address 10.0.40.1 255.255.255.0

 

Switch-2(config)#ip routing

 
Pour le lien S1 – S2, nous allons faire une configuration typique d’un routeur.

Voici comment :

Switch-1(config)#interface fastEthernet 0/1
Switch-1(config-if)#no switchport
Switch-1(config-if)#ip address 10.0.0.1 255.255.255.0

 

Switch-2(config)#interface fastEthernet 0/1
Switch-2(config-if)#no switchport
Switch-2(config-if)#ip address 10.0.0.2 255.255.255.0

 

Enfin, pour le routage entre S1 et S2, nous avons deux options :

  • Utiliser des routes statiques
  • Utiliser un protocole de routage

 

Voici la démonstration pour de l’EIGRP :

Switch-1(config)#router eigrp 1
Switch-1(config-router)#no auto-summary
Switch-1(config-router)# network 10.0.0.0 0.0.255.255

 

Switch-2(config)#router eigrp 1
Switch-2(config-router)#no auto-summary
Switch-2(config-router)# network 10.0.0.0 0.0.255.255

 

Voici le résultat :

Show Ip Route

Nous pouvons réaliser un premier test :

Ping 10.0.30.1

Faisons maintenant un test du PC 1 (10.0.10.5) au PC 8 (10.0.40.5) :

Ping 10.0.40.5

 Le routage s’effectue correctement.

Nous pouvons maintenant pousser plus loin la configuration.

 

Mettons en place une ACL pour bloquer le trafic du VLAN 10 au VLAN 40.

Nous allons pour cela créer une ACL standard sur S2 :

Switch-2(config)#ip access-list standard 1
Switch-2(config-std-nacl)#deny 10.0.10.0 0.0.0.255

 

Switch-2(config)#interface vlan 40
Switch-2(config-if)#ip access-group 1 in

 

Voici le résultat :

Ping 10.0.40.5

Nous pouvons aussi déclarer des passives interfaces dans la configuration d’EIGRP :

 

Switch-2(config-router)#passive-interface default
Switch-2(config-router)#no passive-interface fastEthernet 0/1

 

Nous pouvons aussi créer des routes résumées :

Ip summary-address eigrp 1

Ou bien réduire l’utilisation de la bande passante pour l’envoie de MAJ :

Ip bandwidth-percent eigrp 1

Ou encore mettre en place de l’authentification sur les MAJ EIGRP :

(à faire aussi sur S2)

Switch-1(config)#key chain EIGRP_KEYS
Switch-1(config-keychain)#key 1
Switch-1(config-keychain-key)#key-string NetworkLab
Switch-1(config-keychain-key)#accept-lifetime 00:00:00 1 jan 2013 infinite
Switch-1(config-keychain-key)#send-lifetime 00:00:00 1 jan 2013 infinite

 

Switch-1(config-if)#interface fastEthernet 0/1
Switch-1(config-if)#ip authentication mode eigrp 1 md5
Switch-1(config-if)#ip authentication key-chain eigrp 1 EIGRP_KEYS

 

Pour finir, nous pouvons redistribuer une route par défaut :

Switch-1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1
Switch-1(config)#router eigrp 1
Switch-1(config-router)#redistribute static

 

Résultat sur S2 :

Show Ip Route

 

3) L3 switch vs Multilayer switch

 

Maintenant que nous avons bien vu la configuration, attardons nous à nouveau sur la théorie.

Déjà, sachez qu’il existe des switchs de niveau 3 et des Multilayer switch.

Quelle est la différence ?

Premièrement, un switch L3 est un type de switch Multilayer, mais un switch Multilayer n’est pas forcément qu’un switch L3. Certains peuvent aussi travailler au niveau 4 ou au niveau 7.

 

Un switch L3 peut utiliser les infos de la couche 3 pour diverses actions (routage, QOS, etc…).

 

Certains switchs Multilayer peuvent donc aussi utiliser les infos des couches supérieurs (jusqu’à la couche 7).

 

4) CEF – Cisco Express Forwarding

 

CEF est une technologie Cisco pour le switching de niveau 3. CEF peut être utilisé aussi bien sur un routeur que sur un switch de niveau 3.

CEF permet un routage plus rapide, et consomment moins de CPU.

 

Le principe est que le routage s’effectue au niveau hardware, et non software.

Deux composants entrent en jeu ici :

  • La FIB – Forwarding Information Base
  • La Adjacency Table

 

La FIB est une mémoire très rapide. Elle a le même rôle que la table de routage. Elle contient une IP de Nexthop pour chaque IP de destination. Ces informations sont directement reprises de la table de routage. A noter que les données sont stockées de manière hiérarchique pour une recherche plus rapide.

 

La Adjacency Table contient les adresses de niveau 2 des voisins.

 

Le switch va donc remplir la FIB à partir des infos de la table de routage, puis il va remplir la Adjacency Table en envoyant des requêtes ARP aux voisins.

 

Quand un paquet devra être routé, le switch va regarder dans la FIB à quel voisin envoyer le paquet, puis il va utiliser l’Adjacency Table pour connaitre son adresse Mac.

 

De cette manière, le routage sera bien plus rapide, grâce aux tables contenues dans des mémoires très rapides. De plus, la charge du CPU sera réduite.

 

Néanmoins, il existe certaines exceptions, à l’utilisation de CEF.

Dans certains cas, les paquets devront être routés au niveau Software.

Voici la liste des exceptions :

  • Les paquets dont le TTL arrive à 0
  • Les paquets avec une option dans l’entête (ex : Traceroute)
  • Les paquets qui vont dans un tunnel (ex : VPN, etc…)
  • Les paquets avec une encapsulation non supportée

Les paquets qui doivent être filtrés par des ACL, ne remontent pas au niveau Software. En effet, CEF prend en charge les ACL.

 

Pour activer CEF, utiliser la commande suivante :

Switch-1(config)#ip cef

 

5) Conclusion

 

A travers  cet article nous avons fait le tour du routage inter-vlan et tout particulièrement des switchs L3.

Pour rappel, il y a deux moyens de faire du routage inter-vlan :

  • A l’aide d’un routeur (en général en mode Router On A Stick)
  • A l’aide d’un switch L3

 

Nous avons pu voir qu’un switch L3 peut faire du routage de manière très similaire à un routeur.

Je vous invite à implémenter certains des concepts vus en CCNP Route sur des switchs L3.

 

Tagués avec : , , , ,
Publié dans Routage Inter VLAN
9 commentaires pour “Routage Inter-VLAN et Switch L3
  1. morebe dit :

    perfect demonsrtration

  2. Mohamed dit :

    Excellente explication, merci

  3. Myname dit :

    Faisons maintenant un test du PC 1 (10.0.10.5) au PC 8 (10.0.40.5)
    Pourquoi le ping passe entre le PC1 et PC2 alors qu’ils ne sont dans le même Vlan (vlan 10 et vlan 40)

    • Valentin Weber dit :

      Bonjour,

      Le ping passe parce-que du routage a été mis en place. Il s’agit du sujet principale de l’article.
      Grâce au routage, il est possible de communiquer entre deux sous-réseaux différents.

  4. michou dit :

    Bonsoir,
    Merci pour le cours il est très bien expliqué sauf que je pense que y’a une petite erreur !

    « un switch L3 est un switch Multilayer, mais un switch Multilayer n’est pas forcément un switch L3. »

    A mon avis c’est le contraire, c’est plutot le switch multilayer qui peut etre un switch L3

    Si je me trompe corrigez moi svp.

    Merci infiniment.

    • Valentin Weber dit :

      Bonjour,
      ma phrase n’est pas vraiment bien tournée c’est vrai. Un switch Multilayer est simplement un switch qui ne travaille pas qu’au niveau 2, mais aussi à un ou plusieurs niveaux supérieurs. Il peut par exemple aussi travailler au niveau3, voir au niveau 4, ou 7, etc….
      Donc un switch L3 est bien un switch Multilayer. Un switch qui peut travailler au niveau 4 est aussi un switch Multilayer.
      Après, un switch Multilayer n’est pas forcement qu’un switch de niveau 3. Il peut donc aussi être L4, L7, etc…
      Je vais modifier un peu la formulation de cette phrase et des explications qui suivent pour plus de clarté.

  5. paneah dit :

    merci….le sujet est fluide et facile a comprendre

3 Pings/Trackbacks pour "Routage Inter-VLAN et Switch L3"

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.