Vous êtes sur la page 1sur 19

TELECOM ParisTech - Paris Institute of Technology

TP OSPF
Simulation de lintranet de lENST

14 juin 2009

lattention de Jean-Louis Rougier

David TORTEL Anne CHEVALIER Louis DE TERSANT

Les ressources utilises dans cet article sont directement rfrences par une note de bas de page, l o elles apparaissent. Toute autre information contenue dans le prsent document est le fruit dune opinion personnelle, du consensus dune conversation avec des interlocuteurs du domaine des rseaux, ou de connaissances acquises par notre formation ou notre exprience personnelle.

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

Table des matires


I Introduction 4
4 4

1 Outils utiliss 2 Topologie

II

Travail demand

4
5 5 5 5 5 5 7 7 8 9 10 11 11 12 12 13 14 14 15 15 15 16 16 16

3 Lancement des machines virtuelles 3.1 Lancement des routeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Mise sous tension et destruction dun routeur . . . . . . . . . . . . . . . . . 3.3 Le cas Infres/Enst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Question 1.1 : Conguration de lIntranet 4.1 Prliminaires . . . . . . . . . . . . . . . . 4.2 Test OSPF . . . . . . . . . . . . . . . . . 4.2.1 Les tables de routage . . . . . . . . 4.2.2 ping . . . . . . . . . . . . . . . . . 4.2.3 traceroute . . . . . . . . . . . . . . 4.2.4 tcpdump . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

5 Question 1.2 : Les temps de convergence 5.1 La rsistance aux pannes . . . . . . . . . . . . . . 5.1.1 traceroute . . . . . . . . . . . . . . . . . . 5.1.2 ping . . . . . . . . . . . . . . . . . . . . . 5.1.3 tcpdump . . . . . . . . . . . . . . . . . . . 5.2 Mise en place dun nouveau routeur sur le rseau 5.2.1 ping . . . . . . . . . . . . . . . . . . . . . 5.2.2 tcpdump . . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

6 Question 1.3 : Diminution du temps de convergence 6.1 Les raisons dune convergence lente . . . . . . . . . . . 6.2 Proposition de solution . . . . . . . . . . . . . . . . . . 6.3 Vrication des amliorations . . . . . . . . . . . . . . 6.4 Conditions sine qua non dune convergence rapide . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

7 Question 3 : Connectivit entre deux machines htes lors de la chute dun routeur 7.1 Limpuissance du protocole OSPF . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Connexion du sous rseau lors de la chute dun routeur . . . . . . . . 7.1.2 OSPF : un protocole de routage pour la couche transport . . . . . . 7.2 Le pouvoir du Virtual Router Redundancy Protocol . . . . . . . . . . . . . 7.2.1 Principes fondamentaux de VRRP . . . . . . . . . . . . . . . . . . . 7.2.2 Application lintranet de lENST . . . . . . . . . . . . . . . . . . .

17 17 17 17 18 18 18

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT 7.2.3

TP OSPF 19

Test sur le rle de VRRP . . . . . . . . . . . . . . . . . . . . . . . .

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

On cherchera tout au long de ce TP se familiariser avec les techniques de routage IP que lon utilise dans les intranets ; on sintressera tout particulirement aux protocoles de routage OSPF etVRRP. Il sagit ici de comprendre en profondeur les deux protocoles de routage - fonctionnement normal, rsistance aux pannes, paquets changs... - On tudiera ce propos une conguration simplie de lintranet de lENST.

Premire partie

Introduction
1 Outils utiliss
Dans toute la suite on utilisera les logiciels Quagga etKeepalived. La conguration des noyaux virtuels - avec netkit - des interfaces physiques et de ladressage IP des quipements est dj eectue.On se concentrera donc sur les protocoles de routage OSPF et VRRP implments sur lensemble des routeurs. Nous verrons que loutil Quagga ore une interface de conguration trs conviviale, avec une conguration en ligne de commandes standard, identique ceux de routeurs rels du march.

Topologie

Le travail sera eectu sur une topologie simplie de lintranet de lENST dont une gure est propose ci-dessous.

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

Deuxime partie

Travail demand
3
3.1

Lancement des machines virtuelles


Lancement des routeurs

Lensemble de la conguration des routeurs a dj t eectue. On lance les machines virtuelles avec les commandes Tpres@vnet01 $ cd tp_intranet Tpres@vnet01 $ lstart Ces commandes ont pour eet de lancer en parallle les direntes machines virtuelles qui apparaissent alors lcran sous forme de console. Tout se passe comme si on tait connect chaque routeur. On peut alors avec loutil vtysh passer des commandes an de modier les comportements des routeurs.

3.2

Mise sous tension et destruction dun routeur

Par ailleurs, on pourra dtruire une machine avec la commande : $ lhalt <nom_de_la_machine> et la lancer de nouveau avec la commande $ lstart <nom_de_la_machine> La chute et le lancement dun routeur nous permettront de comprendre les temps et les tapes de convergence lorsquun nouveau routeur apparait sur le rseau ou lorsquun routeur tombe en panne. On prendra bien soin denregistrer la conguration du routeur avant de le dtruire. Ainsi, en le redmarrant il ne sera pas utile de relancer le protocole OSPF.

3.3

Le cas Infres/Enst

Les machines sont normallement congures pour lancer automatiquement le protocole de routage OSPF, sauf pour les machines ENST et Infres. Ces deux machines sont en eet des machines htes et ne peuvent par consquent pas faire de routage. Elles sont alors congures avec une route par dfaut. Il sagit de la route vers le routeur GIGA1 pour ENST et de la route vers Belenos pour Infres. Ainsi, chaque paquet issu de lENST sera trait excuivement par Giga1 alors que chaque paquet issu de Infres sera rout exclusivement par Belenos.

4
4.1

Question 1.1 : Conguration de lIntranet


Prliminaires

Quagga ore la possibilit daccder lensemble des daemons de la suite quagga grce la ligne de commande :

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT $ vtysh

TP OSPF

On est alors en mesure de lancer le protocole de routage OSPF avec les lignes de commande : # conf t # router ospf La deuxime commande nous permet de lancer le protocole de routage OSPF et de rentrer dans la conguration du routeur. OSPF est un protocole de routage tat de liens - standard IETF -, qui repose sur lalgorithme Link States. Le principe de cet algorithme est denvoyer tout le rseau des tats de liens, id est la liste de ses voisins pondre de mtriques - les mtriques sont gnraleK ment poses : Mi = o Ci reprsente la capacit du lien i , ou modies pour viter la Ci congestion de certaines parties du rseau. On doit donc prciser plusieurs paramtres pour assurer son bon fonctionnement : La liste des interfaces sur lesquelles doit fonctionner OSPF Laire de routage laquelle appartient cette interface Il est recommand par lnonc de ne pas se procupper de ladressage hierarchique par zone. On considrera donc que laire de routage est une aire unique que lon nommera dans la suite area 0. Par ailleurs, on souhaite utiliser le protocole de routage OSPF sur tous les routeurs de lintranet. Une fois dans la conguration du routeur, ces paramtres peuvent tre renseigns avec la ligne de commande suivante : Quagga(config-routeur)# network adrIPdelinterface area numrodarea Lorsque les adresses IP des interfaces dun mme routeur appartiennent un mme prxe, il est possible de toutes les considrer en mme temps en proposant comme adresse de linterface une adresse rseau moins spcique - id est comprenant toutes les interfaces Dans notre cas, toutes les adresses issues dun routeur de lENST appartiennent ladresse de rseau 137.194.0.0/16. Sur chaque routeur il est donc possible de prciser les paramtres prcdents avec lunique ligne de commande : $ network 137.194.0.0/16 area 0 $ redistribute connected

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

Les mots cls "redistribute connected " signient que lon ajoute aux routes OSPF les routes gurant dans la table connected. Cette table de routage contient les routes locales, qui nont pas t apprises par OSPF. Les routes apprises par OSPF sont automatiquement annonces. Tous les routeurs sont maintenant senss avoir lanc le protocole de routage OSPF. On va eectuer une batterie de tests an de vrier si ce protocole est bien actif et si le rsultat est bien celui attendu. Pour cela on va : 1. Vrier les tables de routage des dirents routeurs. 2. Faire des ping entre les dirents routeurs pour sassurer que tout le rseau est accessible. 3. Eectuer des traceroute an danalyser les dirents parcours de paquets 4. Utiliser tcpdump an de comprendre les dirents paquets mis sur le rseau.

4.2
4.2.1

Test OSPF
Les tables de routage

Les tables de routages sont disponibles avec la commande show ip route On pourra alors sassurer que chaque routeur implmente bien le protocole de routage OSPF. En eet, au dbut de la simulation, la table de routage des routeurs est vide - ou presque, en ralit il y a une ligne par interface, comme le dmontre la capture dcran ci-dessous.

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

Lorsquon congure un routeur on lui donne une adresse IP relative une interface et un masque. Le routeur en dduit ladresse rseau relie cette interface et place cette ligne directement dans sa table de routage. On pourra sassurer que le protocole est bien lanc si la table se remplit. En eet, en commanant excuter le protocole de routage OSPF chaque routeur va placer dans un tableau ltat des liens quil reoit et va alors calculer les plus courts chemins vers chaque destination avec un algorithme de Bell-Fordman, les insrant au fur et mesure dans la table de routage. Limage ci dessous reprsente la table de routage du routeur Goudurix. On voit clairement que la table a t remplie au fur et mesure. A chaque destination accessible, le routeur dispose de linterface de sortie ainsi que le chemin suivre.

4.2.2

ping

Le ping est une commande informatique qui envoie une requte ICMP vers une machine distante. Lorsquelle reoit cette requte, la machine distante rpond avec un second

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

message ICMP vers la machine mtrice. Selon les caractristiques de ce message, on peut dduire plusieurs informations sur la machine distante. Ici, on fera appel la base du ping. On envoie une requte ICMP et on attend la rponse. Si on reoit cette rponse, cela signie que la machine distante est bien connecte sur le rseau et quil existe un chemin pour communiquer avec elle. Cette commande nous permet donc ici de vrier que tous les routeurs sont bien connects, et que leur table de routage est complte, - id est quil existe au moins une route pour les relier deux deux- . Voil un exemple de ping lanc depuis la machine Toutatis vers la machine Lug. La machine distante - ici Lug - rpond, il existe donc un chemin qui relie Toutatis Lug.

Le ping lanc entre deux routeurs ne garantit en aucun cas que le protocole de routage OSPF est bien implment sur tous les routeurs. En eet, on garantit lexistence dun chemin et en aucun cas lexistence dun chemin optimal. Pour vrier la bonne implmentation du protocole OSPF, on lance un traceroute entre plusieurs machines. 4.2.3 traceroute

Traceroute est un outil de rseau qui permet une connaissance plus ou moins prcise du chemin quemprunte le paquet pour arriver destination. Le principe de traceroute est denvoyer successivement des paquets ICMP avec un TTL croissant en partant de 1. Le TTL donne le nombre maximum de routeurs que peut traverser un paquet avant dtre dtruit - ce champ est utile pour viter la congestion du rseau - . Ds que le TTL est atteint, le routeur dtruit le paquet et envoie un message ICMP derreur. On utilise cette proprit des TTL. On envoie alors des paquets avec des TTL croissants, en partant de 1. On reoit alors un ICMP erreur du premier routeur travers - avec le TTL de 1 - du second -avec le TTL de 2 - et ainsi de suite, de tous les routeurs traverss. On a alors la liste des routeurs traverss. Dans certains cas, le routeur ne rpond pas aux requtes ICMP. Cest pour cela que dans certaines lignes ladresse des routeurs peut tre remplace par des astrix. Voil un exemple de traceroute eectu depuis la machine Gourdurix vers la machine Lug

RES343

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

Le rsultat est lensemble des routeurs intermdiaires qui sont traverss par les paquets envoys. Si on se rfre la topologie, on se rend compte que le chemin employ est bien le plus court. Remarque : Quand on a deux chemins de mme longueur OSPF en choisit un arbitrairement. 4.2.4 tcpdump

tcpdump est sans aucun doute loutil de sning le plus rpendu et le plus utilis avec Wireshark -. La technique de sning consiste couter avec attention une interface et rcuprer le trac quelle reoit. Selon la conguration, on peut rcuprer lensemble des paquets, mme ceux qui ne nous sont pas destins. Cela repose sur le fait que les messages en ethernet sont broadcasts tout le sous-rseau. Ici, lutilisation de tcpdump nous permettra de comprendre les messages qui sont envoys entre les dirents routeurs. On lance donc tcpdump sur le routeur. Pour ce faire, on sort de la conguration du routeur avec 2 exit successifs. On lance ensuite la ligne de commande suivante : $ tcpdump -i eth0 -i eth0 signie qu lon rcupre le trac qui arrive sur linterface eth0 Limage ci-dessous montre le trac obtenu lors du sning de linterface eth0 du routeur Toutatis :

RES343

10

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

En labsence de trac entre les direntes machines du rseau de lENST, lensemble du trac dvoil par tpcdump est en fait compos des messages que senvoient les routeurs dans le cadre du protocole de routage OSPF. En eet, on remarque que toutes les dix secondes on reoit des paquets intitulls HELLO, envoys par les routeurs voisins. Ces paquets permettent de conrmer au routeur ltat de ses liens - id est ce message permet de conmer que le routeur metteur est toujours en fonctionnement et que le lien est toujours en bon tat -. Le routeur metteur est ainsi toujours en mesure de router des informations. On a donc utilis ici les trois outils les plus rpendus dans lanalyse de rseau : Le ping, pour sassurer quune machine est bien connecte, le traceroute pour tudier le chemin vers cette machine et tcpdump, pour analyser le trac mis sur le rseau par lensemble des protagonistes.

Question 1.2 : Les temps de convergence

Cette question a pour but de mettre en vidence les direntes tapes de convergence suite la panne dun routeur ou lapparition dun nouveau routeur. Nous tudierons alors les temps de convergence et essaieront de les amliorer en expliquant les consquences pour le rseau.

5.1

La rsistance aux pannes

On cherche ici les ractions dun rseau suite la chute dun routeur. On va alors simuler la panne du routeur Belenos . Cette simulation est possible grce la ligne de commande suivante passe dans la console principale : $ lhalt Belenos Lorsquon saisit cette commande, la machine virtuelle Belenos steint puis disparait. Nous allons tudier les consquences de cette disparition grce aux outils vus prcdemment.

RES343

11

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT 5.1.1 traceroute

TP OSPF

On veut tudier, comme on la prcis, la rsistance la panne. Pour cela, on tudie le temps ncessaire au systme pour parvenir router les paquets qui devaient passer par le routeur en panne. On va alors faire un ping entre deux machines distantes ; les paquets ICMP envoys devront passer par le routeur Belenos. Pour sassurer de ce paramptre, on fait un traceroute depuis une des deux machines, vers la seconde. Par exemple, dans notre cas, on pense envoyer un ping depuis la machine Goudurix vers la machine Lug. On se place donc sur la machine virtuelle de Goudurix et on saisit la commande : traceroute 137.194.167.252 Cette commande renvoie lensemble des routeurs traverss depuis Goudurix vers Lug. On vrie que le routeur Belenos appartient bien la liste. Si a nest pas le cas, on cherche un autre couple de routeur dont le trac passe par Belenos

5.1.2

ping

On est ramen au cas o le routeur Goudurix envoie des informations au routeur Lug ; les informations sont alors routes par Belenos. On fait un ping entre les machines Goudurix et Lug ping 137.194.167.252 Les paquets ICMP sont mis avec une periode de 1 seconde. La squence des pings mis dle. On arrte alors la machine Blnos. Comme prvu, les pings narrivent plus destination pendant un temps ils sont alors perdus -, le temps ncessaire au systme pour recalculer un autre chemin. Dans le TP on passe de icmp seq = 24 textiticmpseq = 58. Cela signie que 34 paquets ICMP ne sont pas arrivs - 58 24 = 34- Le temps de convergence est donc le temps de 34 paquets. Comme la periode est de une seconde, il faut 34 secondes pour recalculer un chemin. Ce temps comprend la dcouverte de la panne et le temps de calcul du plus court chemin ; En gnral, le temps de convergence est entre 30 et 40 secondes - les hello sont envoys toutes les 10 secondes ; on attend 3 hello pour considrer quun routeur est mort. La ractivit de OSPF en cas de panne correspond en majorit au

RES343

12

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

temps ncessaire pour se rendre compte que le routeur Belenos est mort. Aprs linondation de linformation ainsi que le calcul du plus court chemin sont relativement rapides.

Ces temps sont tout de mme relativiser et rapporter la puissance de lordinateur qui xcute netkit. En eet, netkit est un outil dmulation et non pas de simulation, ce qui signie quil sattache reproduction des fonctionnalits - conguration, architecture, protocoles... - et moins la performance. Lxcution de plusieurs machines virtuelles sur un mme ordinateur de moyenne puissance peut donc fortement ralentir la vitesse dexcution de certains programmes. Ainsi, les temps obtenus lors des manipulations ne peuvent tre considrs dans labsolu. 5.1.3 tcpdump

Lutilisaton de tcpdump va permettre ici daner la comprhension du phnomne de convergence. Dun point de vue protocolaire, on lance tcpdump sur un routeur voisin de Belenos, on attend quelques secondes puis on teint le routeur OSPF. On observe alors les paquets qui ciruclent sur le cable thernet. Dans un premier temps, on est ramen au cas prcdent. En eet, on reoit avec une periode de dix secondes, des paquets HELLO mis par les voisins. Lorsque Belenos tombe, il ne renvoie plus de paquets HELLO. Le voisin attend alors le temps de 3 HELLO - donc dans ce cas 30 secondes - puis considre la chute du routeur. Il informe alors le reste du rseau que Belenos est tomb au travers de paquets LS update. Chaque routeur acquitte alors quil a bein reu le message avec un LS ACK. Par consquent, on a un phnomne dinondation du rseau et trs vite la table dtat des liens de lensemble des routeurs est modie. Ensuite, chaque routeur, de son ct recalcule les chemins les plus courts. Une srie de requtes ARP sera ensuite ncessaire pour que les routeurs qui remplacent Belenos actualisent leur table ARP - Par la suite, une fois les tats de liens ractualiss, on retombe dans un rgime stationnaire, o chaque routeur envoie un message HELLO ses voisins pour lui assurer son bon fonctionnement.

RES343

13

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT Ce scnario est illustr par la capture dcran ci-dessous

TP OSPF

5.2

Mise en place dun nouveau routeur sur le rseau

On va maintenant tudier la ractivit du protocole de routage OSPF la mise en place dun nouveau routeur sur le rseau. Pour cela, on va redmarrer le routeur Belenos. On tudiera la raction du protocole en utilisant les outils vus prcdemment : ping, traceroute et tcpdump. 5.2.1 ping

On envoie un ping entre les deux machines Goudurix et Lug. On voit ci-dessous la capture dcran de ce ping. Les messages ICMP envoys destination de Lug passent par le routeur Toutatis. On active le routeur Belenos avec la commande $ lstart Belenos

RES343

14

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

Il ny a aucun arrt dans la rception des pings. Dans le cas prcdent, des paquets avaient t perdus avec la panne dun routeur. Ces paquets taient les paquets envoys vers le routeur Belenos avant que lon ait pris conscience de son inactivit. Le problme est ici dirent. Nous avons un premier chemin fonctionnel, et nous en proposons un second. Aucun paquet donc ne sera perdu. Par ailleurs on peut dterminer avec assurance le temps ncessaire au systme pour converger. En eet, les rsultats du ping achent un temps moyen de 0,3 ms. Un paquet a mis 10 ms. On a un temps de 10ms contre 0,3ms car le ping est un paquet ICMP qui nest pas prioritaire. Le routeur calcul dabord les chemins - calcul prioritaire qui consomme une bonne partie du CPU - , puis renvoie le message ICMP. Ceci reste une hypothse car le dirence dans le temps pourrait tre galement du la mauvaise virtualisation des machines virtuelles ; la virtualisation est en eet dun niveau minimum, le partage du CPU nest pas optimis. Il est donc possible quun autre routeur utilise tout le CPU, retardant alors lenvoi de paquet ICMP des autres machines. 5.2.2 tcpdump

Pour comprendre en profondeur le protocole relatif la mise en route dun routeur OSPF on utilise tcpdump. On lance tcpdump. Puis on relance le routeur Belenos. Immdiatement, le nouveau routeur envoie des paquets HELLO sur toutes ses interfaces, an de prvenir ses voisins quil vient darriver sur le rseau et pour dcouvrir ses voisins - les messages sont envoys sur une adresse multicast -. Les voisins rpondent par des HELLO, ce qui permet au nouveau routeur davoir une connaissance de ses voisins directs. Ensuite, il faut synchroniser les bases de donnes. Pour cela, il envoie une requte de type description database pour informer que sa table dtat de liens est vide. Il a donc besoin que ses voisins partagent avec lui leur connaissance topologique du rseau, ce quils font en lui envoyant un paquet DatabaseDescription qui contient des informations sommaires sur les routeurs du rseau. Le nouveau noeud envoie ensuite une requte de type LS request des lignes dont il a besoin pour avoir des prcisions. Les noeuds adjacents proposent une rponse sous la forme dun paquet du type LS description response qui contient les lignes demandes. Une fois la table remplie, le nouveau routeur calcule les ppc et chaque changement il envoie sa table de liens. Une fois toutes ces tapes ralises, le systme converge. Chacun grce au systme dinondation des tables de liens a mis sa table a jour. Ne circulent alors sur les cables plus que des messages de type HELLO. Dans notre cas, le temps de convergence est de 21 seconces, ce qui est beaucoup plus rapide que la convergence en cas de panne.

6
6.1

Question 1.3 : Diminution du temps de convergence


Les raisons dune convergence lente

On la dmontr prcdement, la lenteur de convergence du protocole OSPF, dans le cas de la disparition dun routeur, vient du fait que des hello sont envoys toutes les 10 secondes. En eet, pour considrer quun routeur ou quun lien est defectueux, le protocole prvoit dattendre la non-rception de 3 messages HELLO conscutifs, ce qui correspond un temps de 30 secondes. Ds lors, il faut 30 secondes pour considrer quun routeur est inaccessible puis ensuite commencer prvenir le rseau que ce routeur nest plus accessible.

RES343

15

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

6.2

Proposition de solution

Pour avoir un meilleur temps de convergence, on cherche donc tout dabord augmenter la ractivit par rapport la chute dun lien. Comme on doit attendre le temps de 3 messages HELLO pour considrer quun routeur nest plus accessible, rduire le temps de raction revient rduire le temps entre deux HELLO successifs. On va alors augmenter drastiquement la frquence dmission des HELLO. On propose une periode de 1s pour esprer une convergence en quatre secondes. En eet, avec une periode dmission de 1 seconde, les routeurs considreont le lien tomb au bout de trois secondes - temps de 3 HELLO non reus -. Le rseau sera donc innond avec les nouvelles tables de liens, puis chacun calculera alors ses plus courts chemins ce qui peut tre possible en 1 seconde. Pour proposer une periode de 1 seconde, on saisit les lignes de code suivante : $ # # # # vtysh conf t router ospf interface eth0 ip ospf hello-interval 1

Lensemble des interfaces des routeurs doivent tre congures. La valeur du hello interval doit tre la mme pour tous les routeurs du rseau. Il faut donc saisir ces lignes de conguration sur lensemble des interfaces de lensemble des routeurs du rseau. Le dead-interval est lintervalle au bout duquel un routeur est considr comme innaccessible sil na pas envoy de message de type HELLO. Dans le protocole OSPF, comme on la dj vu ce temps est de 3 fois le temps entre deux HELLO successifs. Dans la virtualisation que lon utilise, il faut galement congurer le dead-interval parce que quagga ne fait pas directement le lien de manire proportionnelle entre le hello interval et le dead interval. On xe donc le dead interval 3 sur toutes les interfaces de tous les routeurs. $ # # # # vtysh conf t router ospf interface eth0 ip ospf dead-interval 3

6.3

Vrication des amliorations

La vrication du nouveau temps de convergence peut se faire avec un ping, ou ltude des paquets via tcpdump. On choisit de lancer un ping entre Goudurix et Lug - aprs avoir vri via un traceroute que les paquets passent par Belenos. On tue Belenos. Comme prcdemment des paquets sont perdus. On perd les paquets ICMP de 20 22 inclus, ce qui reprsente 3 paquets donc 3 secondes.

6.4

Conditions sine qua non dune convergence rapide

On est donc parvenu diminuer les temps de convergence. Nanmoins, linconvnient est que lon a fait de OSPF un protocole trs bavard. Chaque routeur envoie en eet un paquet par seconde juste pour spcier quil est toujours accessible. Ceci aura probablement des

RES343

16

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

consquences dun point de vue dbit utile pour lutilisateur, et bande passante disponible. Il faudra donc augmenter la capacit des liens pour que ce protocole sous jacent soit invisible pour lutilisateur. Une autre possibilit est de considrer un routage hierarchique par zone. Ainsi, chaque fois les messages seraient broadcasts la zone et pas au rseau tout entier, diminuant ainsi de manire signicative le nombre de paquets sur les liens.

Question 3 : Connectivit entre deux machines htes lors de la chute dun routeur

On va maintenant tudier la connectivit entre les deux machines infres et enst et tudier son comportement lors de la chute dun routeur.

7.1

Limpuissance du protocole OSPF

Pour cela, on va faire un ping entre les deux machines. On commence par vrier que le trac passe bien par le routeur Belenos avec un traceroute. Le traceroute nous indique que le trac traverse les deux routeurs Giga1 et Belenos. On peut donc commencer ltude de la connectivit de deux machines dans des sous rseaux dirents. 7.1.1 Connexion du sous rseau lors de la chute dun routeur

On lance le ping, on tue Belenos. Comme on sy attendait, le paquets ne transitent plus. Nanmoins, on nobserve aucune converence. On attend les 4 secondes ncessaires la convergence du systme, mais mme aprs 30 secondes les paquets ICMP sont perdus. On ractive le routeur Belenos, les paquets arrivent alors destination. 7.1.2 OSPF : un protocole de routage pour la couche transport

Cette petite experience dmontre que le reroutage des informations est impossible en labsence de Belenos. Tout se passe comme si les messages devaient obligatoirement passer par le routeur Belenos. Quand il est inactif, les paquets sont perdus, quand il est de nouveau actif, les paquets transitent nouveau. Ainsi, on narrive pas trouver une nouvelle route, alternative. Ceci sexplique par le fait que enst et infres ne sont pas des routeurs, mais seulement des machines. Par consquent, elles ne peuvent pas faire de routage. Ces deux machines ont une route par dfaut et envoient lensemble de ces paquets vers cette route. Lorsquon rentre dans la conguration de la machine infres - ip show table - on se rend compte que sa route par dfaut est Belenos. En dautres termes, tous les paquets que veut envoyer infres sur le net transitent obligatoirement par le routeur Belenos. Ainsi, si le routeur tombe, infres ne peut plus dialoguer avec lexterieur. Si belenos meurt, toutatis ne peut pas servir de backup. On se rend compte ici dune limite importante du protocole de routage OSPF. En eet si le protocole prsente une rsistance aux pannes intressante au niveau transport entre routeurs - en proposant de nouvelles routes dans le cas o un lien tombe -, il ne prend

RES343

17

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

pas en compte la rupture de lien entre le sous rseau et le routeur. Ds lors, si le lien est dfectueux, lensemble du sous rseau se retrouve bloqu. Pour surmonter cette limite, on va exploiter le protocole VRRP qui permettra de trouver un chapatoire dans cas o le routeur Belenos tombe.

7.2

Le pouvoir du Virtual Router Redundancy Protocol

Virtual Router Redundancy Protocol - que lon note VRRP - est un protocole de redondance de routeurs. Il permettra au travers de la redondance quil met en place de protger un sous-rseau lorsquun routeur tombe en panne. On a vu dans la question prcdente que lorsque lENST envoie un paquet vers Infres, le bon fonctionnement du routeur Belenos est indispensable avec un protocole OSPF classique. Grce ce protocole VRRP - qui est compatible notamment avec OSPF, MPLS...- , il est possible daugmenter la rsistance la panne. Le protocole repose sur la notion de routeur virtuel. 7.2.1 Principes fondamentaux de VRRP

Parmi un groupe de routeurs participant VRRP dans un sous-rseau, le protocole va lire un matre, ainsi quun ou plusieurs routeurs backup. Tous sont accessibles par une mme interface, une mme adresse IP - les routeurs de backup assurent le double adressage, - lIP utilise peut alors tre celle du routeur matre -. On forme ainsi un unique routeur virtuel, vu de la part de la machine hote comme un seul et unique routeur. Dans le cas dun fonctionnement normal, le routeur matre route les paquets qui lui sont destins, les routeurs de backup reoivent galement ces paquets mais les dtruisent tant que le bon fonctionnement du routeur primaire est assur. Son maintien est assur par lenvoi de faon rgulire de messages portant le numro de protocole 112. Dans le cas dune dfaillance du routeur matre - on ne reoit plus les messages du routeur primaire -, un routeur de backup prend dynamiquement le relais, jusquau retour du routeur matre. Du point de vue de la station mettrice, la panne est totalement transparente, on continue denvoyer les messages la mme adresse IP - ladresse MAC utilise est une adresse multicast an dviter les problmes dadressage de la couche 2. 7.2.2 Application lintranet de lENST

Dans notre cas, on veut muler un routeur virtuel partir des routeurs Belenos et Toutatis an que si le routeur Belenos tombe, Toutatis puisse prendre la relve et assurer ainsi le trac en provenance ou destination de Infres. Belenos est donc le routeur matre - cest lui qui route les messages vers Infres par dfaut - , et Toutatis est le routeur de backup, i.e. le trac passera par toutatis en cas de crash de belenos. Pour modier la conguration du rseau de manire minimale tout en sassurant que Infres puisse voir le routeur virtuel, on attribue au routeur virtuel ladresse IP de belenos. Linterface eth0 de Toutatis a donc 2 adresses ; ce multi-adressage est gr par le protocole VRRP. Dun point de vue pratique on lance le dmon Keepalived qui permet de faire du failover - capacit basculer sur un chemin rseau redondant en cas de panne - et on change la

RES343

18

Tlcom Paristech

David TORTEL Anne CHEVALIER Louis DE TERSANT

TP OSPF

conguration du routeur Toutatis pour prciser son IP virtuelle et son statut de backup. De mme, on prcise le statut de matre pour le routeur Belenos. 7.2.3 Test sur le rle de VRRP

Pour vrier la viabilit de notre conguration, on eectue un ping entre ENST et Infres. Les paquets sont transmis normalement ; on tue alors le routeur Belenos. Comme prvu les paquets sont perdus et donc on ne reoit pas de message ICMP rponse. Si dans le cas de lOSPF de base on attendait un temps inni, on nattend plus que 7-8 secondes pour que les paquets soient nouveau routs. On ne perd en eet que 8 numros de squence ping. Physiquement, cest alors Toutatis qui a pris le relais et transmet les paquets ce moment l, jusqu un retour de Belenos. Le protocole VRRP, sur OSPF permet de travailler en complment du protocole de routage IP en assurant la connectivit dun hote mme en cas de panne du routeur de sa route par dfaut, et de faon transparante pour la machine. Par ailleurs, la puissance de ce protocole rside en plus dans le fait que le transfert de routeur se fait galement quand le premier routeur est en surcharge CPU - DoS par exemple -. Quand la surcharge est termine, il annonce son retour et reprend les commandes.

RES343

19

Tlcom Paristech