1 - Intranetetu... (27/02/2006

publicité
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
TP 4 : SPANNING TREE PROTOCOL
NE320 : Réseaux Locaux
Décembre 2006
Sommaire :
SOMMAIRE : ....................................................................................................................................................... 1
INTRODUCTION ................................................................................................................................................. 2
1. SPANNING TREE PROTOCOL .................................................................................................................... 2
2. ELECTION DU ROOT BRIDGE ................................................................................................................... 2
3. DESIGNATED BRIDGE.................................................................................................................................. 7
4. ROOT PATH COST ......................................................................................................................................... 9
5. ALGORITHME ................................................................................................................................................ 9
6. APPLICATION ................................................................................................................................................. 9
7. PROXY ARP ................................................................................................................................................... 10
7.1. PROBLEME.................................................................................................................................................. 11
7.2. PROXY ARP ............................................................................................................................................... 11
CONCLUSION.................................................................................................................................................... 12
Page 1 sur 12
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
Introduction
Dans ce TP, nous allons étudier le principe de fonctionnement de l’algorithme de Spanning
Tree qui permet d’éviter les boucles logiques dans un réseau où il y a des boucles physiques.
Nous étudierons ensuite un proxy ARP.
1. Spanning Tree Protocol
Imaginons un réseau dont la topologie est celle de la figure suivante (toutes les stations sont
des bridges).
Question 1 : Quels sont les problèmes d’une telle configuration ?
On sait qu’un bridge (ou pont) laisse passer toutes les trames qui arrivent à une de ses
interfaces sur toutes les autres.
Le problème qui arrive lorsqu’un réseau a une configuration de ce type, comportant au moins
une boucle, c’est que lorsque deux stations veulent communiquer, les trames qu’elles
s’envoient ont plusieurs chemins pour passer donc la trame sera dupliquée d’autant de fois
qu’il y a de chemins. Mais le phénomène est pire : la trame une fois arrivée à un pont sera
retransmise, même si elle a déjà été transmise dans le sens inverse. Il arrive donc un tellement
grand nombre de collisions que le réseau est saturé et que plus aucune communication n’est
possible.
Le STP est un protocole permettant de supprimer ces problèmes. Pour cela, STP désactive
certains liens et laisse les autres actifs de manière à ce que tous les switches et bridges soient
connectés dans une topologie d’arbre (d’où le nom). Le spanning tree est capable de se
mettre en place et de se reconfigurer tout seul suite à des évènement intervenants sur le
réseau.
2. Election du root bridge
Configurez les machines comme le schéma suivant :
Page 2 sur 12
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
Les interfaces eth0 de nos machines sont connectées sur un bus et les interfaces eth1 sont
connectées sur un autre bus. Nos machines feront office de bridge entre les deux réseaux
locaux.
Question 2 : Complétez le schéma avec les adresses des différents bridges.
[Travail préliminaire : nous avons changé l’adresse MAC de l’interface eht0 temporairement
comme demandé grâce à la commande ifconfig :
(none):/home/userir# ifconfig //on regarde l'@ MAC de eth1
eth0
Link encap:Ethernet HWaddr 00:04:76:DD:E3:7B
inet addr:192.168.130.152 Bcast:192.168.130.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:310 errors:0 dropped:0 overruns:11 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:33200 (32.4 KiB) TX bytes:1662 (1.6 KiB)
Interrupt:11 Base address:0xa000
eth1
Link encap:Ethernet HWaddr 00:04:76:E2:7E:BA
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:60 (60.0 b)
Interrupt:5 Base address:0xa400
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1392 (1.3 KiB) TX bytes:1392 (1.3 KiB)
(none):/home/userir# ifconfig eth0 down //on desactive eth0 et on change sa
MAC :
(none):/home/userir# ifconfig eth0 hw ether 00:04:76:E2:7E:BB
(none):/home/userir# ifconfig eth0 up
(none):/home/userir# ifconfig
eth0
Link encap:Ethernet HWaddr 00:04:76:E2:7E:BB
inet addr:192.168.130.152 Bcast:192.168.130.255
Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:310 errors:1 dropped:0 overruns:12 frame:3
Page 3 sur 12
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:33200 (32.4 KiB) TX bytes:1662 (1.6 KiB)
Interrupt:11 Base address:0xa000
eth1
Link encap:Ethernet HWaddr 00:04:76:E2:7E:BA
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:60 (60.0 b)
Interrupt:5 Base address:0xa400
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1392 (1.3 KiB) TX bytes:1392 (1.3 KiB)
Nous avons donc l’adresse MAC de eth0 qui est la suivante de celle de eth1.]
Schéma :
Les adresses MAC commencent toutes par 00:04:76:E2 (car ce sont les mêmes modèles du
même constructeur).
Nous configurons le bridge :
bruges:/home/userir# ifconfig br0 up
bruges:/home/userir# brctl showstp br0
br0
bridge id
8000.000476e280a7
designated root
8000.000476e27eba
root port
1
100
max age
19.99
19.99
hello time
1.99
1.99
forward delay
14.99
14.99
ageing time
299.95
hello timer
0.00
0.00
topology change timer
0.00
0.00
Page 4 sur 12
path cost
bridge max age
bridge hello time
bridge forward delay
tcn timer
gc timer
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
flags
eth1 (0)
port id
listening
designated
100
designated
19.07
designated
11.49
designated
0.00
flags
0000
state
root
8000.000476e27eba
path cost
bridge
8000.000476e27eba
message age timer
port
8002
forward delay timer
cost
0
hold timer
Question 3 : Que remarquez vous ?
On remarque que le root peut changer, en fonction des stations présentes sur le réseau. Celui
qui est root est celui dont l’interface à l’adresse MAC la plus petite.
Question 4 : Selon vous, quel est le critère de choix du root bridge ?
Le critère de choix, comme nous l’avons déduit des expériences précédentes, semble être
l’adresse MAC. En effet, le root est toujours la machine ayant l’adresse MAC la plus petite
sur le réseau.
Après vérification, il est exact que c’est le critère d’élection du root bridge.
Question 5 : Relevez les indications suivantes dans les paquets STP observés
Trame STP capturée par ETHEREAL :
No.
Time
Source
Destination
Protocol
Info
1 0.000000
3Com_e2:7e:ba
Spanning-tree-(for-bridges)_00
STP
Conf. Root = 32768/00:04:76:e2:7e:ba Cost = 0 Port = 0x8002
Frame 1 (60 bytes on wire, 60 bytes captured)
IEEE 802.3 Ethernet
Logical-Link Control
Spanning Tree Protocol
Protocol Identifier: Spanning Tree Protocol (0x0000)
Protocol Version Identifier: Spanning Tree (0)
BPDU Type: Configuration (0x00)
BPDU flags: 0x00
Root Identifier: 32768 / 00:04:76:e2:7e:ba
Root Path Cost: 0
Bridge Identifier: 32768 / 00:04:76:e2:7e:ba
Port identifier: 0x8002
Message Age: 0
Max Age: 20
Hello Time: 2
Forward Delay: 15
- Quelle est l’adresse MAC de destination du paquet ?
L’adresse MAC de destination du paquet est une adresse spéciale au protocole STP.
Il s’agit de 01:80:C2:00:00:00.
Page 5 sur 12
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
- Root bridge ID
Le root bridge id est : 00:04:76:e2:7e:ba. Il s’agit de notre adresse MAC car c’est notre station
qui a la plus petite adresse MAC de toutes celles du réseau.
(en réalité le bridge id est la priorité et l’adresse mac, séparés par un point)
- Root path cost
Le root path cost est 0.
- Bridge id
Le bridge id est : 00:04:76:e2:7e:ba.
- Port id
Le port id est 0x8002.
- Que signifie le bit TC selon vous ?
Le bit TC (Topology Change) est un bit indiquant qu’un changement au niveau de la
topologie de l’arbre et du réseau a été détecté (changement de root, changement de port, …)
Question 6 : Désactivez le root bridge pour vérifier, est-ce conforme ? Que remarquez vous
dans les paquets STP ?
No.
Time
Source
Destination
Protocol
Info
3 0.000131
3Com_e2:80:a9
Spanning-tree-(for-bridges)_00
STP
Topology Change Notification
Frame 3 (60 bytes on wire, 60 bytes captured)
IEEE 802.3 Ethernet
Logical-Link Control
Spanning Tree Protocol
Protocol Identifier: Spanning Tree Protocol (0x0000)
Protocol Version Identifier: Spanning Tree (0)
BPDU Type: Topology Change Notification (0x80)
No.
Info
STP
Time
Source
Destination
Protocol
4 0.999560
3Com_e2:7f:9d
Spanning-tree-(for-bridges)_00
Conf. TC + Root = 0/00:04:76:e2:7f:9d Cost = 0 Port = 0x8001
Frame 4 (60 bytes on wire, 60 bytes captured)
IEEE 802.3 Ethernet
Logical-Link Control
Spanning Tree Protocol
Protocol Identifier: Spanning Tree Protocol (0x0000)
Protocol Version Identifier: Spanning Tree (0)
BPDU Type: Configuration (0x00)
BPDU flags: 0x81 (Topology Change Acknowledgment, Topology Change)
Root Identifier: 0 / 00:04:76:e2:7f:9d
Root Path Cost: 0
Bridge Identifier: 0 / 00:04:76:e2:7f:9d
Port identifier: 0x8001
Message Age: 0
Max Age: 20
Hello Time: 2
Page 6 sur 12
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
Forward Delay: 15
On voit que la mention Topology Change Notification apparaît car le bit TC est à 1.
Le nouveau root est la station qui a l’adresse MAC la plus petite dans celles du nouveau
réseau, où l’ancien root n’est plus.
En réalité, un administrateur réseau peut influencer l’élection du designated bridge par le
choix d’une priorité différente.
Question 7 : Comment faîtes vous cette manipulation ?
On utilise la commande :
brctl setbridgeprio <bridge> <priorité>
Par exemple, on met la priorité d’un post à 0, la meilleure possible (une priorité peut être entre
0 et 65535) :
bruges:/home/userir# brctl setbridgeprio br0 0
bruges:/home/userir# brctl stp br0 on
bruges:/home/userir# ifconfig br0 up
bruges:/home/userir# brctl showstp br0
br0
bridge id
0000.000476e280a7
designated root
0000.000476e280a7
root port
0
path cost
0
max age
19.99
bridge max age
19.99
hello time
1.99
bridge hello time
1.99
forward delay
14.99
bridge forward delay
14.99
ageing time
299.95
hello timer
1.78
tcn timer
0.00
topology change timer
10.78
gc timer
160.07
flags
TOPOLOGY_CHANGE TOPOLOGY_CHANGE_DETECTED
eth1 (0)
port id
forwarding
designated
100
designated
0.00
designated
0.00
designated
0.78
flags
0000
state
root
0000.000476e280a7
path cost
bridge
0000.000476e280a7
message age timer
port
8001
forward delay timer
cost
0
hold timer
On voit que la station est devenue bridge.
3. Designated bridge
Toutes les stations ont la même priorité.
Page 7 sur 12
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
Question 8 : Quel est le root path cost envoyé par le root bridge sur l’interface eth1
Le root bridge envoie le root path cost 0 sur l’interface eth1.
Maintenant ajoutez un à un l’interface eth0 dans le bridge br0 sur tous les bridges sauf le
root bridge. (les réponses suivantes sont valables pour n’importe quel nombre d’interfaces
ajoutées)
Question 9 : Quel est le coût vers la racine vu par le bridge ajouté ?
Le root path cost vu par le bridge ajouté est 100, coût par défaut.
Question 10 : Qui est le designated bridge ?
Le designated bridge est la station pour laquelle l'interface eth0 a le bridge id le plus bas
(fonctionnement similaire que pour l'election du root). C’est le seul bridge du réseau à avoir
ses deux interfaces dans le même pont et que ces deux interfaces soient en mode forwarding,
comme nous allons le voir.
Question 11 : Quel est le(s) lien(s) ethernet désactivé(s) (état bloqué) ?
Toutes les interfaces eth0 sauf celle du designated bridge sont en Blocking. Celle du
designated bridge est en forwarding. Cela signifie qu’une trame du bus formé par les eth0 à
destination de l’autre réseau passera obligatoirement par le designated bridge. C’est l’arête
active de l’arbre, les autres arêtes (i.e. les autres ponts) sont désactivées.
Question 12 : Sur un des bridges bloqué faites la commande brctl setpathcost br0 eth1 50. Que
venez vous de faire ?
Cette commande permet de changer le coût de la racine vu par le bridge par l’interface eth0 à
50, alors qu’il était à 100.
Question 13 : Quels changements voyez-vous ? Expliquez.
On voit que le designated bridge change. En effet, le bridge dont on vient de changer le coût
de passage devient designated car on a signifié aux autres stations qu’il est plus avantageux de
passer par lui plutôt que par les autres (le coût est de 50, contre 100 pour les deux autres
stations). Son interface passe donc en Forwarding et celle du précédent designated bridge
passe en blocking.
Question 14 : En conclusion, que pensez vous du critère de sélection du designated bridge.
Le critère de sélection du designated bridge est, à l’instar de l’élection du root bridge et des
priorités, le coût de passage qui doit être le plus petit possible et en cas d’égalité, c’est
l’adresse MAC qui est décisive.
En réalité le critère est le bridge id, qui est formé du coût et de l’adresse mac séparés par un
point.
Page 8 sur 12
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
4. root path cost
Qustion 15 : Sur l’autre bridge bloqué faites la commande brctl setpathcost br0 eth0 10. Que
venez vous de faire ? Expliquez.
On vient de changer le coût vers la racine de l’interface eth1 du bridge de 0 à 10.
Par conséquent, son interface eth0 passe en Forwarding et eth1 en Blocking. En effet, il a
deux possibilités d’aller à la racine : passer par eth1 ou par eth0, via le designated bridge. Le
designated bridge à un coût de 50, et eth0 de 10. eth1 à un coût de 100.
Passer par eth0 et le designated bridge est donc avantageux, car le coût vers la racine total est
de 50 + 10 = 60.
Donc il a activé son interface eth0 et bloqué eth1.
Question 16 : En conclusion, que pensez vous de la manière de calculer le root path cost ?
Le root path cost est finalement calculé grâce à la somme des coûts des interfaces sortantes
des équipements utilisés pour accéder à la racine.
5. Algorithme
Question 17 : Ecrivez l’algorithme permettant de trouver l’état d’un port, sachant que les ports
du root bridge sont toujours en forwarding.
Si le bridge est root bridge Alors
Ses ports sont forwarding
Sinon Si le bridge est designated bridge et que ses deux interfaces sont activées Alors
Ses ports sont forwarding
Sinon Si le bridge n’est ni root ni designated Alors
Si les coûts vers la racine des deux interfaces sont différents Alors
Si le coût de l’interface 1 est supérieur à celui de l’interface 2 Alors
Bloquer le port de l’interface 1
Autoriser le port de l’interface 2
Sinon
Bloquer le port de l’interface 1
Autoriser le port de l’interface 2
6. Application
Question 18 : Trouver de manière théorique les ports actifs/bloqués sur la première topologie
présentée.
Rappel de la topologie :
Page 9 sur 12
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
On considère que toutes les interfaces ont la même priorité.
La station élue root bridge est celle qui a l’adresse MAC la plus faible. Appelons là A. Les
deux interfaces de A sont forwarding.
A à deux voisines : B et C. Chacune de ces stations passe designated bridge car elles relient
deux réseaux différents.
Il reste une station : D. Cette station, pour atteindre A, à le choix de passer pas B ou C. Elle
compare donc les coûts vers la racine. On suppose que B est élue.
Alors B a ses deux interfaces en forwarding, C n’a que l’interface allant vers A et D n’a que
celle allant vers B.
On obtient un arbre comme celui-ci :
A
C
B
D
Les arêtes qui n’apparaissent pas correspondent aux interfaces bloquées.
Question 19 : Vérifiez par la pratique
Nous réalisons cette topologie en faisant une boucle avec nos stations.
Avec l’aide d’outils tes que ping, ethereal, ou encore showstp, nous pouvons voir que la
configuration est bien celle que nous avions deviné.
7. Proxy ARP
Page 10 sur 12
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
7.1. Problème
La configuration est remise comme au début du TP.
On relie notre routeur à eth1 avec un câble croisé.
Question 20 : Faites un schéma de l’installation
R représente le routeur.
La machine esisar, notre routeur et notre station sont sur le même sous-réseau IP. Cependant,
le routeur n’est pas sur le même lien ethernet qu’esisar.
Question 21 : Quel problème cela pose-t-il ? Démontrez le par la pratique.
Les paquets ARP ne passent pas le pont. En effet, si le routeur veut communiquer à la
machine esisar, il lui faut d’abord connaître son adresse MAC. Pour la connaître, il faut qu’il
envoie des requêtes ARP et qu’il en reçoive les réponses.
Or les paquets ARP ne sont pas transférés du routeur à la machine esisar et inversement. Donc
la correspondance IP/MAC ne peut pas être faite.
7.2. Proxy ARP
Nous configurons notre machine en proxy ARP.
On ajoute une route sur notre station vers le routeur :
#root add -host 192.168.130.55 eth1
Puis on active l’ip forwarding et le proxy ARP:
#sysctl -w net.ipv4.ip_forward=1
#sysctl -w net.ipv4.conf.all.proxy_arp=1
Page 11 sur 12
Adil BENNIS
Viet Hung DO
Jean Marc DUFOUR
NE 320
P2009 IR
TP4 : Spanning Tree Protocol
Question 22 : Qu’observez vous dans les captures et dans les tables ARP des différentes
machines ?
On s’aperçoit maintenant que notre machine répond aux requêtes ARP en renvoyant sa propre
adresse MAC.
Le routeur peut donc maintenant communiquer avec esisar : il envoie les paquets au proxy
ARP qui, lui, les renvoie à la machine esisar.
Question 23 : Déduisez-en le fonctionnement d’un proxy ARP.
Le proxy ARP permet de transférer des paquets entre deux réseaux physiques, pour n’en faire
qu’un seul réseau logique.
Les machines d’un réseau s’adresse à lui pour communiquer avec les machines d’un autre
réseau et lui sait faire la correspondance pour adresser les paquets au bon destinataire.
Conclusion
Lors de ce TP, nous avons étudié le protocole Spanning Tree, qui permet d’utiliser au mieux
les liens redondants d’un réseau en en désactivant certains. Nous avons vu comment
administrer ce protocole, notamment en spécifiant les root bridge et designated bridge grâce
aux priorités et coûts affectés aux interfaces ou encore en choisissant les interfaces à activer
ou désactiver grâce aux coûts.
Nous avons ensuite étudié le fonctionnement d’un proxy ARP dans une machine bridge.
Page 12 sur 12
Téléchargement