Professional Documents
Culture Documents
modèle OSI
Le principe de l'encapsulation dans le modèle OSI est un aussi une notion fondamentale pour
bien comprendre le fonctionnement de la transmission d'un hôte d'origine à sa destination.
Chaque couche parle à l'autre dans un contexte d'égal à égal.
1. Electricité :
2. Signalisation
On trouvera ici les schémas de brochage des câbles droits et des câbles croisés ainsi que leur
utilité.
Outre le fait que les nouvelles gammes de matériel actif s'adaptent automatiquement aux
câbles, on utilisera soit du câble croisé ou droit selon le type de matériel que l'on connecte :
Câbles droits :
• PC à Hub
• PC à Switch
• Switch à Routeur
Câbles croisés :
• Switch à Switch
• Hub à Hub
• Routeur à Routeur
• PC à PC
• Hub à Switch
• PC à Routeur
Brochage droit d'un câble UTP/STP cat. 5 sur une prise modulaire RJ45
Jack mâle
Il faut échanger les broches 1 avec 3 et 2 avec 6, c'est à dire remplacer les fils verts par les fils
oranges et vice versa.
En regardant les contacts métalliques de la fiche :
R/T Fils Couleurs Fils Couleurs R/T
TD+ 1 Blanc/Vert --> 1 Blanc/Orange TD+
TD- 2 Vert --> 2 Orange TD-
RD+ 3 Blanc/Orange --> 3 Blanc/Vert RD+
4 Bleu --> 4 Bleu
5 Blanc/Bleu --> 5 Blanc/Bleu
RD- 6 Orange --> 6 Vert RD-
7 Blanc/Marron --> 7 Blanc/Marron
8 Marron --> 8 Marron
Timing Ethernet
Par francois Dernière modification 09/12/2007 14:22 Francois Goffinet
Les notions de temps dans les technologies Ethernet Half-duplex sont d'une importance
capitale. Elles permettent également de préciser le mécanisme de reprise de transmision
(Backoff) pour la ou les cartes réseaux impliquées dans une collision. Le succès d'Ethernet est
d'avoir gardé une compatibilité totale qu'elle qu'ait été l'évolution croissante des vitesses sur
différents supports, notamment grâce à un mécanisme d'adaptation (négociation).
Le bit time est l'unité de mesure de référence dans le calcul des délais Ethernet. En fonction
de la vitesse de la technologie cette notion absolue, « transmettre un bit en un temps »,
donnera un délai concret :
Grâce à cette unité de mesure, les valeurs resteront identiques quelle que soit la vitesse de la
technologie.
Il est important d'avoir à l'esprit que le mécanisme ici présenté concerne les premières
technologies Ethernet en Half-Duplex où le phénomène des collisions est inhérent sur un
médium physique partagé.
2.2. La transmission
Après l'IGF, à condition qu'il y ait toujours absence de porteuse, la carte réseau commence à
transmettre. Si aucune collision n'est détectée, la station considère que la transmission s'est
déroulée avec succès.
Une collision est détectée localement par une carte émettrice si il y a une augmentation de
l'amplitude du signal, sur du câble coaxial, ou sur de la paire torsardée (en Half-Duplex), si
les deux paires RX et TX sont utilisées simultanément.
En cas de collision, ce sont seulement les cartes émettrices, nécessairement impliquées, qui
agissent. Elles renforcent la collision en émettant un signal de bourrage (jam signal) de
broadcast d'une longueur de 32 bits. Cette trame est remplie d'une suite de 1 et de 0 binaires.
Dans un logiciel d'analyse, on aura une suite de 0xA (1010 binaire) ou de 0x5 (101 binaire).
Si la collision est détectée pendant la transmission du préambule (64 bits de 1 et 0), les 32 bits
de bourrage y sont ajoutés. L'algorithme Back-Off entre alors en jeu pour la reprise de la
transmission.
Les cartes réseau vont considérer que si aucune collision n'est détectée endéans un délai de
512 bit time (autrement dit après l'envoi des 64 premiers octets en 51,2 µs sur du 10 Mbps), le
canal est acquis et aucune collision tardive ne peut intervenir sur un réseau bien conçu
(respectant les normes).
Les collisions apparaissent sur un réseau Half-Duplex à cause du partage d'un média. Elles
sont possibles car la transmission d'un signal prend un certain délai de propagation. Le slot-
time est défini à 512 bit-time sur du 10 Mbps et 100 Mbps Ethernet. Il est déterminé par le
temps moyen maximal théorique de la transmission d'un symbole d'une extrémité à l'autre du
réseau. Dans cette fourchette de temps, deux stations pourraient émettre en même temps alors
qu'aucune porteuse n'aurait été détectée ! Il s'ensuivrait des collisions. Etant donné que le
champ data d'une trame doit être au minimum de 46 octets et que les champs d'en-tête ont une
longueur fixe de 22 octets, on considérera qu'une trame valide aura toujours au moins une
longueur de 512 bits, le slot time.
L'algorithme Backoff est un mécanisme qui permet de faire en sorte que deux ou plusieurs
stations impliquées dans une collision retransmettent leur trame dans des délais différents
générés de manière aléatoire. En fonction du nombre d'essais de retransmission (15
maximum, le seizième jette la trame), la fourchette de délais de reprise grandit de manière
exponentielle. Cette fourchette va de zéro à un nombre entier multiplié par le slot time.
Ce nombre entier est calculé comme suit :
La variable k est le nombre de collisions intervenues (le nombre d'essais) dans un maximum
de 10. La variable a peut prendre une valeur aléatoire entre 0 et 1023 quand k = 10. On voit
dans le tableau ci-dessous que les temps de backoff vont croître de manière exponentielle
après un nombre consécutifs de collisions. En fonction du nombre d'essai, on peut estimer le
nombre de stations impliquées. Dnas un cas estimé de plus de 1023 stations impliquées, on
estime que la situation a dépassé des limites raisonables d'un réseau performant.
Primo, une collision locale est une collision détectée sur un segment physique telle que les
cartes réseau la détecte dans le cadre du mécanisme CSMA/CD décrit ci-dessus. Elle
intervient avant la transmission des 64 premiers octets.
Deusio, une collision distante est une collision qui ne dispose pas d'une longueur minimale
de 64 octets et dont le champ FCS est invalide à la vérification du récepteur mais qui n'est pas
détectée en tant que collision locale (activité simultanée RX et TX, augmentation d'amplitude
du signal). En général, ce type de collision intervient au-delà du matériel intermédiaire tel
qu'un hub ou un répéteur. Elle intervient avant la transmission des 64 premiers octets. C'est
l'erreur la plus courante sur les réseaux UTP.
Tertio, une collision tardive est la seule qui intervient après les 64 premiers octets. Ce type de
collision est ignorée par les cartes réseau et intervient dans le cas où les stations sont trop
éloignées physiquement pour détecter une collision. Le respect de la règle 5-4-3-2-1, -cinq
segments physiques, quatre répéteurs, trois segments occupés par des stations, 2 segments de
liaison entre répéteurs et un seul domaine de collision- permet d'éviter les collisions tardives.
En fait, les sources de latence, principalement les cartes réseaux, le support lui-même et les
matériels intermédiaires ont leur limite de propagation et de re-synchronisation du signal. Ces
limites physiques sont vulgarisées dans la règle.
Un autre facteur de succès des technologies Ethernet est leur capacité à assurer une
compatibilité entre les différentes évolutions. Outre le respect du format des trames, cette
compatibilité est assurée par un mécanisme d'auto-négociation assuré par l'envoi régulier d'un
signal «link pulse» qui permet aux stations de déterminer dans un ordre précis avec une
négociation progressive le type de communication commune en vitesse et en mode Half- ou
Full- duplex. Toutefois, en fonction des pilotes développés pour les chipsets des cartes
réseaux, ils reste possible de forcer par logiciel le type de communication.
En ce qui concerne le format de trame, le champ preambule qui est utile à la synchronisation
dans un contexte de transmission asynchrone (Half-Duplex) devient redondant et inutile mais
a été gardé dans la perspective d'une inter-opérabilité des technologies.
5. Annexes
L'implémentation d'un service RARP (Reverse ARP), utilisant des messages ARP (couche 3)
dans un contexte client/serveur afin qu'un serveur attribue à un client qui en fait la demande
une adresse IP prédéfinie est devenu obsolète. Le successeur de BOOTP (couche7), DHCP est
le protocole incontournable pour la bonne compréhension des mécanismes d'attribution
statique, automatique ou dynamique d'une multitude de paramètres réseaux aux clients, dont
l'adresse IP, le masque, la passerelle ...
Le Dynamic Host Configuration Protocol (DHCP) est utilisé pour activer des hôtes (Clients
DHCP) sur un réseau IP pour obtenir leur configuration d'un serveur (Serveur DHCP),
notamment en leur attribuant dynamiquement leur adresse IP. Cette solution est évidemment
intéressante pour réduire le poids administratif de la gestion d'un tel réseau [1].
DHCP, protocole applicatif, utilise UDP au niveau de la couche transport. Le client envoie
des messages au serveur sur le port (67) et le serveur renvoie des messages au client sur le
port (68).
DHCP est une extension du protocole BOOTP [2]. Les deux principales différences entre ces
deux protocoles sont les suivantes :
2. DHCP fournit le mécanisme qui donne beaucoup plus de paramètres de configuration pour
qu'un client puisse opérer dans un réseau TCP/IP.
3. Allocation dynamique - DHCP assigne une adresse IP au client pour une période limitée
(bail - lease)
Nous nous concentrerons sur le mécanisme des allocations dynamiques. D'autres paramètres
de configurations sont disponibles dans la RFC 1533, dont :
Le masque de sous-réseau
Le routeur
Le domaine
Le serveur DNS
Fonctionnement basique :
Résumé de DHCP
Fonctionnement détaillé :
Dans un session typique, le client diffuse (broadcast) un message DHCPDISCOVER sur son
segment local. Le client peut suggérer son adresse IP et la durée du bail (lease). Si le serveur
est sur le même segment, il peut répondre avec un message DHCPOFFER qui inclut une
adresse IP valide et d'autres paramètres comme le masque de sous-réseau [3]. Une fois que le
client reçoit ce message, il répond avec un DHCPREQUEST qui inclut une valeur identifiant
le serveur (pour le cas o๠il y en aurait plusieurs). Cette valeur l'identifie de manière certaine
et décline implicitement les offres des autres serveurs. Une fois le DHCPREQUEST reçu, le
serveur répond avec les paramètres définitifs de configuration par un message DHCPACK (si
le serveur a déjà assigné l'adresse IP, il envoie un DHCPNACK).
Si le client détecte que l'adresse IP est déjà utilisée sur le segment, il envoie un
DHCPDECLINE au serveur et le processus recommence [4].
Si le client plus besoin d'une adresse IP, il envoie un DHCPRELEASE au serveur. Avec
Windows, on exécutera la commande ipconfig /release_all [5].
Si le client veut étendre la durée du bail qui lui est allouée, il envoie un DHCPREQUEST au
serveur dans lequel le champ 'ciaddr' correspondra à son adresse IP actuelle. Le serveur
répondra avec un DHCPACK comprenant la nouvelle durée du bail.
On trouvera donc 4 états DHCP pour le client :
1. Initialisation
2. Sélection
3. Requête
4. Liaison
Message Utilisation
DHCPDISCOVER Diffusion (broadcast) du client pour localiser les serveurs disponibles
Du serveur au client pour répondre au DHCPDISCOVER avec les
DHCPOFFER
paramètres de configuration.
Message client aux serveurs soit (a) qui demande les paramètres à un
serveur et décline implicitement les offres de tous les autres, (b) qui
DHCPREQUEST confirme la validité des adresses précédemment allouées, par ex : un
redémarrage système, ou (c) qui étend le bail sur une adresse réseau en
particulier.
Du serveur au client avec les paramètres de configuration et qui inclut
DHCPACK
l'adresse réseau déjà attribuée.
Du serveur au client indiquant que la notion d'un client pour les adresses
DHCPNAK réseau est incorrecte. (par ex : si un client est déplacé sur un nouveau sous
réseau) ou que le bail du client a expiré.
DHCPDECLINE Client vers serveur indiquant que l'adresse réseau est déjà utilisée.
DHCPRELEASE Client vers serveur libérant l'adresse réseau et annulant le bail.
Client vers serveur, demandant seulement les paramètres de configuration
DHCPINFORM locaux ; le client possède déjà une adresse réseau attribuée de manière
externe.
Adressage IP
Par francois Dernière modification 09/12/2007 14:17
Au sommaire :
Une adresse IP (Internet Protocol) est une identification unique pour un hôte sur un réseau IP.
Une adresse IP est un nombre d'une valeur de 32 bits représentée par 4 valeurs décimales
pointées ; chacune a un poids de 8 bits (1 octet) prenant des valeurs décimales de 0 à 255
séparées par des points. La notation est aussi connue sous le nom de « décimale pointée ».
1. Les Classes
Par défaut :
La partie réseau des adresses de Classe A portera sur le premier octets et la partie hôte sur les
trois derniers (2^24 = 16 777 216 hôtes possibles par réseau)
La partie réseau des adresses de Classe B portera sur les deux premiers octets et la partie
hôte sur les deux derniers (2^16 = 65 536 hôtes possibles par réseau)
La partie réseau des adresses de Classe C portera sur les trois premiers octets et la partie hôte
sur le dernier (2^8 = 256 hôtes possibles par réseau) [1] [2]
Un masque sera une suite de 32 bits divisée en 4 octets pointés composée uniquement d'abord
d'une suite de 1 et, après, d'une suite de 0. La notation est aussi décimale pointée. Toutefois,
on trouvera une autre notation dite CIDR [3] qui représente le nombre de bits pris par la partie
réseau du masque.
Le nombre d'hôte possible obtenus ci-dessus correspond à l'application d'un masque par
défaut sur type de classe d'adresse :
L'adresse du réseau, l'adresse de broadcast et la plage d'adresses utilisables peut être obtenu à
partir d'un calcul booléen de type ET ou la conjonction logique (une proposition est vraie
lorsque les deux termes sont tous les deux vrais) :
10001100.10011111.01111101.00011001 140.159.125.25
11111111.11111111.00000000.00000000 255.255.0.0
-----------------------------------
10001100.10011111.00000000.00000000 140.159.0.0
On va remplacer les bits de valeur 0 de la partie hôte du résultat obtenu pour l'adresse de
réseau par des bits de valeur 1 :
La plage d'adresse du réseau sera comprise entre la première adresse utilisable et la dernière
utilisable, autrement dit, celle qui suit l'adresse du réseau et celle qui précède l'adresse de
broadcast :
De
10001100. 10011111. 00000000. 00000001 140.159.0.1
A
10001100. 10011111. 11111111. 11111110 140.159.255.254
2. Masques restrictifs
Les masques présentés ci-dessus sont des masques appartenant par défaut à chaque classe
d'adresse. On pourra utiliser d'autres masques plus restrictifs afin de diviser un réseau en
plusieurs sous-réseaux afin d'optimiser un plan d'adressage. [4]
On va emprunter des bits à la partie hôte au profit de la partie réseau. De manière intuitive,
on peut considérer qu'à partir d'un réseau de classe C de 256 adresses possibles, on pourra,
par exemple obtenir 4 sous-réseaux différents de 64 adresses.
Dans ce cas-ci, on dira que l'on a emprunté deux bits à la partie hôtes (2 exp 2 = 4) ne restant
que 6 bits pour les hôtes (2 exp 6 = 64).
Selon la RFC 950, les premiers et derniers sous-réseaux et la première et la dernière adresse
sont non valides. On obtiendrait donc 2 sous-réseaux (4-2) avec chacun 62 hôtes possibles
(64-2) [5].
Notez aussi qu'il doit toujours rester 2 bits pour la partie hôte (4-2 = 2) quelle que soit la
classe utilisée [6]. Notez aussi que vous perdrez en conséquence, selon les circonstances, un
grand nombre d'hôtes assignables [7]
Par exemple :
11000011.01001010.11010100.01001110 195.74.212.78
11111111.11111111.11111111.11000000 255.255.255.192
-----------------------------------
11000011.01001010.11010100.01000000 195.74.212.64
On va remplacer les bits de valeur 0 de la partie hôte du résultat obtenu pour l'adresse de
réseau par des bits de valeur 1 :
La plage d'adresse du réseau sera comprise entre la première adresse utilisable et la dernière
utilisable, autrement dit, celle qui suit l'adresse du réseau et celle qui précède l'adresse de
broadcast :
De
11000011. 01001010. 11010100. 01000001 195.74.212.65
A
11000011. 01001010. 11010100. 01111110 195.74.212.126
Le calcul binaire peut sembler fastidieux. La méthode dite du nombre magique permet d'éviter
ces calculs.
Le nombre magique est 256 soustrait de la valeur intéressante autre que 0 ou 255 du
masque.
Pour trouver l'adresse réseau, il suffira de trouver le multiple du nombre magique directement
inférieur ou égal à l'adresse IP :
Pour trouver l'adresse de la première adresse utilisable, il faudra ajouter 1 au dernier octet du
numéro de sous-réseau : 195.74.212.129
Pour l'adresse de broadcast, il faudra faire (numéro de sous-réseau + nombre magique -1)
128+64-1, ce qui donnera l'adresse 195.74.212.191
Pour trouver l'adresse de la dernière adresse utilisable, il faudra soustraire 1 au dernier octet
de l'adresse de broadcast : 195.74.212.190
Autre exemple plus complexe :
Cet article comporte trois parties : d'abord, un descriptif des mémoires et de la séquence
démarrage, ensuite, les notions de ports et d'interfaces et, enfin, une courte introduction sur
l'interface de configuration en ligne de commande.
Les mémoires
Types de mémoires
Mémoire Contenu Commande
RAM Fichier de configuration courante show running-config
(DRAM) Tables de routage show ip route
(EPROM) Bootstrap
Séquence de démarrage
Les interfaces
Les ports
On trouvera :
Notons qu'en dehors des ports, les interfaces permettent aussi de gérer le routeur si elles sont
correctement configurées grâce à Telnet (jusqu'à 5 terminaux virtuels VTY) ou en
téléchargeant un fichier de configuration via TFTP.
Command Line Interface (CLI)
Hiérarchie CLI
Le mode de configuration global possède des niveaux spécifiques dont, entre autres :
Router(config)#interface serial 1
Description Configuration spécifique des interfaces
III. 2. Configuration des lignes (ports)
Invite Router(config-line)#
Accès Router(config)#line console , par exemple ou
Router(config)#line aux
Description Configuration spécifique des lignes (ports)
Notons que la commande exit permet de sortir d'un mode en revenant au précédent tandis que
la combinaison des touches CTRL et Z ramène au mode privilège :
Router#
1. La commande ? vous donne la liste des commandes disponibles dans un mode, par
exemple :
Router>?
Router#co?
3. Un commande entière suivie ? vous donne la liste des paramètres suivants immédiats :
Router#configure ?
Router#show rnning-config
Router(config)#int e0
correspond à
Router(config)#interface ethernet 0
ou encore
Router#conf t
correspond à
Router#configure terminal
Router#show access
Router(config)#interface
8. Liste des raccourcis :
Il n'est pas inutile de connaître les gammes des routeurs Cisco et le 'hardware' que l'on
manipule en laboratoire.
Le côté DCE sériel est celui qui est situé du côté du fournisseur de service. En général, c'est
le modem lui-même ou l'unité CSU/DSU. Il est toujours du genre femelle. Le modem donne
la fréquence de synchronisation de la ligne. Dans nos configurations de laboratoire, on appelle
cela le "clock rate" exprimé en bits par seconde.
Le côté DTE est le côté client, qui se connecte d'une interface serielle du routeur vers le
modem. Il est toujours du genre mâle.
Les routeurs professionels à partir de la gamme 1700 (et, anciennement 1600) disposent
d'emplacements pour des WIC (Wan Interface Card) qui dotent les machines d'interfaces de
communication. Les câbles DCE/DTE se connectent à ces interfaces. En voici quelques
illustrations :
Connecteur
WIC- de type
1T DB-60 à 60
broches.
On
trouvera
deux
interfaces
sérielles sur
une carte,
WIC- soit
2T asynchrone
WIC- 2AS
2AS (connexion
lente) ou
synchrone
2T
(connexion
rapide)
avec des
connecteurs
Smart
Serial
propriétaire
Cisco.
Les
interfaces
ADSL sont
WIC-
disponibles
1ADSL
pour le
PSTN ou
ISDN
Interface 1
ou 2
WIC- modems
1/2AM analogiques
V90
intégrés.
Deux
VWIC- interfaces
2MFT Ligne louée
E1
3. Les modules
La gamme des routeurs 2600/3600 sont des routeurs modulaires. En plus du chassis, ils
disposent d'emplacements larges appelés des "slots" dans lesquels on peut insérer des
"modules", qui disposent d'interfaces intégrées et, le cas échéant, d'emplacement pour des
WIC. Avec ce type de machine, les interfaces s'énumèrent de la façon suivante :
nom_interface numéro_slot/numéro_interface
Serial 1/2
La numération commence toujours de droite à gauche et de bas en haut. A noter que le slot
intégré au chassis est toujours le premier. Il est donc le numéro zéro. En voici quelques
illustrations :
Routeur Cisco 2612
Par contre la gamme des routeurs 1700 ("rackables" ou non) ne respecte pas la régle
d'énumration des 2600/3600. D'ailleurs, n'étant pas modulaires, ces routeurs dénomment
simplement par le nom et le numéro de l'interface.
Cet exercice basique avec trois routeurs interconnectés est un bel exemple d'un examen
pratique. On trouvera l'énoncé et le solutionnaire ci-dessous.
Enoncé
DCE : S0
DTE : S1
Interface description : De x
ày
Créez un plan d’adressage optimal sachant qu’il n’y aura pas de 10 stations sur chaque
segment Ethernet. Configurez les routeurs et les stations.
Plan d’adressage :
Réseau :
Masque :
Tâches :
OK OK
Configuration ? Configuration ?
Désactivation DNS Interface S1
Logging Synchronous Interface E0
Nom d'hôte Routage RIP
Enable secret Enregistrement
Port console Ping de PCx vers PCx+1 ou PCx-1
Traceroute de PCx vers PCx+1 ou PCx-
Port VTY 1
Interface S0 Motd Banner
Solution d’adressage
Plan d’adressage :
Charleroi(config-line)#login
Charleroi(config-line)#password cisco
Charleroi(config-line)#line vty 0 4
Charleroi(config-line)#login
Charleroi(config-line)#password cisco
Charleroi(config-line)#exit
Charleroi(config-if)#no shutdown
Charleroi(config-if)#no shutdown
Charleroi(config-if)#exit
Charleroi(config-router)#network 200.200.200.0
Charleroi(config-router)#exit
Charleroi(config)#exit
Building configuration...
[OK]
Fichiers de configuration
Routeur Charleroi
hostname Charleroi
ip subnet-zero
no ip domain-lookup
interface Ethernet0/0
interface Serial0/0
clockrate 64000
interface Serial0/1
!
router rip
network 200.200.200.0
ip classless
no ip http server
banner motd #
line con 0
password cisco
logging synchronous
login
line aux 0
line vty 0 4
password cisco
login
end
Routeur Liege
hostname Liege
!
ip subnet-zero
no ip domain-lookup
interface Ethernet0/0
interface Serial0/0
clockrate 64000
interface Serial0/1
router rip
network 200.200.200.0
ip classless
no ip http server
!
banner motd #
line con 0
password cisco
logging synchronous
login
line aux 0
line vty 0 4
password cisco
login
end
Routeur Bruxelles
hostname Bruxelles
ip subnet-zero
no ip domain-lookup
interface Ethernet0/0
interface Serial0/0
clockrate 64000
interface Serial0/1
router rip
network 200.200.200.0
ip classless
no ip http server
banner motd #
line con 0
password cisco
logging synchronous
login
line aux 0
line vty 0 4
password cisco
login
end
Préambule
Modes et commandes
Chaque commande doit être entrée dans un mode particulier. Voici l'algorithme qui permet de
retrouver le mode dans lequel doit être entré une commande :
Avant toute chose, en laboratoire, lorsque l'on accède à des routeurs dont on ne connaît pas
l'histoire, il peut sembler utile d'effacer toute pollution d'une configuration antérieure par la
commande erase et de redémarrer le routeur.
Router#erase startup-config
Router#reload
Notons que cette commande peut être remplacée par #write erase ou #erase nvram:
Pour donner un nom à un routeur visible dans l'invite, il suffit d'appliquer la commande :
Router(config)#hostname name
Par exemple :
Router(config)#hostname R15
R15(config)#
On peut empêcher l'accès au mode privilège et aux modes suivants par un mot de passe. Deux
commande sont disponibles, l'une sans encryption et l'autre avec l'encryption MD5. Le enable
secret encrypté prendra la priorité sur le enable pasword.
On peut également restreindre l'accès aux ports Console et Telnet par mot de passe. Le service
« Application » Telnet sera activé dès qu'un mot de passe aura été défini. Evidemment pour
que ce service soit accessible à distance faut-il encore que tous les protocoles inférieurs
(couches 2 et 3) aient été correctement configurés. Les routeurs Cisco disposent jusqu'à 5
terminaux virtuels (VTY). Il est possible de configurer les terminaux séparément. Nous nous
tiendrons à une configuration générale.
Router(config)#line con 0
Router(config-line)#login
Router(config-line)#password mot-de-passe
Router(config-line)#exit
Router(config)#line vty 0 4
Router(config-line)#login
Router(config-line)#password mot-de-passe
Router(config-line)#exit
Considérations spécifiques
L'encryption
Si un mot de passe est encrypté, il sera illisible dans le fichier de configuration. On peut
accéder au fichier de configuration après avoir évité le chargement du fichier de configuration
initial situé en NVRAM (Password Recovery Procedure) :
Router#more nvram:startup-config
Sur les 2500 :
Router#show configuration
Que faire d'un mot de passe encrypté ? Voici quelques liens qui permettraient peut-être de le
décoder :
http://users.skynet.be/glu/ciscopw.htm
http://www.kazmier.com/computer/cisco-apps.html
http://download.boson.com/utils/bos_pass.exe
http://www.solarwinds.net/Tools/Professional/Categories/Cisco_Networks.htm#Decrypt
Les configurations d'accès vues précédemment se limitent à empêcher n'importe qui d'accéder
à des services statiques. L'IOS Cisco permet toutefois de définir des tables d'utilisateurs et de
leur accorder jusqu'à 16 niveaux (de 0 à 15) de privilèges (définir, par exemple, les
commandes accessibles par privilège). Lorsque les services sont restreints par défaut, c'est le
plus haut niveau qui est défini (15).
http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/12cgcr/secur_r/srprt5/srpas
s.htm
http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/12cgcr/secur_c/scprt5/scpa
ss.htm
http://www.cisco.com/univercd/cc/td/doc/product/software/ios113ed/113ed_cr/secur_c/scprt5
/scpasswd.htm#37123
On peut configurer une bannière d'accueil dès que l'on accède au routeur. On l'appelle la
Message Of The Day (MOTD) Banner. Voici la procédure.
Router(config)#banner motd #
Bonjour !
Router(config)#
Confort CLI
Activation et désactivation de la recherche DNS
On est souvent dérangé par de tels message à la suite d'une commande erronée :
Router#sxow
Router#
Ce message vient du fait que la recherche DNS est activée par défaut. Pour un confort
d'utilisation, on peut la désactiver :
Router(config)#no ip domain-lookup
Ou la réactiver :
Router(config)#ip domain-lookup
Messages synchronisés de la console
On peut recevoir des messages du routeur qui trouble l'entrée des commandes. Voici une
illustration :
Router#confi
Router#
Router(config)#line con 0
Router(config-line)#logging synchronous
Router#confi
Router#configure
On peut définir une table de noms à des adresses IP par la commande suivante :
Par exemple :
Il faut falloir ici attribuer une adresse IP et un masque à une interface en notation décimale
pointée, l'activer et éventuellement lui donner une description. Voici les commandes
Router(config-if)#no shutdown
Router(config-if)#description description
Par exemple,
Router(config)#interface ethernet 0
Router(config-if)#no shutdown
Router(config-if)#description
La procédure est identique sauf qu'il faudra indiquer une fréquence d'horloge (clock rate) sur
l'une des interfaces série. En fait, dans la vie courante, c'est le matériel du fournisseur d'accès
(modem ou CSU/DSU) qui fournit cette fréquence. En laboratoire, ce sera l'un des routeurs
qui la fournira, au choix, selon le câblage décidé. Celui qui donnera la fréquence de
l'horloge sera appelé DCE ou ETCD (équipement terminal de traitement de données) et l'autre
DTE ou ETTD (équipement de terminaison de circuit de données). On utilisera un câblage
ayant une connexion DCE et DTE de part et d'autre. Le routeur DCE donnera la fréquence.
On lui donnera donc un paramètre supplémentaire avec une fréquence au choix exprimée en
bit/s.
Router(config-if)#no shutdown
Router(config-if)#description description
Par exemple,
Router(config)#interface serial 0
Router(config-if)#no shutdown
Router(config-if)#interface serial 1
Router(config-if)#no shutdown
En fait, sur les routeurs Cisco, contrairement à la RFC 950, par défaut, le premier sous-réseau
est utilisable. On peut l'activer ou le désactiver de la manière suivante :
Router(config)#ip subnet-zero
ou
Router(config)#no ip subnet-zero
Activation d'un protocole de routage
Sans entrer dans les détails de la théorie des protocoles de routage, pour activer le routage, il
sera nécessaire d'entrer la commande router suivie du protocole de routage et de déclarer tous
les réseaux associés au protocole. Pour l'activation de RIP :
Router(config)#router rip
Router(config-router)#network réseau1
Router(config-router)#network réseau2
Router(config-router)#network réseau3
Configuration standard
Etape Invite Commande
Activez le mode Router> enable
Privilège
Configurez le router à Router# configure terminal
partir du terminal
Nommez le routeur Routeur(config)# hostname BXL
Attribuez un mot de BXL(config)# enable secret cisco1
passe crypté au mode
privilégié
Définissez un mot de BXL(config)# enable password cisco2
passe texte au mode
privilège
configurez la ligne BXL(config)# line con 0
console
Activez la vérification BXL(config-line)# login
Définissez un mot de BXL(config-line)# password cisco3
passe utilisateur à
l'ouverture d'une session
console
Configurez la ligne BXL(config-line)# line vty 0 4
telnet
Activez la vérification BXL(config-line)# login
du mote de passe telnet
Définissez un mot de BXL(config-line)# password cisco4
passe utilisateur à
l'ouverture d'une session
telnet
Sortez du mode BXL(config)# CTRL-Z
Sélectionnez l'interface BXL(config-if)# int e0
E0
Définnissez l'adresse Ip BXL(config-if)# ip add 192.168.1.1 255.255.255.0
de l'interface et son
masque
Activez l'interface BXL(config-if)# no shutdown
Sélectionnez l'interface BXL(config-if)# int S0
S0
Définnissez l'adresse Ip BXL(config-if)# ip add 192.168.2.1 255.255.255.0
de l'interface et son
masque
Attribuez une valeur de BXL(config-if)# clock rate 64000
synchronisation
d'horloge ETCD
Activez l'interface BXL(config-if)# no shutdown
Sortez du mode BXL(config)# exit
Sauvegardez la config BXL# copy run start
Routage statique
Configurez des routes BXL(config)# ip route 192.168.10.0 255.255.255.0
statiques 192.168.1.254
Le réseau est joignable par la prochaine
interface
Routage RIP
Lancez le protocole de BXL(config)# router rip
routage RIP
Déclarez les réseaux BXL(config-router)# network 192.168.1.0 network
directement connectés 192.168.2.0
pour les mises à jour de
Quittez BXL(config-router)# exit
Diagnostic
Afficher la table de Router# sh ip route
routage
Afficher la configuration Router# sh run
courante
Protocoles et statuts des Router# sh ip int brief
interfaces
Activation de RIP-1
(config)#router rip
Activation de RIP-2
(config)#router rip
(config-router)#version {1 | 2 }
Déclaration des réseaux connectés aux interfaces du routeur
(config-router)#network w.x.y.z
Où w.x.y.z est l'un des réseaux
Activation de Split Horizon sur une interface
(config-if)#ip split-horizon
Maximum de sauts
(config-router)#default-metric n
Où n est le nombre de sauts RIP maximum
Réglage des compteurs de retenue
Update est la fréquence en secondes de l'envoi des mises à jour de routage (déf. 30s.).
Invalid est le délai après lequel est déclarée invalide (en état de gel), trois fois la fréquence
des mises à jour (déf. 180s.)
Holddown est l'intervalle pendant lequel les informations de routage sur les meilleurs
chemins sont supprimées, au moins trois fois la fréquence des mises à jour (déf. 180s.).
Flush est le délai écoulé avant que la route ne soit retirée de la table de routage, au moins
la somme des délais d'invalidité et de gel (déf. 240 s.).
3. Diagnostic RIP
Visualisation des transactions RIP (mises à jour)
#debug ip rip
Visualisation des routes apprises par RIP
#show ip route rip
Visualisation des paramètres et de l'état des protocoles de routage
#show ip protocols
Diagnostic de couche 3
#ping w.x.y.z
#trace w.x.y.z
Ce que l'on apelle le 'Load Balancing' est la capacité pour un routeur de supporter plusieurs
chemins à coût égaux vers une destination . IGRP, comme E-IGRP d'ailleurs, supporte jusqu'à
quatre chemins égaux. Aussi, ces protocoles de routage permettent de désigner l'équivalence
entre des chemins inégaux à certaines conditions. C'est que l'on apelle l'Unequal-Cost Load
Balancing ...
Un routeur inscrira seulement la meilleure route vers une destination dans sa table de routage.
Quels sont les critères qui vont fonder sa décision ?
Connected 0
Static route 1
E-IGRP 90
IGRP 100
OSPF 110
RIP 120
Si deux ou plusieurs routes ont la même distance administrative, le routeur fera son choix
d’inscription dans la table de routage en fonction de la métrique. Egalement, plus cette valeur
sera faible, meilleure sera la route. La composition de cette valeur dépend du protocole de
routage.
1.2. Illustration
Chaque liaison sérielle est configurée avec la même bande passante administrative (256 Kb/s)
[2].
Table de routage
Router_1#show ip route
...
Gateway of last resort is not set
150.150.0.0/24 is subnetted, 6 subnets
C 150.150.1.0 is directly connected, Serial0
I 150.150.2.0 [100/43062] via 150.150.1.2, 00:00:06, Serial0
[100/43062] via 150.150.3.1, 00:00:06, Serial1
C 150.150.3.0 is directly connected, Serial1
C 150.150.10.0 is directly connected, FastEthernet0
I 150.150.20.0 [100/41072] via 150.150.1.2, 00:00:06, Serial0
I 150.150.30.0 [100/41072] via 150.150.3.1, 00:00:06, Serial1
On constate que le réseau 150.150.2.0 est joignable par deux routes éqivalentes, l’une passant
par S0 et l’autre passant par S1.
Router_1#ping 150.150.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.150.2.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/41/60 ms
Grâce au débogage ICMP [3], on peut examiner les paquets ICMP qui sont envoyés d’une
interface de sortie et puis de l’autre de manière alternative.
La variance d’un chemin alternatif est la différence en qualité pour protocole de routage entre
une route primaire (la meilleure selon la métrique) et des chemins alternatifs.
Concrètement, la variance indique au routeur d’inclure dans sa table de routage des routes
avec une métrique « n » fois le minimum de métrique d’une route pour une destination.
• le prochain routeur dans le chemin alternatif est plus proche (une métrique plus faible)
que le router courant
et si :
Seulement les chemins « faisables » peuvent être utilisés pour la répartition de charge et sont
donc inclus dans la table de routage.
Par défaut, la variance a une valeur de 1. Cette valeur peut être comprise entre 1 et 128.
(config-router)#variance n
Table de routage
Router_1#show ip route
...
Gateway of last resort is not set
150.150.0.0/24 is subnetted, 6 subnets
C 150.150.1.0 is directly connected, Serial0
I 150.150.2.0 [100/43062] via 150.150.1.2, 00:00:04, Serial0
C 150.150.3.0 is directly connected, Serial1
C 150.150.10.0 is directly connected, FastEthernet0
I 150.150.20.0 [100/41072] via 150.150.1.2, 00:00:04, Serial0
I 150.150.30.0 [100/43072] via 150.150.1.2, 00:00:04, Serial0
Comme vu ci-dessus, pour qu’il y ait de l’Unequal-cost load balancing à partir de Router_1
vers le réseau 150.150.20.0, il faut que la route alternative soit « feasible » :
1. La métrique de Router_3 vers le réseau de destination 150.150.20.0, doit être meilleure que
la métrique du meilleur chemin vers le réseau de destination.
Router_3#sh ip route
...
Gateway of last resort is not set
150.150.0.0/24 is subnetted, 6 subnets
I 150.150.1.0 [100/43062] via 150.150.2.1, 00:00:05, Serial1
C 150.150.2.0 is directly connected, Serial1
C 150.150.3.0 is directly connected, Serial0
I 150.150.10.0 [100/43072] via 150.150.2.1, 00:00:05, Serial1
I 150.150.20.0 [100/28051] via 150.150.2.1, 00:00:05, Serial1
C 150.150.30.0 is directly connected, FastEthernet0
Où la métrique 28051 (du Router_3) est meilleure que 41072 (du Router_1) vers le
réseau de destination 150.150.20.0.
2. Sur le routeur de distribution, la métrique du chemin alternatif doit être dans la variance :
Nous mettons une variance élevée afin de connaître la métrique du chemin alternatif.
Nouvelle table de routage avec la variance.
Router_1#sh ip route
...
Gateway of last resort is not set
150.150.0.0/24 is subnetted, 6 subnets
C 150.150.1.0 is directly connected, Serial0
I 150.150.2.0 [100/160250] via 150.150.3.1, 00:00:54, Serial1
[100/43062] via 150.150.1.2, 00:00:05, Serial0
C 150.150.3.0 is directly connected, Serial1
C 150.150.10.0 is directly connected, FastEthernet0
I 150.150.20.0 [100/160260] via 150.150.3.1, 00:00:54, Serial1
[100/41072] via 150.150.1.2, 00:00:05, Serial0
I 150.150.30.0 [100/158260] via 150.150.3.1, 00:00:55, Serial1
[100/43072] via 150.150.1.2, 00:00:06, Serial0
La métrique IGRP du chemin alternatif a une valeur de 160260 autrement dit quatre fois plus
élevée que celle du chemin primaire. La variance aurait pu être d’une valeur de quatre.
Router_1#ping
Protocol [ip]:
Target IP address: 150.150.20.1
Repeat count [5]: 10
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 150.150.20.1, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (10/10), round-trip min/avg/max = 28/34/60 ms
Router_1#
01:39:50: IP: s=150.150.1.1 (local), d=150.150.20.1 (Serial0), len 100,
sending
01:39:50: ICMP type=8, code=0
01:39:50: IP: s=150.150.20.1 (Serial0), d=150.150.1.1 (Serial0), len 100,
rcvd 3
01:39:50: ICMP type=0, code=0
01:39:50: IP: s=150.150.1.1 (local), d=150.150.20.1 (Serial0), len 100,
sending
01:39:50: ICMP type=8, code=0
01:39:50: IP: s=150.150.20.1 (Serial0), d=150.150.1.1 (Serial0), len 100,
rcvd 3
01:39:50: ICMP type=0, code=0
01:39:50: IP: s=150.150.1.1 (local), d=150.150.20.1 (Serial0), len 100,
sending
01:39:50: ICMP type=8, code=0
01:39:50: IP: s=150.150.20.1 (Serial0), d=150.150.1.1 (Serial0), len 100,
rcvd 3
01:39:50: ICMP type=0, code=0
01:39:50: IP: s=150.150.1.1 (local), d=150.150.20.1 (Serial0), len 100,
sending
01:39:50: ICMP type=8, code=0
01:39:50: IP: s=150.150.20.1 (Serial0), d=150.150.1.1 (Serial0), len 100,
rcvd 3
01:39:50: ICMP type=0, code=0
01:39:50: IP: s=150.150.3.2 (local), d=150.150.20.1 (Serial1), len 100,
sending
01:39:50: ICMP type=8, code=0
01:39:50: IP: s=150.150.20.1 (Serial1), d=150.150.3.2 (Serial1), len 100,
rcvd 3
01:39:50: ICMP type=0, code=0
01:39:50: IP: s=150.150.1.1 (local), d=150.150.20.1 (Serial0), len 100,
sending
01:39:50: ICMP type=8, code=0
01:39:50: IP: s=150.150.20.1 (Serial0), d=150.150.1.1 (Serial0), len 100,
rcvd 3
01:39:50: ICMP type=0, code=0
01:39:50: IP: s=150.150.1.1 (local), d=150.150.20.1 (Serial0), len 100,
sending
01:39:50: ICMP type=8, code=0
01:39:50: IP: s=150.150.20.1 (Serial0), d=150.150.1.1 (Serial0), len 100,
rcvd 3
01:39:50: ICMP type=0, code=0
01:39:50: IP: s=150.150.1.1 (local), d=150.150.20.1 (Serial0), len 100,
sending
01:39:50: ICMP type=8, code=0
01:39:50: IP: s=150.150.20.1 (Serial0), d=150.150.1.1 (Serial0), len 100,
rcvd 3
01:39:50: ICMP type=0, code=0
01:39:50: IP: s=150.150.1.1 (local), d=150.150.20.1 (Serial0), len 100,
sending
01:39:50: ICMP type=8, code=0
01:39:50: IP: s=150.150.20.1 (Serial0), d=150.150.1.1 (Serial0), len 100,
rcvd 3
01:39:50: ICMP type=0, code=0
01:39:50: IP: s=150.150.3.2 (local), d=150.150.20.1 (Serial1), len 100,
sending
01:39:50: ICMP type=8, code=0
01:39:50: IP: s=150.150.20.1 (Serial0), d=150.150.3.2, len 100, rcvd 4
01:39:50: ICMP type=0, code=0
Router_1#
Par défaut, la répartition des paquets sera proportionnelle à la valeur des métriques.
Après quatre paquets envoyés sur S0, le cinquième est envoyé sur S1, et ainsi de suite.
3. Annexe
(config-if)#bandwidth bandwidth
La commande « debug ip packet » va déboguer tous les paquets qui passent par le routeur.
Pour empêcher la pollution de logs inopportuns, on conseille la création d’une liste d’accès
(ACL) qui autorisera uniquement les paquets ICMP venant ou partant de n’importe quelle
adresse IP, étant sous-entendu que tout autre paquet sera interdit. Cette condition sera
appliquée au débogage détaillé des paquets.
Application du débogage :
1 Par défaut, tous les protocoles de routage supportent quatre routes en load balancing sauf
BGP qui en supporte une seule. Le maximum, selon les capacités des protocoles de routage,
est de six. On peut changer ce maximum par la commande (config-router)#maximum-paths n.
Notons qu’IGRP en supporte quatre au plus.
2 Voir Annexe.
3 Voir Annexe.
4 E-IGRP supporte également cette fonctionnalité. Ce n’est pas le cas des autres protocoles de
routage.
Métrique IGRP
Par francois Dernière modification 16/03/2006 15:55 Francois Goffinet
La métrique d'IGRP comporte cinq composantes dont deux sont utilisées par défaut. Quelle
est la formule qui donne la valeur de cette métrique ?
1. Introduction
L’Interior Gateway Routing Protocol (IGRP) calcule la métrique par l’addition pondérée des
valeurs des différentes caractéristiques des liaison d’un réseau. Les caractéristiques prises en
compte par IGRP sont :
Si K5 = 0, le terme [K5/(reliability + K4)] n’est pas utilisé. Ainsi, étant donné les
valeurs par défaut de K1 à K5, le calcul de la métrique composée utilisée par IGRP se rédauit
à:
Les valeurs K dans cette formule sont des constantes qui peuvent être définies dans la
configuration du routage :
Pour trouver la bande passante, prenons la plus petite de toutes les bandes passantes des
interfaces de sortie et divisons 10 000 000 par ce nombre (la bande passante est convertie par
10 000 000 en Kb/s)
Pour trouver le délai, ajoutons tous les délais des interfaces de sortie et divisons ce nombre
par 10 (le délai est de 10 microsecondes).
Il faut se souvenir que le chemin retenu dans la table de routage sera celui qui aura la plus
petite métrique.
3. Illustration
Hardware is HD64570
LMI enq recvd 340, LMI stat sent 0, LMI upd sent 0
Hardware is HD64570
LMI enq sent 167, LMI stat recvd 168, LMI upd recvd 0, DTE LMI up
Activation de IGRP
Router(config-router)#network w.x.y.z
Où w.x.y.z est l'un des réseaux
Router(config-if)#ip split-horizon
Update est la fréquence en secondes de l'envoi des mises à jour de routage (déf. 90s.).
Invalid est le délai après lequel est déclarée invalide (en état de gel), trois fois la fréquence
des mises à jour (déf. 270s.)
Holddown est l'intervalle pendant lequel les informations de routage sur les meilleurs
chemins sont supprimées, au moins trois fois la fréquence des mises à jour (déf. 280s.).
Flush est le délai écoulé avant que la route ne soit retirée de la table de routage, au moins
la somme des délais d'invalidité et de gel (déf. 630 s.).
Sleeptime est l'intervalle, millième de secondes, pour le report d'une mise à jour de routage
dans l'éventualité d'une mise à jour rapide (déf. 0ms.)
Router(config-router)#metric maximum-hops n
Où n est le nombre maximal de saut avant qu'une route soit inaccessible (par défaut 100 et
255 maximum.
Router(config-router)#maximum-paths n
Où n est le nombre maximal (de 1 à6)
Définition de la variance
Router(config-router)#variance x
Où la variance est un multiplicateur x servant à rendre équivalente une meilleure route de
métrique n/x et une route de métrique n.
IGRP commands
Configuring IGRP
3. Diagnostic IGRP
Router#show ip protocols
Diagnostic de couche 3
Router#ping w.x.y.z
Router#trace w.x.y.z
Méthodes de diagnostic
Par francois Dernière modification 16/03/2006 15:55 Francois Goffinet
Pour diagnostiquer une situation, on procédera par des vérifications à partir de la couche la
plus basse. La principale commande est "show" suivie des paramètres appropriés. On trouvera
une discussion l'autre principale commande de diagnostic "debug" ainsi qu'une courte
présentation du protocole de couche 2 CDP. Dans un diagnostic, on priviliégera toute
information dynamique en temps réel. Se baser sur le souvenir d'une commande
dactylographiée est une méprise courante sur laquelle on évitera de se baser.
1. Vérifications de couche 1
Ces problèmes sont les plus courants et doivent être vérifiés de visu.
2. Vérifications de couche 2
Plusieurs commande permettent de donner sur l’état de la liaison et sur le résultat de messages
de tests d’activité.
#show ip interface
#show protocols
Problème de configuration :
o câble
débranché
o câble ou
interface
défectueux
o interface
shutdown du
voisin
1 carrier transitions
Champ Description
Hardware is Donne le type de matériel.
Internet address is Donne l’adresse IP et le masque.
MTU Maximum transmission unit : taille maximale de paquet, en
octets, que peut traiter une interface.
BW Bande passante.
DLY Délai de l’interface en microsecondes : temps entre l'amorce
d'une transaction par un émetteur et la première réponse reçue
par cet émetteur.
Relay Reliability - Fiabilité : Taux de messages de veille attendus
d'une liaison. Si le taux est élevé, la ligne est fiable. Fraction
de 255 (255/255 est 100 % de fiabilité), calculé comme
moyenne exponentielle sur 5 minutes.
Load Charge : Quantité d’activité sur la liaison. Fraction de 255
(255/255 est complètement saturé), calculé comme moyenne
exponentielle sur 5 minutes.
Encapsulation Méthode d’encapsulation de couche 2 sur l’interface
loopback Loopback activé ou non.
keepalive Keepalive défini
#show running-config
Sans se déplacer sur les routeurs, on peut voir si les interfaces sérielles sont DCE ou DTE :
Interface Serial0/0
...
Tapez simultanément sur CTRL SFHIT et § (le touche 6 du clavier alphanumérique) pour
interrompre la liste.
Le Cisco Discovery Protocol est utilisé pour obtenir des adresses des périphériques voisins et
découvrir leur plate-forme. CDP peut aussi être utilisé pour voir des informations sur les
interfaces qu’un routeur utilise. Il est entièrement indépendant du média ou des protocoles et
tourne sur tous les matériels Cisco comme des ponts, des commutateurs, des serveurs d’accès
ou des routeurs.
L’utilisation de SNMP avec la MIB CDP permet au logiciel de gestion du réseau (NMA) de
connaître le type de matériel, les adresses des agents SNMP voisins et d’envoyer des
demandes SNMP à ces matériels.
CDP fonctionne sur tous les médias qui supporte le SNAP (Subnetwork Access Protocol)
dont les médias physiques LAN, Frame-Relay et ATM. CDP fonctionne uniquement au
niveau de la couche 2, liaison de donnée. Ainsi, deux système qui ont des protocoles de
couche 3 différents peuvent se communiquer des informations CDP.
Chaque matériel CDP envoie périodiquement des messages, connus sous le nom de
advertisements, à une adresse multicast. Ces messages contiennent un temps de vie (time-to-
live) ou un compteur de retenue (holdtime), une information qui indique le temps qu’un
matériel CDP doit garder les informations avant de ne plus en tenir compte. Aussi chaque
matériel CDP écoute les messages CDP périodiques envoyés par les autres pour en apprendre
sur ses voisins et déterminer quand les interfaces sont montées ou non.
CDP est activé par défaut sur le matériel Cisco. On peut activer ou désactiver l’utilisation de
CDP :
(config)#cdp run
Ou
(config)#interface serial 0
(config-if)#cdp enable
Ou
(config)#interface serial 0
Commande Description
#clear cdp counters Remet les compteurs à zéro
#clear cdp table Efface la table CDP à propos des
voisins
#show cdp Donne les valeurs des compteurs
#show cdp entry entry-name [protocol|version] Donne des informations sur les
voisins donnés. « * » pour être
utilisés pour les visualiser tous
#show cdp interface [type number] Donne des informations sur les
interfaces sur lesquelles CDP est
activé.
#show cdp neighbors [type number] [detail] Donne le type de matériel
découvert, son nom, le nombre
et le type d’interface, la validité
des informations CDP, etc.
#show cdp traffic Indique les compteurs CDP ainsi
que des statistiques sur le trafic
CDP
Exemples :
#show cdp
-------------------------
Device ID: Router1
Entry address(es):
IP address: 192.168.1.2
Version:
Entry address(es):
IP address: 1.15.28.10
Version :
Native VLAN: 42
VTP Management Domain: `Accounting Group'
Encapsulation ARPA
Encapsulation HDLC
Encapsulation HDLC
4. Vérifications de couche 3
4.1. Configuration
4.2. Adressage
Par exemple,
...
Cette commande permet de vérifier rapidement les paramètres essentiels des interfaces.
Par exemple,
Bruxelles#show protocols
Global values:
4.3. Routage
La table de routage donnera les différentes destinations apprises par le ou les protocoles de
routage activés sur le routeur. L’existence de routes apprises par un protocole de routage
signifie que le routeur a appris des routes. Par ailleurs, l’existence des ces entrées n’indique
nullement que le routeur envoie des informations de routage !
#show ip route
En se basant sur cet exemple voici ce que donnera la commande :
Bruxelles#show ip route
Où :
Par contre, on vérifiera les paramètres de routage sur le routeur en regardant le fichier de
configuration ou de manière plus dynamique par la commande :
#show ip protocols
#show ip protocols
Invalid after 270 seconds, hold down 280, flushed after 630
198.92.72.0
4.4. Connectivité
4.4.1. Ping
La commande Ping (Packet InterNet Groper) est une méthode très utile pour vérifier la
connectivité. Elle utilise deux messages ICMP (Internet Control Message Protocol), des
ICMP Echo Requests et des ICMP Echo Replies pour déterminer qu’un hôte distant est
joignable. Cette commande mesure également le temps pris pour recevoir un Echo Reply.
La commande ping envoie d’abord un Echo Request à une adresse IP et attend une réponse.
Le ping est satisfaisant seulement si l’Echo Request arrive à destination et si la destination
est capable de renvoyer un Echo Reply à la source du ping avec un intervalle de temps
prédéfini.
Voici un ping standard dans un IOS :
>ping 192.168.1.1
!!!!!
Quand la commande normale ping est envoyée d’un routeur, l’adresse source est celle de
l’interface qui est utilisée pour sortir. Avec la commande étendue ping, on peut construire
plus précisément sa requête Echo ICMP (notamment spécifier l’adresse IP source). L’appel à
la commande étendue se fait en tapant ping suivi d’un retour chariot. La commande posera
une série de question auxquelles il faudra répondre. Les réponses par défaut s’accusent par un
retour chariot.
#ping
Question Description
Protocole routé suporté : appletalk, clns, ip, novell,
Protocol [ip]:
apollo, vines, decnet, or xns. Par défaut, ip.
Adresse IP de destination ou nom d’hôte à vérifier.
Target IP address:
Par défaut, rien.
Nombre de paquets qui seront envoyés à l’adresse
Repeat count [5]:
de destination. Par défaut, 5.
Datagram size [100]: Taille du paquet en octets. Par défaut, 100 octets.
Intervalle de Timeout. Par défaut, 2 secondes. Le
Timeout in seconds [2]: ping est déclaré satisfaisant seulement si l’Echo
Reply est reçu endéans cet intervalle.
Demande si l’on veut utiliser des commandes
Extended commands [n]:
supplémentaires. Par défaut, non.
Adresse source ou interface (avec une syntaxe
Source address or interface:
correcte).
Spécifie le le « type of service » (ToS). Par défaut,
Type of service [0]:
0.
Spécifie si le bit « Don't Fragment » (DF) est activé
Set DF bit in IP header? [no]: ou pas. Utile pour spécifier le plus petit MTU dans
un trajet. Par défaut, non.
Spécifie s’il y aura validation ou non des données de
Validate reply data? [no]:
réponse. Par défaut, non.
Spécifie le modèle de donnée. Utile pour
Data pattern [0xABCD] diagnostiquer des problèmes de trames ou d’horloge
sur des lignes sérielles. Par défaut, 0xABCD.
Loose, Strict, Record, Timestamp,
Options d’en-têtes IP. Par défaut, non.
Verbose[none]:
Permet de faire varier la taille des paquets d’écho
Sweep range of sizes [n]:
envoyés. Par défaut, non.
!!!!! Chaque « ! » signifie la réception d’une réponse.
Chaque « . » signifie que les requêtes ICMP n’ont
.....
pas reçu de réponse avant le temps requis.
Chaque « U » signifie qu’un paquet « destination
UUUUU
inaccessible » a été recu.
Chaque « M » correspond à l’impossibilité de
MMMMM
fragmenter les paquets
Chaque « ? » correspond à des paquets inconnus
?????
reçus
Chaque « & » signifie que la durée de vie des
&&&&&
paquets est dépassée
Pourcentage des paquets pour lesquels le routeur a
Success rate is 100 percent reçu une réponse. En dessous de 80 % est
habituellement considéré comme problématique.
Temps de trajet de retour (Round-trip travel time
round-trip min/avg/max = 1/2/4 ms intervals) pour les réponses
(minumum/moyenne/maximum)
4.4.3. Traceroute
La commande traceroute permet de voir les différents sauts qu’empruntent les paquets à un
moment donné. Par exemple :
Router1#traceroute 34.0.0.4
Comme pour la commande ping, on peut utiliser la commande traceroute en mode étendu
(commande seule suivie d’un retour chariot).
http://www.informatik.uni-trier.de/~smith/networks/tspec.html
Les vérifications de couche 7 s’opèrent en établissant des requêtes à partir d’un client
approprié vers le service demandé. Pour ne citer que les services les plus courant :
Il va de soi que ce type de diagnostic permet aussi d’établir l’état des ports ouverts ou filtrés
(Liste d’accès ACL).
6. Debug
La commande debug donne des messages de diagnostic sur des processus mis en œuvre sur le
routeur. En production, il faut prendre garde d’activer ce type de méthode car elle peut
prendre beaucoup de ressources. Avant d’activer un quelconque débogage, il convient de
vérifier les ressources restantes du routeur avec la commande show process cpu en mode
privilège.
Aussi, par défaut ces informations apparaîtront sur la console, ce qui est particulièrement
inconfortable. Il est possible de désactiver cet affichage et, même de les envoyer sur un
serveur approprié Syslog (voir infra).
On ne présentera pas ici le détail des commandes ainsi que leur interprétation.
Il peut être utile de voir les informations de routage qui sont envoyées et reçues par le routeur.
Pour Rip,
#debug ip rip
http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/12supdoc/debug_r/dippim.
htm#8567
Pour IGRP,
http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/12supdoc/debug_r/dipdrp.
htm#4019
#debug igrp events
http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/12supdoc/debug_r/dipdrp.
htm#4048
On verra ici l’origine, la destination et la nature des paquets ICMP envoyés et reçus.
#debug ip packet
http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/12supdoc/debug_r/dipdrp.
htm#4599
http://www.cisco.com/warp/public/63/ping_traceroute.html#usingdbg
On peut désactiver un debug par la négation (no). On peut également désactiver tout
débogage par les commandes suivantes :
#undebug all
Ou,
Voici un exemple de manipulation pour visualiser les informations de débogage après coup
sur la console. Au préalable, il s’agit de vérifier si le routeur a suffisamment mémoire pour
accepter le stockage des logs par show process memory.
Router#configure terminal
Router(config)#no logging console
Router(config)#^Z
Router#debug ip packet
IP packet debugging is on
Router#ping 12.0.0.1
!!!!!
Router#undebug all
Router#show log
Pour envoyer les log de debogage sur un serveur Syslog, on utilise la commande logging
suivie de l’adresse IP du serveur.
7. Autres diagnostics
#show version
#show startup-config
Ou,
#show configuration
Les listes d'accès sont une matière importante et basique du CCNA. Ici, il s'agit seulement
d'appliquer des filtres sur les interfaces afin de bloquer du trafic qui les traverse. Toutefois,
leur principe s'applique à d'autres circonstances qui dépassent notre étude ...
1. Définition
Une liste d'accès est un ensemble d'instructions basées sur des protocoles de couche 3 et de
couches supérieures pour filtrer le trafic. L'étude exige seulement que nous les appliquions à
partir des interfaces.
Les ACLs font partie des fonctionnalités de type "firewall" des IOS Cisco. On se contentera
d'étudier les ACLs standard et étendue désignées par un numéro ou nom. Notons que
l'on trouvera aussi des ACLs réflexives, basées sur le temps et Context-based access control
(CBAC). Ces dernières ne sont pas abordées par le CCNA. Elles font parties du cours
sécurité.
2. Types de protocoles
Les types de protocoles que nous allons pouvoir configurer dans les instructions de filtrage
sont :
le port source
l'adresse IP source
le port de destination
l'adresse IP de destination
A supprimer des paquets pour des raisons de sécurité (pour du trafic de données ou des
accès VTY)
A définir du trafic intéressant pour des configurations spécifiques (NAT, ISDN, etc.)
4. Logique
Une liste d'accès, comportant une suite d'instructions de filtrage, va être appliquée sur une
interface du routeur, pour le trafic entrant ou pour le trafic sortant. Il va falloir appliquer une
logique sur les interfaces en sortie ou en entrée :
5. Caractéristiques
Les paquets peuvent être filtrés en entrée (quand ils entrent sur une interface) avant la
décision de routage
Les paquets peuvent être filtrés en sortie (avant de quitter une interface) après la décision de
routage.
Le mot clef IOS est "deny" pour signifier que les paquets doivent être filtrés ; précisément
les paquets seront refusés selon les critères définis.
Le mot clef IOS est "permit" pour signifier que les paquets ne doivent pas être filtrés ;
précisément les paquets seront permis selon les critères définis.
Une instruction implicite rejette tout le trafic à la fin de chaque liste d'accès
6. Traitement
Une liste d'accès étendue pourra examiner les adresses IP et les ports aussi bien source que
destination, ainsi que type de protocole (IP, ICMP, TCP, UDP).
Par ailleurs, il sera possible de vérifier une partie des adresses avec un masque générique
(wildcard mask).
On donnera soit un numéro ou un nom à une liste d'accès (un ensemble d'instructions de
filtrage) à appliquer sur une interface en entrée ou en sortie.
Si on utilise un numéro on aura le choix dans une plage de nombres en fonction du protocole
de couche 3 :
Protocole Plage
IP 1 - 99 et 1300 - 1999
IP étendu 100 - 199 et 2000 - 2699
Apple Talk 600 - 699
IPX 800 - 899
IPX étendu 900 - 999
Protocole IPX Service Advertising 1000 - 1099
Il ne faut pas confondre un masque générique (wilcard mask) avec un masque de réseau.
Un masque générique est un masque de filtrage. Quand un bit aura une valeur de 0 dans le
masque, il y aura vérification de ce bit sur l'adresse IP de référence. Lorsque le bit aura une
valeur de 1, il n'en y aura pas.
Un masque de réseau est un masque de division ou de regroupement. Une addition
booléenne d'une adresse IP et d'un masque de réseau est utilisée pour distinguer la partie
réseau de la partie hôte.
En binaire, alors qu'un masque de réseau est nécessairement une suite homogène de 1 et puis
de 0, un masque générique peut être une suite quelconque de 1 et de 0 en fonction du filtrage
que l'on veut opérer sur des adresses IP.
Voici quelques exemples classiques de masque générique sur n'importe quelle adresse IP :
Masque
Version binaire Description
générique
0.0.0.0 00000000.00000000.00000000.00000000 Tous les bits seront examinés
Les 24 premiers bits seront
0.0.0.255 00000000.00000000.00000000.11111111
examinés
Les 16 premiers bits seront
0.0.255.255 00000000.00000000.11111111.11111111
examinés
Les 8 premiers bits seront
0.255.255.255 00000000.11111111.11111111.11111111
examinés
L'adresse ne sera pas examinée.
255.255.255.255 11111111.11111111.11111111.11111111 Tous les bits correspondent
d'emblée.
Les 20 premiers bits seront
0.0.15.255 00000000.00000000.00001111.11111111
examinés
Les 22 premiers bits seront
0.0.3.255 00000000.00000000.00000011.11111111
examinés
Tous les bits seront examinés
32.48.0.255 00100000.00110000.00000000.11111111 sauf le 3ème, le 11ème, le 12ème
et les 8 derniers
Le mot "host" remplace le masque 0.0.0.0, par exemple, 10.1.1.1 0.0.0.0 peut être
remplacé par "host 10.1.1.1"
Placer les listes d'accès aussi près de que possible de la source des paquets (au niveau de
l'interface) s'il s'agit d'une ACL étendue. Par contre, s'il s'agit d'une ACL standard, il faut la
placer au plus proche de la destination (puisque c'est ce qu'elle ne vérifie pas).
Placer en tête de liste les règles (les instructions) qui font l'objet d'une correspondance la
plus précise et les plus générales à la fin.
Suivre ces deux recommandations tout en respectant les restrictions d'accès qui ont été
identifiées.
11. Syntaxe des commandes
1. Création de la liste, en plaçant les instructions les unes après les autres suivies d'un
retour chariot.
2. Application sur une interface en entrée ou en sortie
Où :
"opérateur" peut prendre les valeurs suivantes :
• lt (less than)
• gt (greater than)
• eq (equal)
• neq (not equal)
• range (inclusive range).
11.5. Diagnostic
Router#show ip interface [type numéro]
On pourra "logguer" le comportement d'une ACL en ajoutant le terme log à la fin d'une
directive. Un show logging donnera le résultat.
12. Optimisation du masque générique
Chaque paquet sera vérifié par chaque entrée d'une ACL. Il y aura autant de vérification qu'il
y a de paquets et d'entrées. Des listes d'accès trop longues peuvent engager beaucoup de
ressources. Il s'agira de les optimiser. Aussi, on peut également élaborer des critères de
vérifications assez fins. En voici des exemples.
192.168.32.0/24
192.168.33.0/24
192.168.34.0/24
192.168.35.0/24
192.168.36.0/24
192.168.37.0/24
192.168.38.0/24
192.168.39.0/24
Les deux premiers octets sont identiques. Ils devront être vérifiés. Le masque générique
commencera par 0.0.
Le troisième octet varie. Il peut être écrit comme dans le tableau suivant conformément à la
position de chaque bit par rapport à sa valeur :
Décimale 128 64 32 16 8 4 2 1
32 0 0 1 0 0 0 0 0
33 0 0 1 0 0 0 0 1
34 0 0 1 0 0 0 1 0
35 0 0 1 0 0 0 1 1
36 0 0 1 0 0 1 0 0
37 0 0 1 0 0 1 0 1
38 0 0 1 0 0 1 1 0
39 0 0 1 0 0 1 1 1
M M M M MDDD
On remarque aisément que les cinq premiers bits correspondent exactement (M) alors que les
trois derniers changent. Le masque générique sur cet octet sera donc : 7 (00000111)
Dans le cas présenté, le dernier octet ne doit pas être vérifié. Le masque générique sera :
0.0.7.255
Notons que cet ensemble d'adresses peut être résumé avec le masque de super-réseau :
"192.168.32.0/21" ou "192.168.32.0 255.255.248.0". Dans ce cas commun dans lequel il
faudra vérifier ce groupe d'adresse IP, le masque générique sera l'inverse du masque réseau :
en soustrayant 255.255.248.0 de 255.255.255.255, on obtient 0.0.7.255
Quelle méthode a été employée pour découvrir les bits qui doivent être filtrés sur une adresse
IP ? On a désigné les bits qui ne varient pas d'une adresse à une autre et nous les avons
marqué avec un masque générique à la valeur 0 en binaire. Par exemple, pour filtrer sur un
octet uniquement les adresses paires :
Décimale 128 64 32 16 8 4 2 1
0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 1 0
4 0 0 0 0 0 1 0 0
6 0 0 0 0 0 1 1 0
8 0 0 0 0 1 0 0 0
10 0 0 0 0 1 0 1 0
x pairs ? ? ? ? ? ? ?0
D D D D DDDM
On constate que le point commun entre toutes ces adresses ne concerne que le dernier bit de
l'octet. C'est donc ce dernier qu'il faudra vérifier par rapport à une adresse de référence.
Concrètement, en binaire, on aura un masque sur l'octet de "11111110", "254" en décimale
avec comme octet de référence binaire "00000000", "0" en décimale. Avec la directive
"192.168.1.0/0.0.0.254", on filtrera toutes les adresses paires du réseau 192.168.1.0/24. C'est
comme si on disait, vérifie :
OSPF 2. Hiérarchie
Par francois Dernière modification 23/09/2006 09:47 François Goffinet
Une caractéristique principale d'’OSPF est de supporter des inter-réseaux très larges. Elle est
possible grâce au regroupement des routeurs dans des entités logiques appelées area ou zone.
Un routeur OSPF peut prendre en charge trois types d’'opérations : opération dans une zone,
connexion inter-zone et connexion entre systèmes autonomes (AS). Comme vu plus haut,
pour remplir ces tâches, un routeur doit remplir un rôle et une responsabilité particulière qui
dépend de l'’hiérarchie OSPF établie.
• Internal Router (IR) – Un IR remplit des fonctions au sein d’'une zone uniquement.
Sa fonction primordiale est d’'entretenir à jour sa base de donnée avec tous les réseaux
de sa zone, sa base de donnée d'états de lien (link-state database), qui est identique sur
chaque IR. Il renvoie toute information aux autres routeurs de sa zone, le routage ou
l'’inondation (flooding) des autres zones requiert l’'intervention d’'un Area Border
Router (ABR).
• Backbone Router (BR) – Une des règles de conception OSPF est que chaque zone
dans l’'interréseau doit être connectée à une seule zone, la zone 0 ou la backbone area.
La plupart des BR ont une interface connectée à la backbone area et une ou plusieurs
interfaces à d’'autres zones.
• Area Border Router (ABR) – Un ABR connecte deux ou plusieurs zones. Un ABR
possède autant de bases de données d'états de lien qu’'il y a d’'interfaces connectées à
des zones différentes. Chacune des ces bases de données contiennent la topologie
entière de la zone connectée peut donc être summarizée, c'est-à-dire agrégée en une
seule route IP. Ces informations peuvent être transmises à la zone de backbone pour la
distribution. Un élément clé est qu’'un ABR est l'’endroit où l'agrégation doit être
configurée pour réduire la taille des mises à jour de routage qui doivent être envoyées
ailleurs. Donc quand on parle des capacités d'’OSPF de minimiser les mises à jour de
routage, on peut directement penser au rôle rempli par les ABR.
• Autonomous System Boundary Router (ASBR) – Il faut bien retenir qu'’OSPF est un
IGP (Interior Gateway Protocol), autrement dit qu’il devra être connecté au reste de
l’'Internet par d’'autres AS. Ce type de routeur fera en quelque sorte office de
passerelle vers un ou plusieurs AS. L’'échange d’information entre un AS OSPF et
d’'autres AS est le rôle d’un ASBR et les informations qu’il reçoit de l'’extérieur
seront redistribuées au sein de l'’AS OSPF.
Cette section traite du fonctionnement d’OSPF au sein d’'une seule zone et de la manière dont
la topology table ou la link-state database est contruite. La table de routage est constituée à
partir de cette base de donnée. Ce résultat est obtenu grâce à l'’application de l'’algorithme de
routage SPF. En voici les différentes étapes.
1. D’'abord, un routeur doit trouver ses voisins. Pour ce faire, il utilise des paquets Hello.
Dès son initialisation ou à la suite d’un changement de routage, un routeur va générer
un link-state advertisement (LSA). Cette annonce va représenter la collection de tous
les états de liens de voisinage du routeur.
2. Tous les routeurs vont s'’échanger ces états de liens par inondation (flooding). Chaque
routeur qui reçoit des mises à jour d'’état de lien (link-state update) en gardera une
copie dans sa link-state database et propagera la mise à jour auprès des autres
routeurs.
3. Après que la base de données de chaque routeur soit complétée, le routeur va calculer
l'’arbre du chemin le plus court (Shortest Path Tree) vers toutes les destinations avec
l'’algorithme Dijkstra. Il construira alors la table de routage (routing table), appelée
aussi forwarding database, en choisissant les meilleures routes.
4. S’il n’'y a pas de modification topologique, OSPF sera très discret. Par contre en cas
de changement, il y aura échange d’'informations par des paquets d’'état de lien et
l’'algorithme Dijkstra recalculera les chemins les plus courts.
L’'algorithme du chemin le plus court est celui qui est utilisé par OSPF pour déterminer le
meilleur chemin vers un réseau de destination.
Avec cet algorithme, le meilleur chemin est celui qui a le coût le moins cher, le plus faible. Il
a été découvert par E. W. Dijkstra (1930-2002), un mathématicien néerlandais
(http://www.cs.utexas.edu/users/EWD/) . Il a été publié en 1959 et son utilisation dépasse
largement le monde des réseaux.
L'’algorithme considère un réseau de noeœuds connectés par des liens point à point. Chaque
lien a un coût. Chaque nœoeud a un nom et possède une base de donnée complète de tous les
liens et a donc ainsi une connaissance complète de la topologie physique. Tous les routeurs de
la base de donnée d’'état de lien sont identiques.
L’'algorithme du chemin le plus court va alors calculer une topologie sans boucle en utilisant
le nœoeud en question comme point de départ et en examinant à son tour les informations des
ses noeœuds contigus.
Avant de s'’échanger des informations de routage, les routeurs OSPF établissent des relations
ou des états avec leurs voisins afin de partager efficacement les informations d’'états de lien.
Ces cinq types de paquets font en sorte qu’'OSPF soit capable de communications complexes
et sophistiquées. Les interfaces OSPF peuvent rencontrer sept états et correspondent à deux
moments : d’une part, la découverte des voisins et, d’autre part, la découverte des routes. En
voici brièvement le descriptif.
1. Down State
Dans cet état, il n'’y a pas d’'échange d’'informations entre les voisins. OSPF attend le
prochain état qui est l'’Init State.
2. Init State
Les routeurs OSPF envoient des paquet Type 1 (Hello) a des intervalles réguliers (d’'habitude
10 secondes) pour établir une relation avec les routeurs voisins. Quand une interface reçoit le
premier paquet Hello, le routeur entre en Init State, ce qui signifie que le routeur sait qu’'il y a
un voisin en face et il attend d’'entrer en relation avec lui dans la prochaine étape.
3. Two-Way State
Utilisant des paquets Hello, chaque routeur OSPF tente d'’établir un Two-Way State ou une
communication bidirectionnelle avec chaque voisin qui est dans le même réseau IP. En
d’'autres termes, les paquets Hello incluent la liste des voisins OSPF connus de l’'envoyeur.
Un routeur entre en Two-Way State quand il se voit dans le Hello d’'un voisin.
Le Two-Way State est la relation la plus basique qu'’un voisin OSPF peut établir, mais dans
cette relation aucune information de routage n'’est partagée. Pour apprendre l'’état des liens
des autres routeurs et construire une table de routage, chaque routeur doit former une
contiguïté entière (adjacency). Une adjacency est une relation avancée entre des routeurs
OSPF qui implique une série d'’états progressifs qui ne comptent pas seulement des paquet
Hello mais aussi les quatre autres types de paquets. Les routeurs qui tentent de devenir
contigus ou adjacents avec un autre échangent des informations de routage avant que toute
adjacency soit entièrement établie. La première étape est le ExStart State.
Toute interface OSPF "non problématique" est au moins en état "Two Way". Selon les
circonstances, elles pourront atteindre l'état "Full Adjacency" en passant par d'autres étapes
intermédiaires. Les connaître est très utile pour le diagnostic.
4. ExStart State
Le routeur avec la plus haute OSPF ID « gagnera » et deviendra « maître ». Quand ces rôles
de « maître » et « esclave » sont définis, l’'état Exchange intervient et l'’envoi d’'informations
de routage peut commencer.
5. Exchange State
Dans cet état, les routeurs voisins vont utiliser des Type 2 DBD packets pour s'’envoyer l’'un à
l'’autre des informations. En d'’autres mots, Les routeurs décrivent leur link-state database
aux autres. Les routeurs comparent ce qu'’ils apprennent avec ce qu'’ils connaissent déjà de
leur link-state database. S'’ils apprennent des informations sur des liens qu’'ils ne possèdent
pas, ils demandent un mise à jour complète à leur voisin. Les informations de routage
complètes sont échangée dans le Loading State.
6. Loading State
Après que la base de données ait été décrite à chaque routeur, ils peuvent demander des
informations plus complètes en utilisant des Type 3 packets, appelés link-state requests
(LSRs). Quand un routeur reçoit un LSR, il répond avec une mise à jour en utilisant un Type 4
link-state update (LSU) packet. Ces paquets Type 4 LSU contiennent les link-sate
advertisements (LSAs) qui sont le cœoeur du protocole de routage à état de lien. Les LSU
sont accusés de réception par des LSAcks, link-state acknowledgments.
7. Full Adjacency
Lorsque le Loading State est complet, les routeurs sont entièrement adjacents. Chaque routeur
garde une liste de ses routeurs voisins appelée adjacency database. Elle ne doit pas être
confondue avec la link-state database ou la forwarding database.
Une relation de voisinage est nécessaire pour que les routeurs OSPF partagent des
informations de routage. Un routeur va tenter de devenir adjacent (contigu) avec au minimum
un autre routeur d’'un réseau IP auquel il est connecté. Certains routeurs essaient de devenir
adjacents à chaque routeur voisin. D'’autres essaient d’être adjacents à seulement un ou deux
routeurs. Tout ceci est déterminé par le type de réseau auxquels ils sont connectés. Lorsqu'une
adjacence est formée entre deux voisins, les informations à état de lien sont alors échangées.
Contrairement aux réseaux NBMA et Circuits à la demande, il n'y a pas besoin de les
configurer.
Notions de DR et BDR.
Dans un réseau multi-accès, beaucoup de routeurs peuvent être connectés. Si chaque routeur
doit établir une adjacence complète (Full Adjacency) avec tous les autres routeurs et échanger
des informations à état de lien avec chaque voisin, les machines pourraient subir des
surcharges. S’il y a 5 routeurs, 10 relations d'’adjacence seront nécessaires et 10 états de lien
envoyés. S’il y a 10 routeurs, 45 adjacences seront nécessaires. En général, pour n routeurs,
n*(n-1)/2 adjacences seront formées.
La solution à cette surcharge est l'’organisation de l'’élection d’un routeur désigné (designated
router, DR). Ce routeur devient adjacent à tous les autres routeurs dans un segment de
broadcast. Tous les autres routeurs sur le même segment envoient leur informations d’'état de
lien au DR. Le DR agit comme porte-parole pour le segment. En utilisant les exemples
chiffrés exposés ci-avant, seulement 5 et 10 ensembles de link-state seront envoyés. Le DR se
chargera de renvoyer les informations d’'état de lien à tous les autres routeurs du segment
avec l'’adresse multicast 224.0.0.5.
Sur un réseau point-à-point, seuls deux points existent. Il n’'y a pas d’'élection de DR ou
BDR. Chaque routeur devient entièrement adjacent avec l’'autre.
OSPF 7. Vue d'ensemble du protocole
HELLO
Par francois Dernière modification 24/09/2006 11:31 Francois Goffinet
Quand un routeur commence un processus de routage OSPF sur une interface, il envoie un
paquet Hello et continue à envoyer ces paquets à intervalles réguliers. La règle qui gouverne
l’'échange des paquets Hello OSPF est appelée le protocole Hello.
A la couche 3 du modèle OSI, les paquets Hello sont adressés en multicast 224.0.0.5. Cette
adresse est « tous les routeurs OSPF ». Les routeurs OSPF utilisent ces paquets Hello pour
initier de nouvelles adjacences et pour s’'assurer que les routeurs voisins sont fonctionnels.
Les paquets Hello sont envoyés toutes les 10 secondes par défaut sur un réseau multiaccès et
point-à-point et toutes les 30 secondes sur un NBMA.
Bien qu’'un paquet Hello soit petit (moins de 50 bytes), il est en fait l’en-tête d’un paquet
OSPF qui prend la valeur de 1 dans le champ type.
Remarquons ici particulièrement le champ Router ID dont nous avons parlé plus haut et dont
nous reparlerons encore. Ce champ est utilisé pour identifier de manière unique un routeur
OSPF. Il prendra la valeur de la plus haute adresse IP du routeur (32 bits). Puisqu’'une adresse
IP est censée être unique dans un réseau, elle convient bien pour remplir ce champ. Aussi,
parce qu'’un routeur supporte de multiples adresses IP assignées pour l’'interconnexion des
réseaux, on utilisera volontiers l’'adresse IP d'’interfaces de loopback (virtuelles) qui ne
participeront pas nécessairement au routage. Leur avantage est aussi dans le fait que ces
interfaces ne tombent jamais (en fonction d’une dépendance à un lien physique). Notons enfin
que les IOS Cisco prendront toujours en compte l’'IP de l’interface de loopback quand bien
même des interfaces physiques auraient une IP plus élevée. Par contre, en absence d'’interface
de loopback, sur du matériel Cisco, l'’IP la plus élevée d'’une interface physique sera prise.
Un Paquet Hello transporte des informations que tous les voisins doivent agréer avant qu’'une
adjacence soit formée et avant que les informations d’'état de lien soient échangées.
Notons le champ « Rtr Prio », « Router Priority » qui intervient dans la désignation des rôles
entre routeurs OSPF.
Il est maintenant nécessaire de reprendre l'ensemble des concepts vu dans les sections
précédentes et d'envisager globalement les opérations d'OSPF au sein d'une zone.
Cette étape correspond à un des 7 états décrits dans la section 5, Les états OSPF. Dans des
conditions de configuration correcte, les routeurs iront au moins jusqu'au Two-Way State. Si
la liaison est point-à-point, les routeurs voisins deviendront adjacents. Dans le cas d’un réseau
multiaccès, les routeurs vont entrer dans un processus d’élection pour devenir DR, BDR ou
aucun des deux (DROTHER).
Si une élection est nécessaire, autrement dit si les interfaces partagent un réseau multiaccès,
les routeurs entrent dans l’'étape 2 : Election d’un DR et d’un BDR. Sinon, les routeur entrent
dans l’'état ExStart (cf. section 5.A) décrit dans l’'étape 3 : Découverte des routes.
Parce que les réseaux multi-accès peuvent comporter plus de deux routeurs, OSPF élit un DR
pour être le point central des mises à jour link-state. Le rôle du DR est critique. Pour cette
raison, un BDR est élu comme remplaçant immédiat du DR. Cette élection est fonction d’un
type de réseau (une interface LAN dans un réseau multiaccès). Cela signifie qu’'un routeur
qui a trois interfaces LAN OSPF pourrait prendre trois rôles OSPF à la fois (voir Election
DR-BDR).
Le processus électoral du DR ou du BDR peut être truqué … Ainsi, les paquets Hello
contiennent un champ « Router Priority » (8 bits) qui pourra déterminer une élection. Le
routeur avec la plus haute priorité par rapport à ses routeurs voisins gagnera l’'élection DR. Le
second avec la plus haute priorité gagnera l'’élection BDR. Une fois que l’'élection est
terminée, les rôles sont déterminés jusqu’au moment où l’'un est en panne, même si de
nouveaux routeurs s’'ajoutent au réseau avec une plus haute priorité. Les paquets Hello
informent les nouveaux venus de l’'existence et de l’'identification des DR et BDR.
Par défaut, tous les routeurs OSPF ont la même priorité d’une valeur de 1. Une priorité
prendra une valeur de 8 bits, de 0 à 255. Elle est assignée sur une interface, le cas échéant,
manuellement. Une priorité de 0 assurera un routeur qu’il ne gagnera pas une élection sur une
interface tandis qu’'une priorité de 255 assurera sa victoire. Le champ « Router ID » est utilisé
pour départager des routeurs qui auraient éventuellement la même priorité. On a vu plus haut
que ce champ prendra la valeur de l’'adresse IP la plus élevée sur le routeur, avec sur les IOS
Cisco, une préférence absolue pour les interfaces de loopback.
Quand une élection est finie et qu’'une communication bidirectionnelle est établie, les
routeurs sont prêts à échanger des informations de routage avec les routeurs adjacents et à
construire leur base de données de liens.
Les routeurs sont maintenant prêts à s’engager dans le processus Exchange décrit plus haut.
Dans l’état ExStart, les routeurs vont déterminer qui commence à envoyer les informations.
Ici, le principe est d’établir une relation Maître/Esclave entre deux routeurs. Le routeur qui
déclare la plus haute ID (la priorité n’intervient plus) commencera et orchestrera l’échange en
tant que maître.
Une fois que ces rôles sont établis, les routeurs entrent dans l’état Exchange à proprement dit.
Le maître mène l’esclave à un échange de paquets Database Description (DBDs) qui
décrivent la base de données de liens de chaque routeur dans les détails. Ces descriptions
comportent le type d’état de lien, l’adresse du routeur qui fait la publicité, le coût du lien et un
numéro de séquence.
Les routeurs confirment la réception des DBDs en envoyant des paquets LSAck (Type 5), qui
contiennent une correspondance aux numéros de séquences envoyés dans les DBDs. Chacun
compare les informations qu’il reçoit avec ce qu’il sait déjà. Si des DBDs annoncent des
nouveaux états de lien ou des mises à jours d’état de lien, le routeur qui les reçoit entre alors
en état Loading et envoie des paquets LSR (Type 3) à propos des nouvelles informations. En
réponse aux paquets LSR, l’autre enverra des informations complètes d’état de lien des
paquets LSUs (Type 4). En fait, les LSUs transportent des LSAs.
Quand l’état Loading est terminé, les routeurs entrent en Full Adjacency. Il faudra qu’ils
entrent dans cet état d’adjacence totale avant de créer leur table de routage et de router le
trafic. A ce moment, les routeurs d’une même zone ont une base de données d’état de lien
identique.
Après qu’un routeur ait complété sa link-state database, il peut créer sa table de routage et
commencer à transférer le trafic. Comme mentionné plus haut, OSPF utilise comme métrique
le coût (Cost) pour déterminer le meilleur chemin vers une destination. La valeur par défaut
du coût dépend de la valeur de la bande passante d’un lien. En général, plus la bande passante
diminue plus le coût est élevé. Voici les valeurs par défaut du coût par rapport au type de
média sur les IOS Cisco :
Medium Coût
Ligne série 56kbps 1785
T1 (ligne série 1544kbps) 64
E1 (ligne série 2048kbps) 48
Token Ring 4 Mbps 25
Ethernet 10
Token Ring 16Mbps 6
Fast Ethernet 100Mbps, FDDI 1
Pour calculer le coût le plus faible vers une destination, le routeur exécutera l’algorithme SPF.
Pour simplifier, l’algorithme SPF fait la somme des coûts à partir de lui-même (root) vers
tous les réseaux de destination. S’il y a plusieurs chemins possibles vers une destination, celle
qui a le coût le plus faible est choisie. Par défaut, OSPF inscrit quatre routes équivalentes dans
sa table de routage pour permettre la répartition de charge (Load Balancing).
Il arrive que certaines lignes, comme des lignes sérielles, se montent ou se descendent
rapidement (flapping). Le flapping provoquera l’envoi de LSUs qui pousseront les routeurs
destinataires à ré-exécuter l’algorithme SPF pour recalculer les routes. Le flapping prolongé
peut toucher sévèrement les performances des machines. Les calculs SPF répétés prendront
beaucoup de ressources en CPU. Aussi, elles pourraient empêcher la base de données de lien
de converger.
Pour combattre ce problème l’ IOS Cisco utilise un compteur de retenue SPF (SPF hold
timer). Après avoir reçu un paquet LSU, le compteur ne commencera le calcul SPF qu’après
un certain laps de temps. La commande timers spf active l’ajustement de ce temps qui est de
10 secondes par défaut.
Quand un routeur a installé ses routes dans la table de routage, il doit maintenir
minutieusement ses informations de routage. Lorsqu’il y a changement d’un état de lien, les
routeurs OSPF utilisent un processus d’inondation (flooding) pour avertir les autres routeurs.
L’intervalle de mort (dead interval) du protocole Hello fournit un mécanisme simple pour
déclarer un lien rompu. Quand une interface n’a plus de nouvelles d’un lien après cette
période (habituellement 40 secondes), le lien est réputé down. (au sens OSPF cf. flooding)
Le routeur qui a constaté le lien down envoie un LSU avec les nouvelles information d’état de
lien. Oui, mais à qui ?
Si un routeur OSPF est connecté à un autre réseau, il inonde de LSU les autres réseaux en
transférant le LSU au DR d’un réseau multi-accès ou au routeur adjacent sur un réseau P2P.
Le DR, à son ton tour, « multicaste » le LSU à ses routeurs non DR/BDR de son propre
réseau …
Dès qu’un routeur reçoit un LSU, il met à jour sa link-state database et met en œuvre
l’algorithme SPF pour calculer les nouvelles routes à inscrire dans sa table de routage. Après
l’expiration du compteur SPF, la route est inscrite dans la table de routage.
Sur les routeurs Cisco, une vieille route est toujours utilisée pendant que l’algorithme SPF
calcule la nouvelle route et jusqu’au moment où le calcul sera fini.
Il est important de remarquer que même si aucun changement topologique n’intervient, les
informations de routage OSPF sont régulièrement rafraîchies. Chaque entrée LSA a sa propre
durée de vie. Le compteur a une durée par défaut de 30 minutes. Après que sa durée de vie
soit écoulée, le routeur à l’origine de cette information renvoie un LSU au réseau pour vérifier
que le lien est toujours actif.
Notions de switching
Par francois Dernière modification 16/03/2006 15:51 Francois Goffinet
Cet article a pour objectif de présenter une vue globale de la commutation (switching) en
exposant les notions de latence, de full-duplex, de segmentation par du matériel de couche 2
et de couche 3, de modes de commutation.
1. Latence
Définition
La latence, parfois appelée délai, est le temps que prend une trame (ou un paquet) pour
voyager entre la station d'origine (nœud) et la destination finale sur le réseau.
Causes :
Premièrement, il y a le temps nécessaire à la carte réseau d'origine pour placer des impulsions
électriques sur le fil et le temps nécessaire à la carte réseau réceptrice pour interpréter ces
impulsions. On parle parfois, dans ce cas, de délai de carte réseau (il s'agit généralement d'un
délai de 1 microseconde pour les cartes réseau 10BaseT).
Délai propagation
Vient ensuite le délai de propagation proprement dit, qui se produit lorsque le signal prend le
temps, quoique très court, nécessaire à son déplacement sur le fil (environ 0,556
microseconde par 100 mètres pour du câble UTP de catégorie 5). Plus le câble est long, plus
le délai de propagation est important. De même, plus la vitesse de propagation nominale, ou
NVP, du câble est faible, plus le délai de propagation est important.
Délais unités couches 1, 2 ou 3
Enfin, du temps de latence est ajouté en fonction des unités réseau (qu'elles soient de couche
1, 2 ou 3) ajoutées sur la voie entre deux hôtes en communication, ainsi que de leur
configuration. Il convient également de tenir compte du temps de transmission réel (période
pendant laquelle l'hôte transmet effectivement des bits) pour bien comprendre la notion de
synchronisation dans le domaine des réseaux.
2. Les répéteurs
Les répéteurs sont des éléments de couche 1 qui régénèrent le signal avant de le transmettre.
Les répéteurs autorisent des distances de bout en bout supérieures
Les répéteurs augmentent le domaine de collision
Les répéteurs augmentent le domaine de broadcast
3. Full-Duplex
Le commutateur Ethernet full duplex tire parti des deux paires de fils du câble grâce à
l'établissement d'une connexion directe entre l'émetteur (TX) à une extrémité du circuit et le
récepteur (RX) à l'autre extrémité. Lorsque les deux stations sont connectées de cette
façon, un domaine sans collision est créé, car la transmission et la réception des données
s'effectuent sur deux circuits non concurrents.
En règle générale, Ethernet utilise seulement entre 50 et 60 % de la bande passante de 10
Mbits/s disponible en raison des collisions et de la latence. Le mode Ethernet full duplex
offre 100 % de la bande passante dans les deux directions. Cela produit un débit potentiel
de 20 Mbits/s : 10 Mbits/s en transmission et 10 Mbits/s en réception.
5. Le matériel
Les ponts
Les ponts sont des unités de couche 2 qui acheminent des trames de données en fonction des
adresses MAC contenues dans les trames. De plus, les ponts sont transparents pour les autres
unités du réseau.
Les ponts " apprennent " la segmentation d'un réseau en créant des tables d'adresses qui
renferment l'adresse de chacune des unités du réseau, ainsi que le segment à utiliser pour
atteindre cette unité. à moins d'utilisateurs par segment
Un pont est considéré comme une unité de type " Store and Forward " parce qu'il doit
examiner le champ adresse de destination et calculer le code de redondance cyclique (CRC)
dans le champ de séquence de contrôle de trame avant de transmettre ladite trame vers tous
les ports. à Ils augmentent la latence de 10 à 30%
Les routeurs
Un routeur fonctionne au niveau de la couche réseau et fonde toutes ses décisions en matière
d'acheminement des données entre les segments sur l'adresse de niveau protocole de la couche
réseau.
Les commutateurs
Dans une implémentation Ethernet commutée, la bande passante disponible peut atteindre
près de 100 %. Chaque ordinateur branché sur port dispose d'une bande passante maximale de
point à point.
L'un des inconvénients des commutateurs est leur prix, plus élevé que celui des
concentrateurs.
6. La commutation
La commutation est un processus qui consiste à prendre une trame entrante sur une interface
et à l'acheminer par une autre interface. Les routeurs utilisent la commutation de couche 3
pour acheminer un paquet ; les commutateurs (unités de couche 2) utilisent la commutation de
couche 2 pour acheminer les trames
Dans le cas de la commutation de couche 2, les trames sont commutées en fonction des
adresses MAC. Dans le cas de la commutation de couche 3, les trames sont commutées selon
les informations de couche réseau.
Contrairement à la commutation de couche 3, la commutation de couche 2 ne regarde pas à
l'intérieur d'un paquet pour y trouver les informations de couche réseau. La commutation de
couche 2 regarde l'adresse MAC de destination contenue dans une trame. Elle envoie les
informations à la bonne interface, si elle connaît l'emplacement de l'adresse de destination. La
commutation de couche 2 crée et met à jour une table de commutation qui consigne les
adresses MAC associées à chaque port ou interface.
Si le commutateur de couche 2 ne sait pas où envoyer la trame, il l'envoie par tous ses ports au
réseau pour connaître la bonne destination. Lorsque la réponse est renvoyée, le commutateur
prend connaissance de l'emplacement de la nouvelle adresse et ajoute les informations à la
table de commutation.
La trame entière doit être reçue avant de pouvoir être acheminée. Les adresses de
destination et/ou d'origine sont lues et des filtres sont appliqués avant que la trame ne soit
acheminée. De la latence se produit pendant la réception de la trame ; la latence est plus
élevée dans le cas des grandes trames, car la trame entière est plus longue à lire. La détection
d'erreurs est élevée, car le commutateur dispose de beaucoup de temps pour vérifier les
erreurs en attendant de recevoir toute la trame.
Cut-through
Le commutateur lit l'adresse de destination avant d'avoir reçu toute la trame. La trame
est ensuite acheminée avant d'avoir été entièrement reçue. Ce mode réduit la latence de la
transmission et détecte peu d'erreurs de commutation LAN. " FastForward " et " Fragment
Free " sont deux types de commutation " Cut-through ".
Ce mode de commutation offre le plus faible niveau de latence en acheminant un paquet dès
réception de l'adresse de destination. Comme le mode de commutation " FastForward "
commence l'acheminement avant que le paquet entier n'ait été reçu, il peut arriver que des
paquets relayés comportent des erreurs. Bien que cela ne se produise qu'occasionnellement et
que l'adaptateur réseau de la destination rejette le paquet défectueux lors de sa réception, le
trafic superflu peut être jugé inacceptable dans certains environnements. Utilisez le mode
Fragment Free pour réduire le nombre de paquets qui sont acheminés avec des erreurs. En
mode FastForward, la latence est mesurée à partir du premier bit reçu jusqu'au premier bit
transmis (c'est la méthode du premier entré, premier sorti).
On aura vite remarqué que les switches tournant sous un Cisco IOS disposent de la même
interface de configuration et de la même syntaxe de base que les routeurs.
Toutefois, les switches disposent quelques fois de plusieurs dizaines d'interfaces. Il peut
s'avérer fastidieux de les configurer une à une avec des paramètres identiques. L'utilisation de
la fonctionnalité Interface-Range Macros sur des 2950 peut faciliter le travail !
où
Concrètement imaginons que nous devions configurer les ports 2 à 12 d'un 2950-12 de
manière identique en prenant le nom de macro macro1 :
Le protocole Spanning Tree (STP) est un protocole de couche 2 (liaison de données) conçu
pour les switches et les bridges. La spécification de STP est définie dans le document IEEE
802.1d. Sa principale fonction est de s'assurer qu'il n'y a pas de boucles dans un contexte de
liaisons redondantes entre des matériels de couche 2. STP détecte et désactive des boucles de
réseau et fourrnit un mécanisme de liens de backup. Il permet de faire en sorte que des
matériels compatibles avec le standard ne fournissent qu'un seul chemin entre deux stations
d'extrémité.
1. Problématique
Dans un contexte de liaisons redondantes sans STP deux problèmes peuvent survenir :
1. Des tempêtes de broadcast : lorsque des trames de broadcast sont envoyées (FF-FF-FF-
FF-FF-FF en destination), les switchs les renvoient par tous les ports. Les trames circulent en
boucles et sont multipliées. Les trames n'ayant pas de durée de vie (TTL comme les paquets
IP), elles peuvent tourner indéfiniment.
2. Une instabilité des tables MAC : quand une trame, même unicast, parvient aux switches
connectés en redondance, le port du switch associé à l'origine risque d'être erroné. Une boucle
est susceptible d'être créée.
Dans cet exemple, le PC1 envoie une trame au PC2. Les deux commutateurs recoivent la
trame sur leur port 0/2 et associent ce port à l'adresse mac de PC1. Si l'adrese de PC2 est
inconnue, les deux commutateurs transfèrent la trame à travers leur port 0/1. Les
commutateurs recoivent respectivement ces trames inversément et associent l'adresse MAC de
PC1 au port 0/1. Ce processus peut se répéter indéfiniment.
2. Fonctionnement de STP
Bien qu'une topologie physique puisse fournir de multiple chemins dans un contexte de
redondance et ainsi améliorer la fiabilité d'un réseau, STP crée un chemin sans boucle basé
sur le chemin le plus court. Ce chemin est établi en fonction de la somme des coûts de liens
entre les switchs, ce coût étant basé sur la vitesse d'un port. Aussi, un chemin sans boucle
suppose que certains ports soient bloqués et pas d'autres. STP échange régulièrement des
informations (appelées des BPDU - Bridge Protocol Data Unit) afin qu'une éventuelle
modification de topologie puisse être adaptée sans boucle.
Le switch Root sera le point central de l'arbre STP. Le switch qui aura l'ID la plus faible sera
celui qui sera élu Root. L'ID du switch comporte deux parties, d'une part, la priorité (2 octets)
et, d'autre part, l'adresse MAC (6 octets). La priorité 802.1d est d'une valeur de 32768 par
défaut (ce sont des multiples de 4096 sur 16 bits). par exemple, un switch avec une priorité
par défaut de32768 (8000 Hex) et une adresse MAC 00 :A0 :C5:12:34:56, prendra l'ID
8000:00A0 :C512:3456. On peut changer la priorité d'un switch avec la commande :
Sur un switch Root, tous les ports sont des ports désignés, autrement dit, ils sont en état
« forwarding », il envoient et reçoivent le trafic.
A noter aussi qu'en cas de coût égaux, c'est la priorité la plus faible (d'une valeur de 0 à 255)
qui emporte le choix (elle est de 128 par défaut) en déterminant l'ID du port composé de 2
octets (priorité + numéro STP du port) :
En bref,
1 switch Root par réseau dont tous les ports sont désignés
1 port Root par switch non-root
1 port désigné par domaine de collision
tous les autres ports sont non-désignés
Etat « Blocking »
Etat « Listening »
Etat « Learning »
Etat « Forwarding »
Etat « Disabled »
Cet état est similaire à l'état « blocking » sauf que le port est considéré physiquement non
opérationnel (shut down ou problème physique).
4. Quelques commandes
Pour le diagnostic :
Désactivation de STP :
Ports Portfast :
(config-if)#spanning-tree portfast
Priorité du switch :
Paramètres de timing :
I. Concepts
I.1. Introduction
Comme on le sait, le matériel de couche 2 -ici les commutateurs- ne filtrent pas les broadcast
même s'ils limitent les domaines de collision et dédient la bande passante en Full Duplex de
bout en bout. Or on sait que le broadcast diminue les performances au sein des réseaux (ARP,
adresses MAC inconnues, vidéo, etc.). L'utilisation des VLANs est donc une solution
efficace dans la limitation des broadcast.
Bref, efficience, optimisation et sécurité présentent des avantages techniques mais aussi des
avantages économiques indéniables. Toutefois, en pratique, l'implémentation et le maintien
des VLANs n'est pas chose aisée.
I.2.a. Le tagging
Sur un commutateur, on distinguera les ports dits "access" des ports dits "trunk". Un port
"access" est un port qui ne transportera des informations que d'un seul VLAN. A priori, ce
type de port connectera une station. Un port "trunk" est un port qui transportera des
informations de plusieurs VLANs. On y connectera un autre commutateur, un routeur ou
même la carte réseau 802.1q d'un serveur. Autrement dit, un port "access" n'est pas un port
"trunk" et inversément. Toutefois, sur les switches Cisco on aura la possibilité de configurer
le port en mode dynamique grâce au Dynamic Trunk Protocol (DTP, protocole point à point
propriétaire Cisco).
VLAN 1
Le VLAN 1 est un VLAN spécial. Il est le VLAN par défaut de tous les ports, y compris les
ports de "management". En plus, une série de protocoles de couche 2 comme CDP (Cisco
Discovery Protocol), VTP (VLAN Trunk Protocol), PAgP (Port Aggregation Protocol) et
DTP doivent impérativement transiter à travers ce VLAN spécifique. Pour ces deux raisons,
le VLAN 1 ne peut jamais être supprimé, il existe d'office.
VLAN utilisateur
On dira que ce type de VLAN est un VLAN "normal" dans le sens où il est celui qui a été
configuré pour rendre une segmentation logique du commutateur dans le cadre de l'utilité des
VLAN. La numérotation des VLANs est disponible sur 12 bits. Ceci dit, chaque modèle de
switch aura ses limites en nombre total à créer et à gérer.
VLAN de management
Il s'agit d'un VLAN spécifique attribué au commutateur pour qu'il devienne accessible via une
adresse IP (ICMP, Telnet, SNMP, HTTP). Dans les bonnes pratiques de configuration, on le
distinguera du VLAN par défaut, d'un VLAN utilisateur ou du VLAN natif. Dans le cas d'une
tempête de broadcast ou d'un soucis de convergence avec Spanning-Tree, l'administrateur
devrait toujours avoir accès au matériel pour résoudre les problèmes. Aussi, une bonne raison
de séparer le VLAN de management des autres tient au fait évident de séparer logiquement les
périphériques "dignes de confiance" des autres. Il s'agit alors d'appliquer les règles de sécurité
nécessaires afin d'éviter, par exemple, que des utilisateurs classiques accèdent au matériel.
Qu'il existe ou non une interface physique appartenant au VLAN de management désigné, on
joindra le commutateur par IP via une interface virtuelle de type VLANx. Tous ports "access"
associés à ce VLANx répondent pour l'interface virtuelle VLANx.
VLAN natif
La notion de VLAN natif n'intervient que lorsque l'on configure un port Trunk. Quand un port
est configuré en tant que tel, le switch "étiquette" la trame avec le numéro de VLAN
approprié. Toutes les trames passant par un Trunk sont ainsi étiquettées sauf les trames
appartenant au VLAN 1. Donc, les trames du VLAN natif, par défaut le VLAN 1, ne sont pas
étiquettées. Ce type de VLAN existe pour assurer une inter-opérabilté avec du trafic ne
supportant pas le "tagging". Aussi, les protocoles de contrôles tels que CDP, VTP, PAgP et
DTP sont toujours transmis par le VLAN1. Le fait de changer le VLAN natif va faire en sorte
que ce traffic sera alors "étiquetté" VLAN 1, ce qui ne pose aucun problème. Enfin, on évitera
d'utiliser le VLAN 1 comme VLAN utilisateur ou de management. Sur le routeur, on définira
malgré tout le VLAN natif (VLAN 1, par défaut).
I.2.d. Spanning-tree
Il y aura une instance spanning-tree par VLAN. Aussi, il sera conseillé de configurer les ports
"access" en spanning-tree portfast.
I.3. Illustrations
A compléter.
II.Protocoles associés
II.1. VLAN Trunking Protocol (VTP)
VTP est un protocole propriétaire Cisco servant à maintenir la base de donnée de VLANs sur
plusieurs commutateurs. Tout au plus VTP va-t-il ajouter, supprimer ou modifier des ID
VLAN ... Il ne permettra en aucun cas de configurer les ports de manière centralisée !
Chaque opération à partir du serveur VTP sera répercutée sur les clients VTP. Le mode
transparent laissera le commutateur indifférent à toutes ces opérations. Mais à quoi sert-il de
ce cas ? Simplement, il assure la connectivité VTP du serveur vers les clients.
Les messages VTP sont appelés "VTP Advertisements". Ceux-ci ont sont identifiés par un
numéro de révision. Le numéro de révision le plus élevé sera celui qui modifiera la base de
donnée VLAN. Ce mécanisme maintient les informations VTP à jour.
En bref :
• Un seul commutateur est configuré en mode server. Dans un même domaine VTP
défini, il sera le seul autorisé à créer, modifier ou effacer des VLANs. Ces opérations
seront répercutées sur tous les clients.
• Les commutateurs configurés en mode client subissent toutes les opérations de
modification de VLANs à partir du serveur VTP. Ils sont dans l'incapacité d'effectuer
ces opérations eux-mêmes.
• Les commutateurs configurés en mode transparent ne servent seulement qu'à faire
transiter les informations VTP d'un commutateur à l'autre. Toutefois, ils pourront
modifier leur base de données VLAN à leur guise, mais celle-ci leur restera intime,
autrement dit, sans répercution auprès des autres commutateurs, "localy significant".
Par exemple, dans la figure ci-dessus, des opérations VTP venant du serveur VTP (Switch1)
ne parviendraient pas au client VTP (Switch3) car le Switch2 ne serait pas dans le domaine
approprié ("cisco") dans le mode client ou transparent.
Quelques commandes sur switch CISCO
Show run
Voir la configuration
Show vlan
Voir le VTP
Show ip alias
Voir l’adresses IP
Show mac-address-table
(Si vous avez des etherchannel de créer, méfiez vous de la commande "show mac",
car si 4 ports sont regroupés dans un port-channel relié à un autre switch, tous les
paquets de ces mac-adress passent bien évidemment par ce port-channel)
Show etherchannel summary
Affiche les informations concernant tous les ports du switch (Description, Numéro
Interface, Mode duplex)
Configuration terminal
>Hostname « nom_du_switch »
Nommer le switch
>description « xxx »
Nommer un port
Configuration terminal
>speed 10/100/1000
Configuration terminal
>shutdown
Désactiver le port
>no shutdown
Réactive le port