« Cisco : R&S 2 » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 890 : | Ligne 890 : | ||
=== Auto-MDIX === | === Auto-MDIX === | ||
La fonctionnalité d'interface croisée indépendante du support (Auto-MDIX) permet de ne plus avoir à se demander si le câble est droit ou croisé. Pour rappel, si Auto-MDIX ne fonctionne pas : Vérific | |||
*Câble droit : périph réseau -> périph final | *Câble droit : périph réseau -> périph final |
Version du 4 février 2019 à 17:30
Cette page contient l'ensemble de mes notes concernant le cours CCNA : R&S2 de Cisco.
Chapitre 1 : Concepts du routage
Les réseaux qui nous permettent de communiquer utilisent, au niveau de la couche 2, des commutateurs sur la couche liaison de données, afin de transmettre les trames entre les périphériques d'un même réseau. Cependant, lorsque la destination se trouve sur un réseau différent, on utilise pour cela un routeur, qui relie les réseaux entre eux. Ils utilisent leur table de routage pour déterminer la meilleure route à emprunter; l'efficacité du réseau dépend de l'efficacité de ce routage. Nous avons déjà vu le concept de passerelle par défaut; nous verrons ici ce que fait un routeur quand il reçoit un paquet qui est destiné à un autre réseau. Nous verrons les détails de la table de routage, y compris les routes connectées statiques, dynamiques.
Caractéristique d'un réseau
De nombreux indicateurs en terme de structures et de performances sont utilisé pour étudier les réseaux:
- Topologie : On distingue topologie physique (les câbles, périphériques et systèmes finaux) et topologie logique (chemin emprunté par les données dans un réseau, comment les périphériques réseaux sont connectés aux utilisateurs).
- Vitesse : en bits par seconde (qui est, techniquement, la bande passante et pas la vitesse des électrons sur le câble, ou même la latence...).
- Coût : Dépense concernant conception, installation, maintenance
- Sécurité : Niveau de protection du réseau, englobe les informations transmises sur celui-ci.
- Disponibilité : Probabilité que le réseau soit disponible quand on en a besoin
- Évolutivité : Facilité avec laquelle le réseau peut acceuillir plus d'utilisateurs et répondre à davantage de demandes.
- Fiabilité : Capacité des élements constitutifs du réseau à fonctionner sans incidents
Tous ces attributs permettent de comparer différentes solutions réseau.
Pourquoi le routage? Les routeurs en action
On l'a dit, le but d'un routeur est de relier deux réseaux entre eux. La communication entre réseaux serait impossible sans un routeur pour déterminer le meilleur chemin à emprunter vers le prochain tronçon.
Les routeurs sont des ordinateurs : tout comme n'importe quel smarthphone par exemple, il utilisent un CPU, de la RAM, et des supports de stockage. Il s'agit cependant d'un ordinateur spécialisé, qui utilise lui aussi des mémoires volatiles et non volatiles.
Rappel des mémoires d'un routeur :
Les routeurs interconnectent les réseaux, d'une façon généralement transparente pour l'utilisateur; le professionnel sait que c'est le routeur qui ets chargé de transmettre le paquet à un autre réseau. Lorsqu'un routeur reçoit un paquet sur une de ses interfaces, il détermine quelle interface utiliser pour retransmettre le paquet à un autre réseau, ou à la destination finale. Chaque interface reçoit un réseau différent, qu'il soit LAN ou WAN. Ils ont deux fonctions principales :
- Choisir le meilleur chemin
- Transférer les paquets vers leur destination.
Pour résumer le fonctionnement d'un routeur qui rçoit un paquet :
- Il reçoit le paquet sur une de ses interfaces
- Il regarde l'adresse IP de destination du paquet
- Il regarde dans sa table de routage pour trouver le meilleur chemin vers cette destination (il cherche à la fois l'adresse IP du réseau de destination ou du prochain tronçon, ainsi que l'interface à utiliser).
- Il réencapsule le paquet IP (couche 3) dans une trame (couche 2) avant de le renvoyer.
Il est possible qu'un routeur réencpasule le paquet dans un autre type de trame que celui qui as été utilisé au départ : il peut recevoir une trame ethernet et la renvoyer sous forme de trame PPP; cela dépend du type d'interface (on peut citer Ethernet, Frame Relay, DSL, câble et sans fil avec 802.11, Bluetooth, etc...).
Mécanisme de transfert des paquets
Les routeur prennent en charge trois mécanismes de transfert de paquets :
- Commutation de processus : Mécanisme ancien, toujours disponible chez Cisco. Lorsqu'un paquet arrive sur une interface, il est transmis au plan de contrôle (un genre de table d'examen, disons) où le CPU fait correspondre l'adresse de dst avec une entrée de sa table de routage, puis détermine l'interface avant de transmettre le paquet. Cela est répété pour chaque paquet, même si ils sont d'une même série, ce qui rend ce processus lent et peu utilisé : c'est l'équivalent d'un calcul à la main.
- Commutation rapide : En plus du plan de contrôle habituel, cette méthode utilise un plan de données , lequel contient un cache d'avance rapide, qui contient les informations sur les paquets déjà passés par le routeur. Lorsqu'un paquet arrive, on recherche d'abord une correspondance dans le cache via l'adresse de destination, avant de l'envoyer à défaut au plan de contrôle. Si un paquet à une correspondance dans le cache, il est renvoyé sans intervention du processeur : c'est l'équivalment d'un calcul manuel qui mémorise les solutions pour les problèmes suivants.
- CEF (Cisco Express Forwarding): Mécanisme de transfert de paquets Cisco le plus récent. Il génère pour sa part une table FIB et une table de contiguïté. Les entrées de table ne sont cependant pas déclenchées par les paquets mais par les changements de topologie du réseau. Du coup, lorsqu'un réseau à convergé, les deux tables contiennent les informations qu'un routeur doit prendre en compte lors d'un transfert du paquet (les tables sont établies au moment où le réseau converge, i.e au moment où il est opérationnel, et elles ne bougent en principe plus tant que lréseau n'est pas modifié). La table FIB contient les informations de recherches pré-informatisées, les informations de tronçon suivant pour les routes incluant l'interface et les informations de couche 2. C'est le mécanisme le plus rapide. C'est comme résoudre en avance tous les problèmes possibles dans un tableur.
Passerelles par défaut
Les périphériques qui ont accès au réseau sont configurés avec:
- Adresse IP
- Masque
- Passerelle par défaut.
La passerelle par défaut sert à envoyer les paquets à un périphérique situé sur un autre réseau, puisqu'un périphérique ne peut pas communiquer directement sur un autre réseau. La passerelle par défaut sert à router le trafic local vers un réseau distant, en général en passant par internet, et c'est généralement l'adresse locale du routeur, qui gère des entrées de table de routage pour les réseaux locaux ainsi que pour les réseaux distants. Un routeur a en général sa propre "passerelle par défaut" : c'est la passerelle de dernier recours, qui est employé quand le routeur ne sait pas quel est le meilleur chemin.
Documentation de l'adressage réseau, activation de l'IP sur un hôte
Lorsque l'on conçoit un réseau, il convient de documenter les adresses, au minimum :
- Noms des périphériques
- Interfaces utilisées
- @IP et masque
- adresse de gateway.
Cela peut se faire soit sous la forme d'un schéma de topologie logique, soit sous la forme d'un tableau.
Un hôte peut recevoir les informations de façon statique ou dynamique (avec DHCP, SLAAC...).
LEDs des périphériques (sur la carte réseau) et câbles console
Les cartes réseau contiennent en général un ou deux voyants à LED. Une LED verte indique une bonne connexion, tandis qu'une LED verte clignotante fait état d'une activité réseau. La signification dépend du fabricant (chez moi, elles sont vertes et oranges...) mais un voyant éteint est généralement mauvais signe. Les périphériques réseau utilisent souvent plusieurs voyants LED pour donner un aperçu de leur état. Voici un aperçu du fonctionnement des LEDs sur un routeur Cisco 1941 :
Dans un environnement de production, les périphériques sont administrés via SSH; cependant, il faut bien utiliser un câble console la première fois qu'on les configure. Il peut s'agir d'un câble console, usb vers RS-232, ou d'un câble USB type A vers usb type B (mini USB) pour les équipements plus récents. On utilise ensuite un pilote et un terminal, même si c'est en général une BONNE GALÈRE.
Activation de l'IP sur un commutateur
Sur un switch, les informations IP sont configurées sur une SVI (Interface Virtuelle Commutée), en général VLAN 1.
Pour la configuration de base d'un routeur: Cisco (cf Chapitre 6)
Configuration d'une interface série connectée avec un câble DCE (clock rate)
Dans ce cas, il faut utiliser la commande clock rate
, en plus des informations concernant l'adressage. Si on a une erreur, c'est qu'on l'utilise sur une interface DTE. La valeur donnée en exemple est 128000, cette valeur correspondant à la vitesse des cycles d'horloge et donc à la bande passante. On peut voir les valeurs possibles avec clock rate ?
, 128000 correspondant à 2M.
Configuration d'une interface du routeur en IPv6
Avec des adresses fixes, cela fonctionne de la même façon qu'en IPv4:
Encore une fois, la plupart des informations sont déjà disponibles dans la section Cisco R&S 1.
Configuration d'une interface de bouclage IPv4
On peut changer l'adresse de la loopback sur un routeur : cela ne sert à priori à rien, mais peut s'avérer utile pour certains tests, notamment OSPF.
Router(config)# interface loopback number Router(config-if)# ip address ip-address subnet-mask Router(config-if)# exit
On peut avoir plusieurs interfaces de bouclage, mais pas en avoir deux identiques.
Rappel des commandes vérification réseau
Pour rappel, on peut utiliser comme commandes de vérification du réseau:
- show ip/ipv6 interfaces brief
- show ip/ipv6 route
- show running-config interface NomDeL'Interface
- Show ipv6 interface NomDeL'Interface
Filtrage des résultats de la commande show, historique de commandes
Les commandes qui génèrent de longues sorties se limitent en général à 24 lignes après que l'on doive appuyer sur espace pour voir la suite (on peut utiliser la commande terminal length
pour modifier ce nombre de lignes).
On peut cependant filtrer les résultats avec un pipe | .Après le pipe, on peut mettre un mot-clef suivi d'une expression de filtrage (ce que l'on cherche, en gros). Ces mots-clefs sont:
- section : l'ensemble de la section commençant par l'expression de filtrage
- Include : toutes les lignes de résultat correspondant à l'expression de filtrage
- exclude toutes les lignes sauf l'expression de filtrage
- begin : toutes les lignes de résultat à partir d'un certain point, en commençant par la ligne qui contient l'expression de filtrage.
Exemple :
show ip interface brief | exclude unassigned
show ip route | begin Gateway
Historique des commandes déjà passées
En plus de la traditionnelle flèche haut, on peut utiliser ctrl+P, la flèche bas pouvant être remplacée par ctrl+N. On peut utiliser également :
terminal history size
: détermine le nombre de commandes qui sont retenues dans le cacheshow history
(avec un éventuel pipe) : montrer l'historique
Fonctions de commutation du routeur
Le routeur fait appel à la fonction de commutation pour acheminer les paquets, qui est la fonction utilisée pour recevoir les paquets d'une interface et les envoyer sur une autre. La fonction de commutation du routeur (on parle bien ici de désigner les paquets sui se déplacent d'une source vers une destination en utilisant ce terme, rien à voir avec les commutateurs de couche 2) a pour responsabilité principale d'encapsuler les paquets dans le type de trame liaison de données adéquat pour la liaison données de sortie. Que fait un routeur d'un paquet qu'il rçoit d'un réseau et qui est destiné à un autre réseau?
- Il désencapsule l'en-tête et la queue de bande de trame de couche 2 pour isoler le paquet de couche 3
- Il examine l'IP de destination pour trouver un chemin dans sa table de routage
- Si il trouve un chemin, il encapsule le paquet de couche 3 dans une nouvelle trame de couche 2 et transfère la trame au périphérique suivant, à l'aide de son adresse MAC (sauf sur une liaison série, qui n'utilise pas d'adresses MAC).
Il est courant que les paquets aient un format de trame différent à l'expédition et à la réception.
Décisions de routage
Lorsqu'un routeur détermine le meilleur chemin en cherchant dans sa table de routage, il peut choisir un parmi 3 types de chemins :
- Réseau directement connecté : utilisé quand l'IP de destination est située dans un réseau auquel appartient également une des interfaces du routeur. Le paquet est directement transféré à la destination.
- Réseau distant : Si l'adresse IP appartient à un réseau distant, le paquet est transféré à un autre routeur (puisque le réseau n'est pas directement accessible).
- No route determined : Si l'IP n'appartient ni à un réseau local ni à un réseau distant connu, le routeur l'envoie à la passerelle de derniers recours (celle-ci est définie quand une route par défaut est déterminée sur le routeur), si il en a une. Sinon, il largue le paquet.
Meilleur chemin
La détermination du meilleur chemin implique d'évaluer plusieurs chemins menant au même réseau, et de choisir le chemin optimal ou le plus courtpour l'atteindre. Lorsque plusieurs chemins existent vers une destination, chaque chemin part d'une interface différente.
Le meilleur chemin est sélectionné par un protocole de routage qui utilise une valeur (ou métrique) pour déterminer la "distance" à parcourir jusqu'à la destination. Une métrique est une valeur quantitative utilisée pour mesurer la distance jusqu'à un réseau donné. Le meilleur chemin a la métrique la plus faible. Les protocoles de routage dynamique utilisent en général leurs propres règles et métriques pour constituer et màj leur table de routage : l'algorithme génère une métrique pour chaque chemin emprunté. Les métriques peuvent se baser sur différentes caractéristiques d'un chemin, et peuvent être combinées.
Quelques protocoles dynamiques et les métriques qu'ils utilisent :
- RIP (Routing Information Protocol): nombre de sauts
- OSPF (Open Shortest Path First) : coût de Cisco basé sur la bande passante cumulée entre la source et la destination
- EIGRP (Enhanced Interior Gateway Routing Protocol) : bande passant, délai, charge, fiabilité.
Équilibrage de charge
Un routeur peut avoir plusieurs chemins avec une métrique identique. Quand c'est le cas, il répartir la charge entre les deux chemins (on appelle cla équilibrage de charge ou coût égal, load balancing quoi!). Dans ce genre de cas, la table de routage contient un réseau de destination auquel sont rattachés plusieurs interfaces de sortie, une par chemin. Les paquets sont balancés entre les différentes interfaces. Le load balancing améliore les performances. L'équilibrage de charge à coût égal peut être utilisé en routage statique ou dynamique.
Seul EIGRP prend en charge l'équilibrage à coût inégal.
Distance administrative
Un seul et même routeur peut être configuré avec différents protocoles de routage et des routes statiques. Dans ce cas, la table de routage peut disposer de plusieurs sources de route pour un même réseau de destination. Si par exemple j'ai RIP et EIGRP sur un même routeur les deux protocoles peuvent détecter le même réseau de destination, mais avec des chemins différents. Comment le routeur sait quel chemin prendre, puisque les métriques ne sont pas comparables?
Cisco IOS utilise la Distance Administrative (AD) pour déterminer la route à installer dans la table de routage IP. Le domaine administratif représente le degré de fiabilité de la route, le plus faible étant le meilleur. Par exemple, une route statique a un Domaine Administratif de 1, alors qu'une route découverte avec EIGRP a une valeur de 90. Sur les deux routes distinctes, le routeur choisira le plus faible domaine administratif. Ici, la route statique sera prioritaire; de la même façon une route directement connectée (avec un domaine administratif de 0) sera prioritaire sur une route statique.
Ci-dessous, les protocoles de routage et leur domaines adminstratifs.
Fonctionnement d'un routeur
La table de routage (show ip route)
La table de routage d'un routeur stocke les informations sur :
- Les routes connectées directement : elles proviennent des interfaces actives du routeur. Les routeurs ajoutent ce type de route lorsqu'une interface est configurée avec une adresse IP et qu'elle est activée.
- Les routes distantes : ces routes correspondent aux réseaux distants, connectés à d'autres routeurs. Les routes menant à ces réseaux peuvent être enregistrées de façon statique ou dynamique.
La table de routage est un fichier dans la mémoire vive du routeur qui contient donc des associations de réseaux ou de tronçons suivant. En plus du prochain routeur, l'association de tronçon suivant peut être l'interface de sortie vers la destination suivante. La table de routage, accessible via la commande show ip route (qui peut être suivie d'un réseau de destination pour avoir plus de détails)sur un routeur Cisco, et contient diverses informations sur chaque route : comment elle a été découverte, depuis combien de temps, quelle interface permet de l'atteindre... Les entrées de la table de routage peuvent être ajoutées en tant que :
- Interfaces de route locale : Affiché uniquement dans IOS 15 et + pour IPv4, et toutes les versions pour IPv6. Ajoutées quand elles sont configurées et actives.
- Interfaces connectées directements : Ajoutées à la table de routage quand elles sont configurées et actives.
- Routes statiques : ajoutées quand elles sont configurées et que l'interface de sortie est active
- Protocole de routage dynamique : ajouté lorsque des protocoles de routage dynamiques les découvrent
La source des entrées de la table est identifiée par un code avec des lettres (plutôt que de le marquer en toutes lettres... ce serait trop facile). Quelques exemples:
- L : adresse attribuée à l'interface d'un routeur; ceci permet au routeur de déterminer efficacement si un paquet qu'il reçoit lui est destiné. Elle est suivi d'un /32 en ipv4 et d'un /128 en IPv6.
- C : Réseau directement connecté
- S : Route statique
- S* : Indique une route statique qui est candidat éventuel pour être la route par défaut (IPv4 seulement)
- D : Réseau découvert de façon dynamique avec EIGRP
- O : Réseau découvert de façon dynamique avec OSPF
Pour C et L, C donne le réseau qui est directement connecté au routeur, et L l'adresse du routeur dans ce réseau.
Savoir lire les entrées de la table de routage : Réseau distant
De gauche à droite : Origine de la route, Réseau de destination, Distance administrative/Métrique, via Tronçon suivant, Découvert depuis (durée), Interface de sortie.
Savoir lire les entrées de la table de routage - Réseau connecté directement
Un routeur sorti de boîte, sans aucune interface de configurée, a une table de routage vide. Avant que celle-ci soit up/up et ajoutée à la table, l'interface doit :
- avoir une adresse IP valide
- Être activée avec no shut
- recevoir un signal porteur d'un autre périphérique.
Une entre de la table de routage pour une route directement connectée se lit comme suit :
De gauche à droite : Origine de la route, réseau de destination, Interface de sortie.
Attention, avant IOS 15, les entrées L en IPv4 n'étaient pas affichées dans la table de routage. De plus, en IPv6, on a une entrée "L FF00::/8" qui sert à la multidiffusion.
Savoir lire les entrées de la table de routage - Routes statiques
Une fois les interfaces connectées et configurées, le routage statique ou dynamique peut être mis en oeuvre. Les routes statiques étant configurées à la main, elles ne sont pas mises à jour automatiquement. Les routes statiques sont plus performantes que l'usage de routes dynamiques (moins de bande passante utilisée, pas de CPU à faire tourner) et permettent de contrôler la sécurité en maîtrisant le routage des paquets. Il existe deux types de routes statiques dans la table:
- Route statiques vers un réseau donné
- Routes statiques par défaut
Configurer une route statique vers un réseau en IPv4
La commande est la suivante :
<span class="cmd">Router(config)#</span> <span class="cmd"> ''' ip route ''' </span> <span class="cmd"> ''network mask'' </span> <span class="cmd"> {</span> <span class="cmd"> ''next-hop-ip'' </span> <span class="cmd"> | </span> <span class="cmd"> ''exit-interface'' </span> <span class="cmd">} </span>
Configurer une route statique par défaut
La route statique par défaut est comparable à une gateway sur un hôte. Elle est utile quand un routeur ne possède qu'un seul point de sortie, vers un FAI par exemple. La commande est la suivante en IPv4:
Router(config)# ip route 0.0.0.0 0.0.0.0 { exit-intf | next-hop-ip }
Un exemple : ip route 0.0.0.0 0.0.0.0 Serial0/0/0
Ici, Serial0/0/0 est directement connectée à une box internet, par exemple. On pourrait remplacer Serial0/0/0 par une IP pour avoir une last resort gateway.
Explication de la commande : Si les 0.0.0.0 sont troublants, la première série correspond à "n'importe quelle adresse IP", la deuxième série de 0 correspond à "n'importe quel masque". Ces deux séries de 0 NE CHANGENT PAS (dans le cadre d'une route par défaut). Ce qui les suit est important :
- Si je met une interface de sortie, tous les paquets seront envoyés à cette interface, peut importe qui est à l'autre bout (ça n'as pas l'air optimal... Il se passe quoi si on a plusieurs trucs différents sur cette interface?)
- Si je met une IP, ce sera celle de ma "Last Resort Gateway".
La commande pour IPv6 est la suivante:
ipv6 route ::/0 {ipv6-address | interface-type interface-number}
Un exemple : ipv6 route ::/0 Serial0/0/0
Attention, en IPv6, la route est ajoutée à la table sans *, ni Last Resort Gateway.
À quoi ressemble la table de routage avec une route par défaut
En IPv4:
Ici, les deux lignes en orange attestent du fait que la route par défaut à été configurée (avec ip route 0.0.0.0 0.0.0.0 Serial0/0/0). Ici, notre routeur est directement connecté à un autre via serial0/0/0, et ils ont tous les deux une IP; mais on est pas forcé d'utiliser l'IP, l'interface de sortie marche aussi. Le routeur nous previent cependant que ce n'est pas la méthode la plus performante.
En IPv6, c'est un plus simple d'apparence :
Routage dynamique
Les protocoles de routage dynamique effectuent plusieurs tâches, qui comprennent la détection de réseaux et la gestion de la table de routage. La détection de réseaux est la capacité d'un protocole à partager avec les autres routeurs les informations concernant les réseaux qu'il connaît avec les autres utilisant le même protocole. Cela permet d'avoir automatiquement les meilleurs chemins sur le routeur, pour qu'il soient ajoutés à la table et identifiés comme routes dynamiques. Pour schématiser, un routeur en EIGRP arrive sur le réseau et dit "Salut ! Je suis R1 et j'utilise EIGRP pour vous informer que j'accède aux réseaux suivants : 10.0.0.0/8, 89.244.15.0/24. Je suis aussi la passerelle Internet par défaut"; les autres lui répondent de la même façon.
Lors de la phase de découverte du réseau, les routeurs échangent des routes et mettent leur tables de routage à jour. On dit qu'ils ont convergé après avoir terminé leurs échanges et mis à jour leurs tables de routage.
Routage dynamique - les protocoles IPv4
Un protocole de routage dynamique ne sert pas seulement à déterminer le meilleur chemin : il sert aussi à déterminer des chemins de secours, si la topologie change ou qu'un lien est down. Ce genre de protocole fait tout cela de façon automatique et prennent en compte toute modification de la topologie, sans intervention humaine. Les routeurs Cisco prennent en charge plusieurs protocoles, dont :
- EIGRP
- OSP
- IS-IS (Intermediate System to Intermediate System)
- RIP
Pour déterminer les protocoles de routage mis en place, il suffit d'utiliser la commanderouter ?
Un exemple de table de routage avec des entrées dynamiques :
Ici, on voit que j'ai non seulement une Last Resort Gateway, mais aussi des routes dynamiques. L'entrée "D*EX" signifie :
- Que j'utilise EIGRP (D)
- Que c'est une potentielle route par défaut (*)
- Que c'est une route Externe (EX).
Les deux autres entrées sont le fruit d'un autre routeur ayant mis à jour sa table et annoncés ses LANs.
Routage Dynamique - Les protocoles IPv6
Les routeurs Cisco prennent en charge différents protocoles, dont :
- RIPng (RIP new generation)
- OSPFv3
- EIGRP pour IPv6
La plupart des versions récentes des protocoles de routage prennent en charge IPv6. Il ne faut pas oublier, pour permettre aux routeurs de prendre en charge le trafic IPv6, d'utiliser la commande ipv6 unicast-routing. Les entrées de la table de routage en IPv6 Dynamique n'ont rien d'extraordinaire : Elles sont précédées de D pour EIGRP par exemple, et sont indiquées comme les autres.
Chapitre 2 - Routage Statique
Pourquoi utiliser le routage statique?
Il offre plusieurs avantages par rapport au routage dynamique, notamment :
- Les routes statiques ne sont pas annoncées sur le réseau, ce qui est plus sécuritaire
- Elles utilisent moins de bande passante que le routage dynamique, et aucune ressource CPU
- Le chemin qu'utilise une route statique est connu.
Il présente cependant des inconvénients :
- La configuration initiale et la maintenance prennent du temps
- La configuration présente des risques d'erreur humaine
- Une intervention humaine est requise pour la mise à jour des informations
- Difficile à maintenir dans un réseau en expansion
- Exige une connaissance complète du réseau pour une implémentation correcte.
Le routage statique est utile sur les petits réseaux avec un seul chemin vers l'extérieur, et peuvent offrir de la sécurité sur les réseaux plus grands; quoi qu'il en soit, statique et dynamique ne s'excluent pas mutuellement. Il faut simplement se rappeller de la notion de AD (route administrative), et du fait que les routes statiques sont toujours prioritaires.
Quand utiliser du routage statique?
Le routage statique a trois fonctions principales :
- Faciliter la maintenance des tables de routage dans les petits réseaux
- Assurer le routage entre les réseaux d'extrémité (Réseaux accessibles par une seule route)
- Mettre en place des routes par défaut
Mais elles peuvent éventuellement servir à:
- Réduire le nombre de routes annoncées en récapitulant plusieurs réseaux contigus sous la forme d'une seule route statique
- Créer une route de secours en cas de panne d'une route principale
Types et configuration de routes statiques
Route statique standard
Une route statique standard est une route utile pour la connexion d'un réseau distant spécifique. C'est la route statique "normale", telle qu'on la connaît habituellement.
Route statique par défaut
On l'as déjà abordé, mais la route statique par défaut est utilisée quand on ne sait pas où envoyer un paquet (quand aucune entrée de la table de routage ne correspond, ou bien que le routeur n'est connecté qu'à un seul autre routeur, identifié en tant que routeur souche). La configuration d'une route statique par défaut amène en général la création d'une passerelle de dernier recours.
Route statique récapitulative
On peut rassembler plusieurs routes statiques en une seule, dans le but d'écrémer un peu la table de routage, si :
- Les réseaux de destination sont contigüs et peuvent être récapitulés dans une adresse réseau unique
- Les routes statiques utilisent toutes la même interface de sortie ou tronçon suivant.
Par exemple, je pourrais faire une route qui sert à accéder aux réseaux suivants :
- 172.20.0.0/16
- 172.21.0.0/16
- 172.22.0.0/16
- 172.23.0.0/16
Sous la forme d'une seule route vers 172.20.0.0/14.
Route statique flottante
Une route statique flottante est un genre de route utilisé pour fournir un chemin de secours à une route dynamique ou statique principale, en cas de défaillance de la liaison. Elle n'est utilisée que si la route principale n'est pas disponible. Elle est pour cela configurée avec une Distance Administrative plus élevée. Il n'y a que ça à faire si je veux créer une route statique flottante : lui donner une valeur administrative plus élevée. Par exemple, si je veux créer une route flottante pour suppléer à une route Dynamique en EIGRP (DA : 90), je ferais une route statique avec une DA de 95.
Exemple : Je veux configurer une route statique par défaut, et un autre route statique par défaut mais flottante, qui servira de relais en cas de problème :
- ip route 0.0.0.0 0.0.0.0 172.16.5.254 #Ma route statique par défaut, avec une DA par défaut à 1
- ip route 0.0.0.0 0.0.0.0 10.10.10.2 5 #Ma route flottante, je mets sa DA à 5
- Je pourrais tester ma deuxième route en désactivant l'interface de la première, afin de voir si cela fonctionne bien.
Exemple 2 : Même scénarion en IPv6
- ipv6 route ::/0 2001:acad:db8:666::1 #Ma première route, avec une DA de 1
- ipv6 route ::/0 2001:acad:db8:667::2 5 #Ma deuxième route, avec une DA de 5
Syntaxe complète de la commande ip route
ip route <adresseréseau> <masque> {<iptronçonsuivant> | <interface de sortie>} <distance>
Le paramètre distance est facultatif, il sert à indiquer la distance administrative souhaitée (pour une route flottante par exemple).
On peut utiliser l'IP de tronçon suivant (si il est lointain, par exemple), ou l'interface de sortie (si le tronçon est directement connecté), ou les deux.
Route statique récursive
Il est bon de rappeller que lorsqu'un routeur essaye de résoudre un paquet qu'il reçoit (il détermine alors sa résolvabilité, ou plutôt celle de sa route) et qui est destiné à un réseau distant, il commence par chercher dans sa table une correspondance avec l'IP de destination du paquet, en trouve une et en tire une adresse de tronçon suivant. Il rééfectue alors une recherche dans sa table de routage pour savoir comment atteindre ce tronçon suivant : il fait deux vérifications en tout, et non une seule ! Il s'agit d'une recherche récursive, et on essaye de les éviter car elles consomment des ressources. Une route statique récursive n'est valide que si la résolution du tronçon suivant aboutit et donne une interface de sortie à utiliser.
Configuration d'une route statique connectée directement (i.e, quand j'ai plusieurs réseaux qui sont connectés directement à mon routeur)
Au lieu d'utiliser un tronçon suivant, on peut s'économiser la récursivité en configurant une route statique sur une interface connectée directement (du type : ip route 172.16.1.0 255.255.255.0 s0/0/0) plutôt qu'un tronçon suivant. Imaginons que dans ce cas j'ai plusieurs autres routeurs connectés à s0/0/0, un paquet destiné à 172.16.1.0 sera envoyé directement en broadcast MAC? Je ne suis pas sûre. C'est mal expliqué, scrogneugneu !
https://static-course-assets.s3.amazonaws.com/RSE6/fr/index.html#2.2.1.4
Dans cette configuration réseau, mes routes configurées avec cette méthode (ip route 192.168.3.0 g0/1 par exemple) fonctionnent. PC0 peut parler à PC1 sans que j'ai configuré le moindre tronçon suivant où que ce soit ! Je suppose que du coup, le routeur router0 se contente de prendre le paquet de PC0, trouver le réseau de destination dans sa table de routage, et l'envoyer en broadcast MAC sur son interface de sortie. Mais, ça fonctionne aussi avec des adresses de tronçon suivant, et c'est plus simple à comprendre...
Configuration d'une route statique entièrement spécifiée.
Dans ce genre de route, on précise à la fois l'interface de sortie et l'adresse IP du tronçon suivant. Ce genre de route était utilisé avant le protocole CEF. Dans ce genre de cas, le tronçon suivant doit être directement connecté à l'interface de sortie. Ces routes excluent CEF ! On peut en mettre une en oeuvre comme ça :
ip route 192.168.1.0 255.255.255.0 g0/1 172.16.1.3
Il faut faire attention à ce que le résultat soit cohérent. Il semble dans tous les cas préférable, quand c'est possible, d'utiliser des adresses de tronçon suivant. Il est à noter que cela ne fonctionne pas quand CEF est utilisé, ce qui est le cas par défaut de tous les routeurs Cisco relativement récents.
Vérification des routes statiques
Les routes statiques peuvent être vérifiée grâce aux commandes:
- show ip route static
- show ip route 192.168.1.56
- etc
En IPv6 :
- show ipv6 route
- show ipv6 route static
- show ipv6 route 2001:db8:666::
Lors de la vérification d'une route statique par défaut, show ip route nous donne quelque chose comme ça :
- S* 0.0.0.0/0 [1/0] via 172.16.2.254
Il est à noter que le /0 signifie qu'aucun des bits ne doit correspondre (0.0.0.0/0 veut donc dire bien dire "n'importe quelle adresse"); ce qui est logique, et un /1 indique que les bits doivent correspondre.
Routes statiques IPv6
La syntaxe d'une route statique IPv6 est la suivante :
ipv6 route ipv6-prefix/prefixlength [ipv6-address|exit-interface}
Une route statique IPv6 peut être utilisée comme :
- route statique standard
- Avec un tronçon suivant
- Avec une interface de sortie
- Entièrement spécifiée
- route statique par défaut
- du type : ipv6 route ::/0 {ipv6-address|exit-interface}
- Attention, la table de routage en IPv6 n'indique pas que la route par défaut est la passerelle de dernier recours...
- route statique récapitulative
- route statique flottante
Quoi qu'il en soit, il faut utiliser ipv6-unicast routing pour que ces routes statiques soient prises en compte. Le principe de récursivité s'applique de la même façon qu'en IPv4, et le principe est de façon générale le même qu'en IPv4, pour ce qui est des routes statiques en tout cas.
Cas dans lesquels, en IPv6, une route doit être entièrement spécifiée
En IPv6, une route statique doit être entièrement spécifiée dans un cas :
- Si la route utilise une adresse de lien local comme tronçon suivant.
C'est le cas parce que les adresses de lien-local ne figurent pas dans la table de routage : elles ne sont uniques que dans une liaison donnée... Il se pourrait en effet que plusieurs réseaux connectés au routeur utilisent une adresse de lien-local identique (même si c'est peu probable). Si l'on essaye de rentrer route sans spécifier l'interface, IOS nous renvoie un message d'erreur. Il faut utiliser ce genre de commande :
ipv6 route 2001:db8:ACAD:2::/64 s0/0/0 fe80::2
Routes d'hôtes installées automatiquement (ou pas)
Une route d'hôte est une adresse IPv4 avec un masque à 32 bits, ou une adresse IPv6 avec un masque à 128 bits. Il existe trois façons d'en ajouter une à la table de routage :
- Installées automatiquement quand une IP est configurée sur le routeur: Installée par IOS automatiquement, elle permet d'optimiser le processus d'envoi des paquets au routeur, par rapport au transfert de paquets. Elle s'ajoute à la route connectée (désignée par la lettre C), et est désignée par la lettre L : c'est une "route locale", une route qui mène là où je suis déjà, en somme.
- Configurée comme une route d'hôte statique : on peut la configurer manuellement pour diriger le trafic vers un périphérique spécifique, comme un serveur d'authentification par exemple. Elle utilise un masque /32 ou /128, et est désignée elle aussi par la lettre S.
- Exemple de configuration : ipv6 route 2001:db8:acad:666::1/128 via s0/0/0 fe80::2 : Ici, tous les paquets envoyés vers l'interface de mon routeur 2001:db:acad:666::1 sont renvoyés vers fe80::2 sur mon interface s0/0/0.
- Route obtenue par d'autres moyens (cours ultérieur...).
Rappel des commandes utiles quand une route statique ne fonctionne plus
Les commandes utiles pour détecter ce genre de problèmes :
- ping
- traceroute
- show ip route
- show ip interface brief
- show cdp neighbors detail
Chapitre 3 : routage dynamique
Protocoles de routage dynamique
Ces protocoles sont utilisés depuis la fin des années 80. RIPv1 a été publié en 1988, mais certains de ses algorithmes de bases étaient déjà utilisés sur ARPAnet en 1969. Les protocoles ont évolué avec les réseaux : RIPv2 en et arrivé, mais deux protocoles plus adaptés à la croissance du réseau sont arrivés aussi : OSPF et IS-IS. Cisco a développé IGRP puis EIGRP, qui s'adaptent bien aux réseaux plus grands.
Il a aussi fallu interconnecter des interréseaux et assurer le routage entre ces derniers : le protocole BGP (Border Gateway Protocol) est désormais utilisé par les FAI pour leurs clients privés importants, ou entre les FAIs.
Les protocoles de routage dynamique sont des ensembles de processus qui permettent de faciliter l'échange des informations de routage entre les routeurs. La fonction des protocoles de routage dynamique inclut :
- Découverte des réseaux distants
- Actualisation des informations de routage
- Choix du meilleur chemin vers des réseaux de destination
- Capacité à trouver un nouveau meilleur chemin si le chemin actuel n'est plus disponible.
Les principaux composants de ces protocoles sont :
- Structures de données : Ces protocoles utilisent des tables / des bases de données, stockées en mémoire vive.
- Messages de protocoles de routage : Ils utilisent différents types de messages pour découvrir les routeurs voisins, échanger des informations de routages, etc
- Algorithme : Il permettent de faciliter l'échange d'informations de routage et de déterminer le meilleur chemin d'accès.
Les meilleurs chemins, une fois déterminés, atterissent dans la table de routage (à défaut d'avoir une autre route avec une meilleure distance administrative). L'échange constant entre les routeurs permet de parer aux problème en cas de modification de la topologie du réseau. Les nouveaux réseaux et meilleurs chemins sont automatiquement ajoutés.
Utilisations du routage statique
Rappellons-nous alors les avantages du routage statique :
- Faciliter la maintenance dans les petits réseaux qui ne se développeront pas
- Permettre le routage dans les réseaux d'extrémité, qui n'ont qu'une route vers l'extérieur
- Accéder à une seule route par défaut.
Cela présente des inconvénients : Les routes statiques sont chiantes à mettre en oeuvre dans un grand réseau, la gestion des configurations prend du temps (comme ce cours), et le trafic n'est pas réacheminé en cas de perte d'un lien. Du coup...
Utilisation du routage dynamique
Le routage dynamique permet de gérer la configuration et la maintenance des routes plus simplement. Sur un grand réseau, c'est inévitable.
Les avantages :
- Marche sur toutes les topologies à plusieurs routeurs
- Généralement indépendant de la taille du réseau
- Adpate automatiquement la topologie.
Inconvénients :
- Plus complexe à mettre en oeuvre (au niveau des commandes, surtout)
- Moins sécurisé, il faut gérer des paramètres pour la sécurisation
- La route dépend de la topologie en cours (avec des routes statiques aussi...)
- Demande plus de ressources.
Configuration de RIP (Routing Information Protocol) sur le routeur
Mode de configuration RIP :
conf t router rip #On passe en mode de configuration RIP #Plusieurs commandes sont alors possibles
RIPv1 est le protocole par défaut.
Annonce des réseaux
Le routeur n'utilise pas encore RIP ; il doit savoir quelles interfaces utiliser pour parler avec les autres routeurs et quels réseaux annoncer. Pour activer le routage RIP pour un réseau :
network <addressereseau>
Cette commande active le protocole sur toutes les interfaces qui appartiennent à un réseau connecté directement (celui donné dans la commande). Il faut le faire pour chaque réseau connecté directement. Les interfaces associées à ces réseaux envoient et reçoivent désormais les informations de routage. Cette commande annonce aussi le réseau spécifié dans les mises à jour de routage RIP envoyées toutes les 30 secondes.
RIPv1 est fait pour IPv4 AVEC LES CLASSES. Si une adresse réseau CIDR est rentrée, elle est convertie en adresse par classe !
Vérifier le routage RIP
La vérification s'effectue via la commande show ip protocols :
- "Routing protocol is rip" : RIP fonctionne
- "Sending updates every 30 seconds; etc..." : les valeurs des différents compteurs
- "Default version control : send version 1, receive any version, ..." : On utilise RIPv1
- "Automatic network summarization..." : Le routeur récpaitule bien les réseaux (par classe)
- "Routing information sources" : Les voisins et leurs infos
Activer et vérifier RIPv2
Pour passer en RIPv2 pour les envois (une routeur en RIP, quelque soit sa version, peut recevoir toutes les versions de RIP), une fois en mode de configuration rip, on utilise la commande version 2
. Attention, pour que cela marche, il vaut mieux que tous les routeurs du réseau utilisent la même version...
Configurer des interfaces passives
Par défaut, les màj RIP sont envoyées via toutes les interfaces compatibles. Cependant, elles doivent en réalité être envoyées aux interfaces connectées aux autres routeurs compatibles. L'envoie de màj non nécessaires gaspilles des ressources (réseau et matérielles), et compormet un peu la sécurité. Pour avoir une interface passive, en mode de configuration RIP, il suffit d'utiliser :
passive-interface <nomdelinterface>
Une interface passive n'envoie plus d'annonces, mais son réseau est quand même annoncé. Tous les protocoles de routage prennent cette fonction d'interface passive en charge. On peut aussi faire en sorte que ce soit le comportement par défaut :
passive-interface default
Et passer une interface en mode actif :
no passive-interface
Propagation d'une route par défaut
Dans un scénario du type : "j'ai un réseau, et sur tous les routeurs de ce réseau, un seul a accès au net", il peut être intéressant de faire en sorte que ce routeur en question (appellons-le Paul le routeur) ait une route par défaut et qu'il la transmette aux autres, plutôt que de s'embêter à faire des routes statiques. Ainsi, Paul transmettra sa route par défaut à tous ses camarades routeurs, qui sauront directement où envoyer leurs paquets. Pour que cette route par défaut se propage, Paul doit avoir les élements suivants :
- Une route statique par défaut (ip route 0.0.0.0 0.0.0.0)
- La commande de configuration du routeur
default-information originate
. Cette commande indique à Paul qu'il doit propager sa route par défaut.
Tables de routage et routage dynamique
Une table de routage créée dynamiquement contient de nombreuses informations. Ce n'est pas une base de données linéaire; c'est une structure hiérarchique. Cette hiérarchie comprend plusieurs niveaux, décrits comme :
- Meilleure route (ou route finale?) : contient une adresse de tronçon suivant ou une interface de sortie. Les routes connectées directement, routes dynamiques et routes locales sont considérées comme étant de meilleures routes.
- Route de niveau 1 : route possédant un masque de sous-réseau inférieur ou égal au masque par classe de l'interface de sous-réseau. Par conséquent, elle peut être :
- Une route de réseau (route dotée d'un masque de sous-réseau égal à celui du masque de classe)
- Une route de super-réseau : dotée d'un masque inférieur au masque par classe, par exemple une adresse récapitulative
- Une route par défaut
- Route parent de niveau 1 : Une route de niveau 1 divisée en sous-réseaux (les sous-réseaux sont les enfants).
- Route enfant de niveau 2 : Un sous-réseau d'une adresse réseau par classe.
Pour résumer un peu mieux que cette merde de Cisco!, voici :
- Meilleure route : 192.168.50.0/24 via 10.0.0.2
- Route de niveau 1 :
- Route de réseau : 192.168.1.0/24 via fa0/1
- Route de super-réseau : 192.168.0.0/16 via fa0/1
- Route par défaut : 0.0.0.0 via fa0/2
- Route parent de niveau 1:
- 192.168.1.0/26 via fa0/1
- Route enfant de niveau 2:
- 172.16.1.0 via ... (Alors qu'on a déjà quelque part une route vers 172.16.0.0)
Processus de recherche de route
Quand il reçoit un paquet, le routeur examine l'adresse de destination et recherche dans sa table de routage. Il se passe alors :
- Si la meilleure correspondance est une route de niveau 1, elle est utilisée.
- Si la meilleure correspondance est une route parent de niveau 1 , passez à l'étape suivante
- En cas de correspondance avec une route enfant de niveau 2, elle est utilisée
- Sinon, on passe à l'étape suivante
- En cas de correspondance avec une adresse de sur-réseau de niveau 1 ou une route par défaut, on l'utilise.
- Si toujours pas de correspondance, on supprime le paquet.
Si on utilise pas CEF, une route faisant référence à une adresse de tronçon suivant mais pas à une interface de sorte doit être résolue vers une route ayant une interface de sortie.
Meilleure route = correspondance la plus longue
La meilleure correspondance pour un paquet est la plus longue, c'est-à-dire la route ayant le masque le plus long. En effet, on essaye d'être le plus spécifique possible. Du coup, entre :
- 172.16.0.0/12
- 172.16.0.0/18
- 172.16.0.0/24
On prendra la troisième, plus spécifique. Dans tous les cas, une route est une correspondance quand elle possède au moins le nombre de bits correspondant indiqué par le masque de sous-réseau de la route.
Table de routage en IPv6
Vu qu'IPv6 est classless, toutes les routes sont de niveau 1. Il n'y aucun parent de niveau 1 pour les enfant de niveau 2.
Chapitre 4 : Réseaux Commutés
Ce chapitre entreprend un examen du flux du trafic dans un réseau moderne. Il examine certains modèles actuels de concecption de réseau et la manière dont les commutateurs LAN créent des tables de transfert et utilisent les informations des adresses MAC pour commuter efficacement les données entre les hôtes.
Les commutateurs apportent :
- Qualité de Service
- Transfert de données
- Sécurité
Complexité croissante des réseaux
Les réseaux actuels offrent un accès qui n'est plus limité aux bureaux physiques ou aux sites géographiques. Ces "nouveaux" réseaux doivent répondre aux attentes, et les réseaux commutés et convergés ont vu la disparation de certains matériels (Petits PBX, Grands commutateurs téléphoniques, Infrastructures de local technique...) au profits d'autres (Commutateurs, Téléphones IP, Serveurs de convergence de support...). Les entreprises ont recours à des réseaux convergés utilisant des systèmes vocaux, des téléphones IP, des passerelles vocales, de la vidéo... Un réseau convergeant prenant en charge la collaboration inclut :
- Contrôle des appels téléphoniques (ID des appelants, transferts d'appels, mise en attente...)
- Messagerie vocale
- Mobilité : Réception d'appels en tout lieu
- Réception automatique : réponse plus rapide aux clients grâce au routabe direct des appels au service ou à la personne concernée.
Le réseau convergent a l'avantage de nécessiter la maintenance d'un seul réseau physique. Celui-ci doit donc supporter la grande quantité de données qui transitent, et traiter avec fiabilité les différents types de données qui transitent. Sa conception doit être structurée.
Réseau sans frontières Cisco
Le réseau sans frontières Cisco est un réseau capable de relier n'importe qui, n'importe où. Il fournit un cadre permettant d'unifier l'accès câblé et sans fil, notamment la gestion des politiques, du contrôle d'accès et la gestion des performances. Il offre alors deux types de services : les services réseau et les services d'utilisateur et de terminal, qui sont tous gérés par une solution intégrée de gestion.
Cela implique l'utilisation de principes de conception de réseaux robustes. Le réseau commuté sans frontières doit pouvoir répondre aux besoins actuels et prendre en charge les services de technologie ultérieurement requis. Les dirctives de conception de réseaux commutés sans frontières s'appuient sur les principes suivants :
- Hiérarchie : Facilite la compréhension de chaque périphérique à chaque niveau, le déploiement, l'exploitation et la gestion
- Modularité : extension transparente du réseau
- Résilience : Assure que le réseau reste toujours actif
- Flexibilité : Utilise toutes les ressources du réseau, afin de bien répartir la charge de travail.
Les conceptions de réseaux à trois et deux couches sont des bases testées et fiables de conception hiérarchisée de réseau de campus.
Couche accès
Cette couche constitue la périphérie du réseau, où le trafic entre et sort du réseau du campus. Traditionnellement, un switch de couche d'accès a pour fonction principale de fournir un accès au réseau à l'utilisateur. Ces commutateurs se connectent à ceux de la couche distribution. L'introduction d'intelligence dans cette couche permet aux applications de s'éxecuter sur le réseau avec plus d'efficacité et de sécurité.
Couche Distribution
Elle établit l'interface entre la couche accès et la couche de coeur de réseau pour fournir de nombreuses fonctions importantes, dont :
- Regroupement de réseaux étendus d'armoires de câblage
- Regroupement de domaines de diffusions de couche 2 et des limites de routage de couche 3
- Fonctions intelligentes de commutation, routage et de règles d'accès au réseau
- Haute Disponibilité pour l'utilisateur final et chemins à coût égal vers le coeur de réseauau moyen de commutateurs redondants dans la couche de distribution
- Services différenciés pour différentes classes d'applications et de services à la périphérie du réseau
Coeur de réseau
Elle sert de réseau fédérateur. Elle connecte plusieurs couches du réseau du campus. Elle sert d'aggrégateur entre les blocs du réseau du campus et le joint au reste du réseau. Elle a pour objectif d'isoler les défaillances et d'assurer la connectivité haut débit du réseau fédérateur.
Différentes architectures
Sur un gros réseau amené à évoluer, il est préférable d'utiliser une architecture en étoile étendue, avec le coeur de réseau au milieu. Dans un réseau plus petit (dans un seul bâtiment par exemple), on pourra regrouper les couches distribution et coeur de réseau.
Rôle des réseaux commutés
Il y'a peu, les réseaux linéaires de couche 2 étaient encore répandus. Ils étaient fondés sur l'Ethernet et l'utilisation généralisés de hub pour propager le trafic LAN. Les réseaux ont cependant bien changés avec les réseaux commutés, qui apporte :
- QoS
- Sécurité supplémentaire
- Prise en charge du Sans fil
- Prise en charge de nouvelles technologies, comme la VoIP et la mobilité
Facteurs d'encombrement
Ils existe différents types de commutateurs, et ils faut en déployer qui soient adaptés. Pour choisir, il faut savoir si le commutateur est:
- Fixe ou modulaire
- Empilable ou non.
- L'épaisseur du commutateur, exprimé en unités de rack, doit également être déterminée. Cela est important pour les commutateurs en rack.
Commutateurs de configuration fixe : Il ne prennent en charge que les options fournies d'origine avec le commutateur. On ne peut pas y ajouter de modules et on doit prendre en compte cela.
Commutateurs de configuration modulaire : Ils apportent plus de flexibilité. Ils sont en général livrés avec un châssis plus ou moins grand, qui peut acceuillir différentes cartes d'interface modulaires, qui elles-même contiennent les ports.
Commutateurs de configuration empilable : Ils peuvent être interconnectés à l'aide d'un câble spécial fournissantun débit de bande passante élevé entre les commutateurs. La technologie Cisco StackWise permet l'interconnexion de 9 commutateurs. Ils fonctionnent alors comme un seul commutateur et sont recommandés lorsque la tolérance aux pannes et la disponibilité de bande passante est essentielle. StackPower permet de répartir l'énergie dans la pile de commutateurs.
Transfert de trames
Le concept de commutation et de transfert de trames est universel dans les réseaux et les télécommunications. Différents types de commutateurs sont utilisés dans les LAN, WAN, et RTPC (Réseau Téléphonique Public Commuté). Le concept fondamental de commutation désigne un périphérique prenant une décision en fonction de 2 critères :
- Port d'entrée
- Adresse de destination.
Le commutateur décide de transférer le trafic selon le flux de ce trafic.
Un switch LAN génère une table qu'il utilise pour déterminer l'acheminement du trafic. Cette table, appellée parfois table MAC/port, relie à chaque port une adresse MAC de destination. La seule intelligence du switch est de transférer le trafic en fonction du port d'entrée et de l'adresse de destination d'un message. Il utilise une seule table qui relie adresses et ports; un message comprenant une adresse de destination données sort toujours par le même port.
Pour pouvoir pouvoir remplir cette table, il doit tout d'abord apprendre quels périphériques sont sur quel port. À mesure qu'il fait cela, sa table MAC (parfois CAM, Content Addressable Memory; la CAM est un type particulier de mémoire utilisé dans les applications de recherche haut débit).
Le processus en 2 étapes suivant se déroule sur chaque trame entrant sur le switch :
- Découverte de l'adresse MAC source : Le switch regarde si de nouvelles informations sont disponibles sur chacune des trames entrantes. Il examine l'adresse MAC source de la trame et le numéro du port par lequel la trame est entrée dans le commutateur. Si l'adresse MAC n'existe pas, elle est ajoutée à la table avec le numéro de port d'entrée. Sinon, le switch réinitialise le compteur d'obsolescence de cette entrée. Par défaut, c'est en général 5 minutes. Si elle existe, mais sur un autre port, elle est traitée comme une nouvelle entrée.
- Transfert - examen de l'adresse MAC de destination : Si l'adresse MAC dst est une adresse de monodiffusion, le commutateur recherche une correspondance dans sa table:
- Si elle y est, il transfère la trame
- Si elle n'y est pas, il "floode" (terme perso) : il transfère la trame sur tous les ports sauf celui d'entrée. Cela s'appelle une monodiffusion inconnue. Il fait la même chose avec une adresse MAC de bcast ou de multidiffusion.
Store and forward
Dans les années 90, les progrès de la technologie des circuits intégrés ont permis la création de cricuits intégrés spécifiques (ASIC, Application Specific Integrated Circuits). Ils réduisent le temps de traitement des paquets par le périphérique, permettent d'avoir plus de ports. Cette méthode de transfert de trame est appellée "stockage et retransmission" et se distingue ainsi du "cut-through". Elle décide de transmettre une trame après avoir la vérifié que la trame est complète et sans erreur à l'aide du Contrôle de Redondance Cyclique (le checksum, quoi...), ce qui n'est pas le cas du cut-through. De plus, il utilise la mise en tampon automatique, qui permet de combiner toutes les vitesses Ethernet : un commutateur peut recevoir une trame sur du 100M, et la renvoyer sur du 1G. Dès que la vitesse d'entrée et de sortie ne correspondent pas, le commutateur utilise la mise en tampon et le contrôle d'erreurs. Ce mode de transfert est le principal, sur le matériel Cisco.
Cut-through
Le cut-through, lui, ne contrôle pas les erreurs. Cela lui donne l'avantage de commencer les transferts plus tôt. Ce type de commutation présente deux caractéristiques principales :
- Transmission rapide des trames : Comme on l'as déjà dit, le commutateur commence à envoyer les trames dès qu'il a reçu l'adresse de destination. Grâce aux contrôleurs MAC et aux circuits ASIC, le switch peut rapidement déterminer si il doit examiner une grande partie des en-têtes afin de savoir si il doit effectuer des filtrages supplémentaires. Il peut par exemple analyser les 14 premiers octets (MAC src et dst, champ EtherType), puis les 40 octets d'après vis-à-vis des fonctions sophistiquées de couche 3 et 4. Le cut-through transfère la plupart des trames non valides, ce qui peut encombrer le réseau.
- Fragment-free : Variante du cut-through, un switch fragment-free attends la fin de la réception de la fenêtre de collision (64 octets) avant de transférer la trame. Il contrôle aussi le CRC. Cela assure un meilleur contrôle des erreurs, avec presuqe pas de latence supplémentaire.
Le cut-through est adapté aux réseaux demandant des latences faibles, de l'ordre de 10 ms.
Domaines de collision
Dans un réseau basé sur des hubs, les périphériques réseau sont en concurrence pour le support, car ils transmettent à tour de rôle. Les segments qui partagent la même bande passante entre les périphs sont appellés domaines de collision. Si deux périphs dans le même domaine essayent de parler en même temps, il y'a une collision.
Si un switch marche en mode bidirectionnel non simultané (half-duplex), chaque segment est dans son propre domaine de collision. En Full-duplex, pas de problème. Du coup, les ports du commutateurs essayent automatiquement de négocier le FUll-duplex, si leur correspondant le peut aussi. Sinon, il se mettront en half-duplex. Waouh.
Domaines de diffusion
Un ensemble de switches interconnectés constitue un domaine de diffusion. Seul un périphérique de couche 3 peut diviser un domaine de diffusion (d'ailleurs, les routeurs segmentent aussi les domaines de collision). Un domaine de diffusion représente toute la surface dans laquelle un bcast (avec son adresse MAC dst remplie de 1, ou ff:ff:ff:ff:ff:ff) pourra se répandre.
Le domaine de diffusion de couche 2 est appellé domaine de diffusion MAC. Pour rappel, les switches transfèrent les broadcast par tous leur ports sauf celui d'entrée; un trop grand nombre de broadcast peut amener à de la saturation, voire à une tempête. Plus on rajoute de switches, plus le domaine de diffusion augmente.
Réduction de l'encombrement du réseau
les switches LAN peuvent réduire l'encombrement du réseau, notamment parce que le half-duplex automatique réduit les domaines de collision. Le half-duplex est obligatoire à partir du 1Gbps. D'autres caractéristiques peuvent réduire l'encombrement :
- Densité de ports élevée : mieux vaut avoir un switch avec beaucoup de ports que plein de switches avec peu de ports (on évite du trafic comme spanning-tree par exemple...)
- Tampons de trames étendus : enregistrer plusieurs trames avant de commencer à les abandonner est utile en présence de ports encombrés vers des serveurs, par exemple.
- Vitesse des ports
- Commutation interne rapide
- Faîble coût par port
Chapitre 5 : Configuration de commutateur
Configuration de base
Séquence de boot
La séquence de boot d'un switch est la suivante :
- POST (Power On Self Test) : Contrôle du sous-système du processeur : on teste le CPU, la mémoire vive et le système de fichiers flash
- Exécution du bootloader : C'est un petit programme situé en ROM
- Initialisation bas niveau du CPU : Initialisation des registres du CPU qui contrôlent l'emplacement auquel la mémoire vive est mappée, la qté de mémoire et sa vitesse
- Le bootloader initialise le système de fichier flash sur la carte système
- Le bootloader localise et charge une image par défaut de IOS et donne le contrôle du commutateur à IOS.
Le bootloader recherche IOS comme suit : d'abord, il tente de démarrer automatiquement en utilisant la variable de démarrage BOOT. Sinon, il tente de télécharger et d'exécuter le premier fichier exécutable trouvé en effectuant une recherche récusrive en profondeur sur le système de fichiers flash.
Enfin, IOS initialise les interfaces en lisant le fichier de configuration initiale.
Récupération après une panne
Le bootloader dispose d'une ligne de commandes en cas de problèmes.
Pour y accéder :
- Connecter un PC par câble console
- Débrancher l'alim du commutateur
- Reconnecter l'alim et dans les 15 secondes suivantes, maintenir enfoncé le bouton "Mode" tandis que la LED système clignote en vert
- Continuer à appuyer sur Mode jusqu'à ce que la LED clignote orange, puis vert fixe.$
- L'invite switch: s'affiche alors.
LEDs du commutateur
- LED système : indique si le système est bien alimenté et s'il fonctionne correctement. Si la LED est éteinte, cela signifie que le système est hors tension. Si la LED est verte, le système fonctionne normalement. Si la LED est orange, le système est sous tension mais ne fonctionne pas correctement.
- LED système d'alimentation redondante (RPS) : affiche l'état du système RPS. Si la LED est éteinte, le système RPS est éteint ou n'est pas correctement connecté. Si la LED est verte, le système RPS est connecté et prêt à fournir l'alimentation de secours. Si la LED est verte et clignote, le système RPS est connecté mais n'est pas disponible parce qu'il alimente un autre périphérique. Si la LED est orange, le système RPS est en veille ou en erreur. Si la LED est orange et clignote, l'alimentation interne du commutateur a rencontré une erreur et le système RPS a pris le relais de l'alimentation.
- LED état port : indique que le mode état de port est sélectionné lorsque la LED est verte et clignote. Il s'agit du mode par défaut. Lorsque cette option est sélectionnée, les LED du port affichent des couleurs de différentes significations. Si la LED est éteinte, aucune liaison n'est établie ou le port a été arrêté administrativement. Si la LED est verte, une liaison est établie. Si la LED est verte et clignote, la liaison est active et le port envoie ou reçoit des données. Si la LED est verte, puis orange, une panne au niveau de la liaison est présente. Si la LED est orange, le port est bloqué pour s'assurer que le domaine de redirection ne présente pas de bouclage et ne redirige pas de données (en général, les ports restent à cet état au cours des 30 premières secondes suivant leur activation). Si la LED est orange et clignote, le port est bloqué pour éviter tout bouclage dans le domaine de redirection.
- LED de bidirectionnalité du port : indique que le mode de bidirectionnalité du port est sélectionné lorsque la LED est verte. Lorsque ce mode est sélectionné, les LED éteintes indiquent les ports en mode bidirectionnel non simultané. Si la LED du port est verte, le port est en mode bidirectionnel simultané.
- LED de vitesse de port : indique que le mode vitesse de port est sélectionné. Lorsque cette option est sélectionnée, les LED du port affichent des couleurs de différentes significations. Si la LED est éteinte, le port fonctionne à 10 Mbit/s. Si la LED est verte, le port fonctionne à 100 Mbit/s. Si la LED est verte et clignote, le port fonctionne à 1000 Mbit/s.
- LED de mode PoE (Power over Ethernet) : si le mode POE est pris en charge, une LED de mode PoE est présente. Si la LED est éteinte, le mode PoE n'est pas sélectionné et aucun port n'est privé de courant ou ne présente d'erreur. Si la LED est orange et clignote, le mode PoE n'est pas sélectionné mais au moins un port est privé de courant ou présente une erreur relative au PoE. Si la LED est verte, le mode PoE est sélectionné et les LED de port présentent différentes couleurs, dont la signification varie. Si la LED de port est éteinte, le mode PoE est désactivé. Si la LED de port est verte, le mode PoE est activé. Si la LED de port alterne entre le vert et l'orange, le mode PoE est refusé car l'alimentation du périphérique entraînerait un dépassement de la capacité électrique du commutateur. Si la LED est orange et clignote, le mode PoE est désactivé en raison d'une erreur. Si la LED est orange, le mode PoE a été désactivé pour le port.
Préparation à la gestion de commutateur de base
Pour pouvoir administrer le commutateur à distance, il est essentiel de configurer sa SVI (VLAN 1 par défaut, mais mieux vaut utiliser un autre VLAN pour la gestion), c'est-à-dire lui donner une IP et éventuellement une Gateway.
- Création d'un VLAN et association d'une interface à ce VLAN:
S1(config)# vlan vlan_id S1(config-vlan)# nom vlan_name S1(config-vlan)# exit S1(config)# interface interface_id S1(config-if)# switchport access vlan vlan_id
- Configuration de la SVI (ici VLAN 99):
S1# conf t S1 (config) # interface vlan 99 S1 (config-if) # ip address 192.168.50.12 255.255.255.0 S1 (config-if) # ip default-gateway 192.168.50.254 S1 (config-if) # no shut S1 (config-if) # end S1 # copy run start
- On peut vérifier avec "show ip interface brief"
Communications Bidirectionnelles (Half ou full duplex)
Il faut configurer à la fois le type de duplex et la vitesse, en accord avec le voisin d'en face (par défaut, ces paramètres sont négociés automatiquement). Pour rappel, full-duplex est obligatoire à partir de 1Gbps. Attention aux réglages incohérents et aux échecs de négociation. Tous les ports FO, comme le 1000BASE-SX, fonctionnent uniquement à une vitesse prédéfinie et en mode Full-Duplex. Il est également à noter qu'une interface configurée manuellement doit normalement pouvoir fournir les informations à sa voisine pour que celle-ci utilise la négociation automatique.
S1 # conf t S1 (config) # interface Fa0/1 S1 (config-if) # duplex full S1 (config-if) # speed 100 #Vitesse en Mbits S1 (config-if) # end S1 #copy run start
Auto-MDIX
La fonctionnalité d'interface croisée indépendante du support (Auto-MDIX) permet de ne plus avoir à se demander si le câble est droit ou croisé. Pour rappel, si Auto-MDIX ne fonctionne pas : Vérific
- Câble droit : périph réseau -> périph final
- Câble croisé : réseau -> réseau ou final -> final
Même chose que précédemment mais avec Auto-MDIX d'ajouté :
S1 # conf t S1 (config) # interface Fa0/1 S1 (config-if) # duplex full S1 (config-if) # speed 100 #Vitesse en Mbits S1 (config-if) # mdix auto S1 (config-if) # end S1 #copy run start
Auto-MDIX est activé par défaut sur les commutateurs relativement récents.
- Pour vérifier auto-MDIX :
show controllers ethernet-controller fa 0/1 phy | include Auto-MDIX
Vérification de la configuration des ports du commutateur
Quelques détails de show interfaces
Lors d'un "show interfaces", une ligne est importante :
FastEthernet0/1 is up, line protocol is up
FastEthernet0/1
is up fait référence à la couche matérielle et indique si l'interface reçoit une porteuseline protocol is up
fait référence à la couche liaison de données et indique si les messages de test d'activité sont en cours de réception.
Si l'un des deux (ou les deux) est down, il y'a un problème : soit un câble est débranché, soit sur une liaison jumelée l'autre interface est débranchée, etc...
show interfaces permet de détecter pas mal d'erreurs, du type :
Erreurs en entrée (input errors):
- Trames incomplètes (runt) : trames de - de 64 octets
- Trames géantes (giants) : trames + grandes que le MTU
- Erreurs CRC (indiquées par CRC)
Erreurs en sortie (output errors):
- Collisions (collisions) : C'est normal en half-duplex, mais pas en full-duplex !
- Collisions tardives : désigne une collisions se produisant après que 512 octets de la trame aient été transmis. Cela peut se produire quand les câbles sont trop longs, ou que l'une des deux extrémités est en half-duplex quand l'autre est en full-duplex.
Dépannage des problèmes de couche d'accès au réseau
La plupart des problèmes surviennent lors de l'installation du réseau; en théorie, une fois installé, il doit continuer à fonctionner. Cependant, la configuration peut évoluer, les câbles être endommagés, de nouveaux périphériques sont branchés, des interfaces peuvent griller... La procédure générale suivante peut être utilisée pour détecter les problèmes d'absence ou de mauvaise connectivité :
En cas de mauvaise connectivité, le bruit peut être detecté par une augmentation du nombre de trames géantes, incomplètes, ou d'erreurs CRC; il faut aussi vérifier que le câble n'est pas trop long. Si le problème ne vient pas du bruit, il faut bien vérifier le nombre de collisions : un grand nombre de collision est sûrement du à un problème de vitesse / de duplex.
Sécurisation
SSH sur les commutateurs
SSH remplace Telnet en sécurisant les transmissions. Pour rappel, SSH = TCP22 et Telnet = TCP23. Pour activer SSH sur un commutateur, il faut disposer d'une version d'IOS qui prend en charge les fonctionnalités de crypto : un show version montre le numéro de version, celui-ci doit contenir "K9" si il a ces fonctionnalités.
Pour la configuration :
- show ip ssh : pour voir si le commutateur prend en charge ssh
- ip domain name example.com : nom de domaine IP du réseau
- ip ssh version 2 : la version 1 de ssh n'est pas fiable !
- crypto key generate rsa : génération des clefs et activation du serveur
- crypto key zeroize rsa permet de supprimer les clefs et de désactiver SSH
- username admin secret motdepasse : génére les identifiants
- line vty 0 15
- transport input ssh : active le SSH sur les lignes
- login local : authentification locale (par rapport à une authentification RADIUS)
Pour la vérification :
- On peut déjà tenter de se connecter...
- show ip ssh permet d'afficher des informations
Sécurité des ports
C'est une bonne idée, si on est sûr que les ports ne seront pas utilisés, de les désactiver. Pour cela, c'est simple :
- interface range fa0/1 - 10
- Peut aussi se faire port par port
- shutdown
- no shut pour les réactiver
Tous les ports doivent être sécurisés avant la mise en production. L'une des méthodes consiste à limiter les adresses MAC autorisées sur chaque port. On peut par exemple n'autoriser qu'une liste particulière d'adresses MAC sur un port; une connexion depuis une adresse MAC inconnue génèrera une alerte de sécurité. Il existe plusieurs types d'adresses MAC sécurisées :
- Adresses MAC sécurisées statiques : configurée manuellement sur un port à l'aide de la commande
switchport port-security mac address 12:34:56:78:90:12
. Les adresses MAC configurées de cette manière sont ajoutées à la table d'adresses et à la configuration en cours. - Adresses MAC sécurisées dynamiques : Les adresses apprises dynamiquement et stockées dans la table d'adresse sont supprimées au redémarrage du switch.
- Adresses MAC sécurisées rémanentes : dynamiques ou statiques, elles sont stockées dans la table d'adresses et ajoutées à la configuration en cours. Pour convertir les MAC dynamiques en rémanentes et les ajouter à la configuration en cours, la commande est :
switchport port-security mac-address sticky.
L'exécution de cette commande fait que le switch convertit toutes les adresses MAC apprises dynamiquement jusque ici (y compris avant la commande) et en fait des adresses rémanentes. Elles peuvent aussi être configurées manuellemen, avecswitchport port-security mac-address sticky 12:34:56:78:90:12.
Une fois que l'on a enregistré la configuration en cours, le switch n'as pas à réapprendre les adresses. Il est à noter que lorsque la sécurité des ports est désactivée, les adresses sont sorties de la table. Si l'on désactive les adresses MAC rémanentes, elles sont transformées en adresses apprises dynamiquement.
Modes de violation : Une interface peut être configurée selon 3 modes de violationne spécifiant les actions à entreprendre si cela se produit. Les 3 modes sont : protect, restrict, shutdown.
- Protect : Quand le nombre d'adresses MAC sécurisées atteint la limite max. sur le port, les paquets venant d'adresses nouvelles sont ignorés tant que on a pas de place pour des nouvelles adresses MAC. Aucun notification n'est produite.
- Restrict : Même chose que Protect, mais envoie une notification de sécurité.
- Shutdown : le mode par défaut : toute violation de sécurité entraîne la désactivation des erreurs dans l'interface et désactive la LED. Le compteur de violation est incrémenté. Pour arrêter ce mode dans lequel les erreurs ne sont plus enregistrées, il faut utiliser shutdown suivi de no shut.
Pour modifier le mode de violation d'un port :
switchport port-security violation {protect | restrict | shutdown }
Sécurité des ports : résumé
Paramètres par défaut :
- Sécurité des ports désactivée
- Nombre maximal d'adresses MAC : sécurisées : 1
- Mode de violation : shutdown
- Adresses rémanentes désactivées.
Une configuration type :
- Choix d'interface : interface fa0/19
- Mode : switchport mode access
- Sécurité des ports : switchport port-security
- Nombre max. d'adresses : switchport port-security maximum 10
- Apprentissage rémanent : switchport port-security mac-address sticky
Sécurité des ports : vérifications
La commande de vérification est :
show port-security interface fastethernet 0/19
Pour voir les adresses MAC sécurisées :
show port-security address
Ports en état Error Disabled
Un port peut passer dans ce mode suite à une violation; il est alors désactivé et ne peut plus laisser passer de trafic. Une série de messages s'affiche alors dans la console; le protocole et l'état de la liaison du port passent sur "down". La commande show interfaces montre le port comme étant err-disabled. Pour rappel, on peut "réenclencher" le port avec shut suivi de no shut; mais il faut déterminer la source de la violation avant.