netkit-labs ospf.tar - lri.frfmartignon/documenti/reseauxavances/Netkit... · -- le routeur...

Preview:

Citation preview

OSPF(OpenShortestPathFirst) Ecrivez un compte rendu des résultats de votre expérimentation, et répondez aux questions. http://wiki.netkit.org/netkit-labs/netkit-labs_advanced-topics/netkit-labs_ospf/netkit-labs_ospf.pdf

http://wiki.netkit.org/netkit-labs/netkit-labs_advanced-topics/netkit-labs_ospf/netkit-labs_ospf.tar.gz

OSPFestuninteriorgatewayprotocol(toutcommeRIP,IS-IS)-version2-->specification:RFC2328authenticationconfidentiality:RFC5709-version3(withIPv6support)-->spécification:RFC5340authenticationconfidentiality:RFC4552

OSPF:overviewChaquerouteurenvoieen“flooding”l’étatlocal(“localstate”,c’estàdiresesinterfacesutilisables,sesvoisinsjoignables)àtraversleréseau,utilisantleprotocole“linkstateadvertisement(lsa)”-ensebasantsurcetteinformationreçue,chaquerouteurconstruitetmaintientàjourun“linkstatedatabase(lsdb)”,quidécritlatopologieduréseau--identiquepourchaquerouteur--chaque“entry”delabase(lsdb)représenteunétatlocald’unrouteur-chaquerouterutiliselelsdbpourcalculerl’arbredespluscourtschemins(shortestpathtree)ayantlui-mêmecommeracine-chaqueinterfacepeutavoiruncout(quipeutêtrechangéparl’administrateurduréseau)

OSPFlab,single-area:topologieduréseau

single(backbone)area(0.0.0.0)-ChaqueinterfaceauncoutOSPF

-default:10-lescoutsontétéchoisispourforcerdespluscourtschemins

-Pourchangerlecoutd’uneinterface,utilisezlacommandesuivante(exemple):interfaceeth1ospfcost45

Pluscourtschemins(exemples)

Expérimentation-exécutezuntracerouteàpartirde/àl’arrivéededifférentesinterfaces.-exécutezuntraceroute–Iàpartirdebb1à10.0.2.1--QuestionQ1:quelcheminletracerouteestsupposésuivre?--QuestionQ2:quelcheminlesréponsesICMP(ICMPreplies)sontsupposéessuivre?-exécutezuntraceroute–Iàpartirdebb1vers10.0.3.2--QuestionQ3.A:quelcheminletracerouteestsupposésuivre?-Observezl’interconnexionentrelesroutesOSPFetlesréseauxdirectementconnectés(enexécutantlacommande«showiproute»dans“zebra”)-Q3.B:Essayezdechangerlescoutsetobservezleseffetsdeceschangements

Maintenant,accédezauospfdclisurlesdifférentsrouteurs,etutilisezlescommandessuivantes:-showipospfdatabase-showipospfneighbor-showipospfroute-QuestionQ4:Vérifiezquelelsdbestexactementlemêmepourchaquerouteur.

�Designatedrouters(interfacedurouteurdésignéspourchaqueréseau)

-Pourchaqueréseau,unedesinterfacesconnectéesàceréseauestéluecomme«designated»(dr)-L’électionestbaséesurdespriorités,enutilisantles«hellopackets»--lerouteur(interface)quienvoieleshellopacketsaveclaprioritéplusélevéegagnel’élection--encasd’égalité,tiebreakenutilisantle«routerid»plusélevée(pardefault,lerouteridestl’adressed’unedesesinterfaces)--prioritédanslerange∈[0,255],pardefaultpriority=1,sipriority=0⇒«neverbecomeadr»-undrdebackup(celuiaveclasecondeplushautepriorité)estaussiélu,poursortirrapidementdessituationsde«failure»dudrprincipal-lechangementd’undréquivautàunchangementdumodèledetopologieOSPF(desnouveaulsassontenvoyés)-pourcetteraison,ledrestchangérarement-Siunrouteuravecunehauteprioritéseréveille/estajoutéauréseau,ettrouveundrdéjàenplace,ilacceptecedr(onnechangedoncpas)

VisionduréseauenOSPF-Enéchangeantlesmessagesde«linkstateupdate»,chaquerouteurapprendlatopologiecomplèteduréseau,c’estàdire:--lesrouteursexistants--lessubnets--lesadjacences(c’estàdire,lesinterconnexions)entrerouteursetréseaux

Neighborhood

-Lesvoisinsd’unrouteur(routerneighbors)peuventêtremontrésenutilisantlacommande:showipospfneighbor-Ilfautnoterque:leslsassontéchangésentrevoisinsseulementsienFullstate(etdonc,capablesd’unéchangebidirectionneldel’information);pouratteindrel’étatdeFullstate,lesconditionssuivantesdoiventêtreréunies:-lesvoisinsontétédécouverts(utilisantles«hellopackets»)-unecommunicationbidirectionnelleestpossible-undesignatedrouteraétéélu-Unefoisrejoint,chaquerouteursynchroniseimmédiatementsonlsdb

OSPFroutingtable

LetableauderoutageOSPFpeutêtremontréenutilisantlacommande:showipospfroute

Expérimentation

-Q5Exécutezlescommandesshowipospfdatabaseetshowipospfneighborsurlesdifférentsrouteurs-Q6capturez,àl’aidedetcpdump,lespaquetsOSPFéchangésentrelesrouteurs

OSPFdétecterapidementleschangementsdetopologie

Premiercas(#1):linkfault-éliminer(bring/shutdown)uneinterfaceréseauenutilisantlacommandeifconfig--cechangementestimmédiatementpropagéparlerouteurdanslespaquetslsa--lestableauxderoutagesontimmédiatementmisàjour(showipospfroute)--lelsdbestgéréunpeudifféremment…Silelinkfaultintéresseundr,cetteinformationestimmédiatementrépercutéesurle(s)lsdb(s)...-...etéventuellementannoncéeànouveauquandunnouveaudrestre-élu-Sinon,OSPFattendl’expirationduRouterDeadIntervaltimer(default:40s)avantd’enleverl’informationd’adjacencedulsdb(showipospfdatabasenetwork)Anoterque:lesréseauxconnectésàunseulrouteur,appelésstubnetworks,sontvisiblesseulementutilisantlacommandeshowipospfdatabasenetworkDonc,letempstotalderéactionaulinkfailure(estimation)est:

Deuxièmecas(#2):routerfault-ilsuffitd’éteindreunrouteur(soitlamachinevirtuellecorrespondante,soitenéliminanttoutessesinterfacesenmêmetemps)-danscecas,lerouteur,n’aévidemmentpaslapossibilitédepropager/envoyerleslsas…-…etdonccechangementdetopologienepeutpassepropagerimmédiatement-lesrouteursvoisinspeuventd’apercevoirdecechangement(etdoncmettreàjourlestableauxderoutage)aprèsl’expirationduRouterDeadIntervaltimerAprèsquelechangementestpropagé…-…l’informationdanslelsdbconcernantlesréseauxpourlesquelslerouteur«failed»n’étaitPASdrestimmédiatementprisedeslsdbsdesautresrouteurs---ledrprendsoind’envoyerleslsasappropriés

-...l’informationdanslelsdbconcernantlesréseauxpourlesquelsleroteur«failed»étaitbienledr(enincluantaussiceuxdanslesquelsundrserare-élu)estplus«compliquée»---OSPFattendl’expirationdulsa(celaarrivequandl’âgedulsadevient=MaxAge,1heure)avantd’entreprendren’importequelleaction.Donc,letempstotalderéactionaurouterfailure(estimation)est:

OSPFareas

-Ils’agitd’uneabstractionquipermetdesimplifierl’administrationduréseau,etd’améliorerla«scalabilité»(passageàéchelle)duprotocole.---Eneffet,latopologieàl’intérieurd’uneareaestinvisibleàl’extérieurdecetteareamême---Lesrouteursd’uneareadonnéenevoientpaslesdétailsexternesàlatopologiedel’area-Chaqueareautiliseuneinstancedistinctedel’algorithmedelinkstate---Touslesrouteursd’unemêmeareaconstruisentetmaintiennesàjourlemêmelsdb---ChaquerouteurmaintientunlsdbdistinctpourchaqueareaàlaquelleilappartientUneareaOSPFestidentifiéeavec32-bit,souventenformatdotteddecimal(1.2.3.4)---Desinterfacesdifférentesd’unmêmerouteurpeuventêtreassignéesàdifférentesareas-Mais:--chaqueinterface--chaqueréseau--chaque«routeradjacency»…...estassociéàuneetuneseulearea

Areatypesbackbone(0.0.0.0)-doitêtre(virtuellement)connectée-touteslesautresareassontconnectéesàelle-ellecontienttouslesareaborderroutersstub-nereçoitpaslesadvertisementsesrouteursexternes-lesrouteursinternessevoientoffriruneroutepardefault-nepeuventpascontenirdesautonomoussystemboundaryrouters-lebackbonenepeutpasêtreunestubareatransit-utiliséepourfairepasserletraficd’uneareaàuneautre,àtraversdesvirtuallinks

TypologiesdeRoutersinternalrouter-toutessesinterfacesappartiennentàunemêmeareaareaborderrouter(abr)-connecteuneouplusieursareasaubackbone-ilmaintientsplusieurslsdbs,unpourchaqueareabackbonerouter-aaumoinsuneinterfaceconnectéeaubackbone-unabresttoujoursunbackbonerouterautonomoussystemboundaryrouter(asbr)-ilfaitl’importationetensuitelefloodingdesinformationsderoutageenprovenanced’autresprotocolesderoutage(typiquement,BGP)-ànoter:unrouteurpeutapparteniràplusieursdes4catégoriesci-dessus.

Areaconfiguration

-L’informationsurune«area»peutêtretrouvéedans2endroits:--enhabilitantOSPFsuruneinterfacedurouteurnetwork200.0.0.0/16area1.1.1.1--enspécifiantletyped’area(pasnécessairepourlebackbone)area1.1.1.1stub

Expérimentation:Areas

-Q7:vérifiezquechaquerouteurconnaîtlatopologiedétailléeseulementdesapropre«area»(enutilisantlescommandes«showipospfneighbor»et«showipospfdatabasenetwork»)-Q8:vérifiezquechaquerouteurconnaîtcequisepasseàl’extérieurdesapropre«area»,utilisantlacommandeshowipospfdatabasesummary-Q8.A:enparticulier,vérifiezlesvaleurs«Metric»,quimontrentladistance(entermedecout)deladestinationàpartirdel’advertisingabr(areaborderrouter)-Q8.B:vérifiezquelesrouteursdanslesstubareasontuneroutepardefault,tandisquelesrouteursdanslabackbonearean’enontpas-Q8.C:vérifiez,enfin,quellemétrique(«Metric»)estassignéeàladefaultroute

Expérimentation:faultrecovery-Expérimentezlacapacitéde«faultrecovery»d’OSPF-Quandplusieurschemins(routes)ayantlemêmecoutexistent,OSPFgardeenmémoiretoutescesroutes.-Q9:enparticulier,vérifierceladanslerouteurr3,enregardantsaroutepardefault.-Danscecas,Zebrasélectionnelecheminparmilesmultiplesexistants.-Q10:maintenant,dansbb1éliminez(shutdown)l’interfaceeth3enutilisantlacommandeifconfig,attendezquelquessecondsetvérifiezquelcheminsuiventlespaquets(traceroute)_Q11:ensuite,toujoursdansbb1,re-allumezl’interfaceeth3etvérifiezànouveaucommentleroutageestaffectéparcechangement.

Recommended