Sei sulla pagina 1di 12

CCIESpanningTree

In una topologia di rete switched, il meccanismo di MAC address learning fasi cheuno switch inoltri tutte le unknown unicast frame su tutte le porte. Questo in una rete bridged ad anello genererebbe un loop qualora non ci sia un meccanismodiprotezionetalecheimpediscachele frametransitinonellanello. Il compito del protocollo SpanningTree (STP) quello di evitare che si creino loop allinterno della topologiadi rete switched, semplicemente evitandochealcuneinterfacce(porte)inoltrinoil traffico. TipologieSpanningTree 802.1DSTP 802.1wRSTP(RapidSpanningTree) 802.1sMST(MultipleInstanceSpanningTree) PVST/PVST+(PerVlanSpanningTree)implementazioneSTPCisco RapidPVST+(RapidPerVlanSpannigTree)implementazioneRTSPCisco

SpanningTree(STP)802.1D STP esegue 3 azioni per attuare il suo processo decisionale di quali porte mantenere attive e qualibloccare: ElezionedelROOTBRIDGE DeterminarediunaROOTPORTperbridge DeterminareleDESIGNATEDPORT

ElezioneRootBridge Allinterno dellarete uno solo switchpuessereroot.Ilprocessodielezionesibasainviandodei messaggi hello Bridge Protocol Data Unit (BPDU). Quando uno switch riceve una BPDU superiore, ovvero con valore un BridgeIDinferiore,questosmettedioriginareBPDUecomincia ad inoltrare agli switch adiacenti le BPDU superiori inviate dal candidato. A questo puntotuttigli switch smettono di inviare BPDU fatta eccezione del candidato conBPDUsuperiorecheviene elettoROOTBRIDGE. BridgeIDinferiore(default32768) BridgeMACAddressinferiore

FormatoBridgeID

RuoloPorte AdelezionedelROOTBRIDGEavvenuta,ilprocessoprocedeconlelezionedelleporte: ROOT PORT: sono le porte che vedono il ROOT BRIDGE, ovvero le porte sulle quali vengonoricevuteleBPDUinviatedalROOTBRIDGE. DESIGNATED PORT: ovvero le portecheinvianoleframeallinternodellaLAN,dinorma leporteinforwarding.LeportedelROOTBRIDGEsonotutteDesignatePort. NONDESIGNATEDPORT:sonoleportechevengonoposteinBlocking. La ROOT PORT viene eletta in base al Root Path Cost o al costo cumulativo di tutti i link utilizzatiperraggiungereilROOTBRIDGE. IEEESTPCost

Datarate STPCost(802.1D1998) RSTPCost(802.1D2004/802.1w) 4Mbit/s 10Mbit/s 16Mbit/s 100Mbit/s 250 100 62 19 5,000,000 2,000,000 1,250,000 200,000

1Gbit/s 2Gbit/s 10Gbit/s

4 3 2

20,000 10,000 2,000

Incasodicostosimilesu2link,lasceltavieneeffettuatainbase: ValoreBridgeIDinferiore ValorePortIDinferiore(default128+numerodellaporta)

LelezionedelleDesignatedPortavvieneverosimilmenteallerootport: RootPathCostinferiore ValoreBridgeIDupstreaminferiore.

Tuttelealtreportechefannopartedellatopologiavengonoposteinblocking. StatodellePorte Disabled: porta posta amministrativamente down, pertanto non partecipa al processo STP. Blocking: questa porta non inoltra nessuna frame ethernet e scarta ogni frame che riceve. Non impara alcun MAC Address. Tuttavia la portaprocessaleBPDU. Selaporta transiziona in questo stato, dopo 20 secondi (max_age) la porta cambia da blocking a listening,qualoraquestanonricevapiBPDUsuperioridalRootBridge. Listening: la porta in questo stato pu inviare e ricevere BPDU, tuttavia non impara alcun MAC Address e non inoltra o processa alcuna frame in ingresso. Tutte leframe ethernet vengono scartate. La porta che transiziona in questo stato, dopo 15 secondi (forward_delay)passaallostatolearning. Learning: la porta in questo statoconosce giilsuoruolo(se ROOTPortoDesignated Port). Tuttavia la porta non inoltra nessuna frame ethernet ancora, ma impara i MAC Address che riceve per popolare il MAC Address table dello switch. Questo evita un eccessivo flooding delle frame quando la porta passa allo stato forwarding. La porta transizioneinquestostatoper15secondi(forward_delay) Forwarding:LaportaprocessaleframeetherneteimparaiMACAddress.

BPDU Uno switch perdeterminareilROOTBRIDGEedcalcolareilruolodelleporte(root,designatedo blocked) utilizza delle framechiamate Bridge Protocol Data Unit (BPDU).UnbridgeinviaBPDU utilizzando il suo MAC Address come sorgente e 0180C2000000 coma MAC Address di

destinazione(multicast). ConfigurationBPDUutilizzateperilcalcolodelSpanningTree Topology Change Notification BPDU utilizzateperannunciarecambiamentiallatopologia direte RapidSpanningTreeBPDUutilizzatedaRSTP Per scegliere la migliore BPDU e quindi eleggere il ROOT BRIDGE, ogni switch invia e riceve BPDUchecontengonoleseguentiinformazioni: LowestRootBridgeID LowestPathCosttoRootBridge LowestsenderBridgeID LowersendingportID

Quando una porta riceve una BPDU migliore, questa smette di inviare BPDU, mainoltra solo quella migliore ricevuta. Qualorauna porta nonricevaBPDU per20secondi,questariprendead inviareBPDU. TopologyChangeNotification Quando uno switch deve segnalare un cambiamento di topologia genera una TCN che verr inoltrataattraversolerootportfinoaraggiungereilROOTBridge. LoswitchgenererTCNfinchnonriceveunTopologyChangeAcknowledge(TCA).

Una volta che il root bridge ha ricevuto il TCN, questo comincer ad inviareBPDU con TC bit set,notificandoilcambiamentoatuttigliswitchchecompongonolatopologiadirete.

Il root bridge invier BPDU con TC flag per un periodo di tempo formato da max_age + forward_delay ovvero 35 sec.OgniswitchchericeveunaBPDUconTCeffettuerunflushdella suaCAMtableperallinearelenuoveentryalcambiamentotopologico. Ad esempio una porta di uno switch che viene attivata, entra a far parte del processo STP e pertantoloswitchemetteunTCN,conconseguenteflushdellaCAMtable. Un TCN non genera un ricalcolo del processo STP, pertanto non da considerare come un problema.TuttavialagenerazionediunnumeroelevatodiTCNhaimpattosolosullaCAMtable. OttimizzazioneSTP Per ottimizzare il processo STP sono state introdotte una serie di features al fine di risolvere problemispecificichepossonoesseregeneratidaSTP. PortFast: Lo stato di una porta passa da disabled a forwarding senza transitare attraverso gli stati STP. Da utilizzare sulle porte daccesso che non sono connesse a switchohub. UplinkFast: Permette di rimpiazzare una RP con unaltra alternativa, qualora la prima andasse down, inoltrando direttamente il traffico sulla nuova porta senza attendere ricalcoli STP. Da utilizzare sulle porte che collegano gli switch daccesso verso distribution/core. BackboneFast: Evita di attendere il raggiungimento del max_agequandounaRPsmette diricevereHello,chiedendoagliswitchvicinisesonoaconoscenzadelfailure. PortFast Ottimizza la convergenzadiunaportadaccessosemplicemente ignorandoglistatidilisteninge learning, portando lo stato della porta direttamente in forwarding. Se ad una porta con PortFast abilitato si collega uno switch, si former un loop, pertanto a protezione si consiglia di abilitare quimeccanismidiprotezionecomeBPDUGuardeRootGuard.

UplinkFast Ottimizza la convergenza quando un uplink daunoswitchdaccessoversoladistribuzione/core va down, transitando su una RP alternativa, che andr direttamente in forwarding. Una volta abilitatosesiverificaunfaultsulaRPvengonoeseguite3azioni: Larootprioritydelloswitchvieneportataa49152 Ilcostodellarootportvieneportatoa3000 VienetenutatracciadiunaRPalternativasullaqualevengonoricevutihello.

Avvenuta la convergenza, le informazioni contenute nella MAC Address table non saranno pi corrette. Pertanto lo switch trover tutti i MAC Address degli host locali ed invier una frame multicast contenente ogni MAC locale come MAC sorgente, causando cosiun aggiornamente delleCAMdegliswitchadiacenti. BackboneFast Migliora la convergenza quando viene rilevato un problema indiretto (es. perdita di connettivit verso il RootBridge). Il BackboneFast semplicemente fa si che lo switch che rileva un potenziale fallimentoSTP chieda ad uno switch vicinose anchequestohaavvertitoilfallimento. Per fare questo lo switchal primo Hello perso, invia un Root Link Query (RLQ)sullaportadalla quale avrebbe dovuto ricevere lHello. RLQ chiede agli switch vicini sestannoancoraricevendo hello dal rootBridge. Qualora questi abbiamo ancora contatti con il RootBridge, risponderanno con un RLQ e lo switch cheavevagenerato RLQ pu convergere senza attendere lo scadere del max_age. Tutti gli switch debbono avere il BackboneFast abilitato affinch questo funzioni correttamente. RapidSpanningTreeProtocol(RSTP)802.1w La necessit di ottimizzare itempi di convergenza del STP ha portato alla realizzazione di una versione STP pi performante 802.1w denominata RapidSTP. RSTP pu essere visto come unevoluzionedellaversione802.1ddellaqualevengonomantenutimoltiparametrifondamentali. RSTPreagiscedopo3Hellopersi,invecedei10diSTP,6secvs.20sec. RSTP introduce essenzialmente solo 3 stati operazionali delle porte: Discarding (che include Blocking e Listening), Learning e Forwarding. La fase Di Listening non pi necessaria poich RSTP in grado di parlare con gli switch vicini, cosachegarantisce lassenzadiloopdurantelaconvergenza. RSTP ha alcune tipologie di porte simili a quelle viste in PVST+ (PortFast, UplinkFat, BackboneFast). RSTP possiede unaltra caratteristica che permette una Designated Port di backup (BackupPort)seconnessoallostessosegmentodiLAN. RSTP non inoltra semplicemente le BPDU dal Root Bridge come faceva 802.1D,ma le rigeneraognivoltaconlesueinformazioni. Anche ilruolodelleporteubisceunamodificarispettoallaversione802.1d,iruoliqualirootporte

designated port rimangono, mentre il ruolo blockingport viene suddiviso in backupport e alternateport. Il metodo di computazione dei ruoli delle porte rimane definito sempre tramite BPDUedilcriteriosimileaquelloutilizzatodallaversione802.1d. rootport: definitacomelaportachericevelamiglioreBPDU,edlaportapivicinaal rootbridge in termini di costo del percorso. Ovviamenteilrootbridge,sarlunicobridge nella rete a non avere rootports. Ogni altro bridge della rete riceve leBDPU su almeno unaporta. designatedport: una porta viene definita come designated se questa inviala migliore BPDU sul segmento dove connessa.Inognisegmentoci puessereunsolopercorso versoilrootbridge. alternateport: definita come porta diriservadacuivengonoricevutele miglioriBPDU ed in blocking e quindi un percorso alternativo verso il rootbridge. Ha il medesimo funzionamentodellUplinkFast. backupport: viene definita comeporta alternativa all DP in uno stesso segmento. Ein gradosiattivariqualoralaDPfallisse. BPDUFormat RSTPintroduceunaseriedicambiamentialformatodellBPDU.

ProtocolID(2Byte):valore0 Version(1Byte):valore2 Type(1Byte):valore2. Flags(1Byte)usatoincasodiTopologyChangeNotification(TCN): topologychangeflag proposal portrole 00unknown 01alternate/backup 10root 11designated learning forwarding agreement topologychangeacknowledgment

Root BID (8 Byte): contiene il Root Bridge ID (2 byte per Root Priority, 6 byte per Root ID) RootPathCost(4Byte):contieneilcostocomplessivoperarrivarealRootBridge (Sender) BID (8 Byte): contieneil BridgeIDche ha inviatoil pacchettoBPDU(2byteper BridgePriority,6byteperBridgeID) PortID(2Byte):contieneilvaloreunivocodellaportasucuiloswitchinoltrailpacchetto Message Age(2 Byte): il tempo totale da quanto il pacchetto BPDU statogeneratodal RootBridge Max Age (2 Byte): il tempo durante il quale il pacchetto BPDU viene mantenuto (solitamenteMaxAgevale10volteHello,ossia20secondi) Hello Time (2 Byte): il tempo che intercorre tra due BPDU (solitamente Hello vale 2 secondi) Forward Delay (2 Byte): il tempo durante il qualeloswitchrimanenellostatodiListening eLearning.

GestioneBPDU Mentre con 802.1d le BPDU un nonroot bridge generaBPDUqualoraquestinericevauna sulla rootport, ora con 802.1w uno switchinviaBPDUcontententelesueinformazioniogni2secondi (hellotime) anche se non riceve nulla dal rootbridge. Le BPDU vengono utilizzate come meccanismo di keepalive tra gli switch. Uno switch considera persa la connettivit con il suo vicino, root o designated bridge, se perde 3 BPDU consecutive. Pertanto i fallimenti vengono rilevaticonmaggiorerapiditspecieincasodiproblemifisicidellink.

Convergenza802.1w Una delle caratteristicheimportanti introdotte da RSTP larapiditditransizionedelleporteallo stato forwarding. RSTP permette di confermare che la porta pu tranquillamente passare allo stato di forwarding, senza dover fare affidamento su timer di configurazione impostati. Per ottenerelarapiditdiconvergenzadelleporte,ilprotocollofaaffidamentoa2nuovevariabili: Edgeport: E un concetto identico alla funzione PortFast, una porta direttamente connessa ad unhostnonpucreare loop,pertantoleportetransizionanodirettamente in forwarding. N le porte edge, tantomeno le port configurate PortFast genereranno TCN allattivazione del link.. Una porta edge che riceve una BPDU perde immediatamente il suostatodiedgeportediverrunanormaleportaspanningtree. LinkType: il link type deriva dalla modalit duplex della porta, i link full duplex saranno considetatipointtopoint,mentreilinkhalfduplexverrannoconsideratishared. Le porte tra lo switch A ed il root sono porteindesignatedblockingnonappenaquestevengono

attivate. Non appena A riceve un BPDU dal root, A blocca le sue porte nonedge designated. Questa operazionedenominatasync.Unavolta terminatalasincronizzazioneillinktrarooteA verrpostoinforwarding.AquestopuntoAbloccherlesuenonedgedesignatedport.

A questo puntoleportetraAedisuoiviciniBeCnegozierannounavelocetransizioneallostato forwarding iniziando una nuova fase di sincronizzazione. Oltre la rootport verso A, lo switch B ha solo edgedesignated port, pertanto B non ha porte dabloccarealloscopodiautorizzareAa passare allo stato forwarding. Analogamente C bloccher la porta verso D, mentre la sua rootportverrpostainforwarding,ottenendolasituazionechesegue:

Il meccanismo introdotto da RSTP il permesso che uno switch invia alla sua rootport autorizzandone limmediata transizione allo stato forwarding, bypassando gli stadi di listening e learning. Questa negoziazione possibile quando i bridge sono connessi tramite link pointtopoint. Leporteedgegiocanounruoloancorapiimportante,nellesempioseleporteedgedello switch B non fossero configurate propriamente, la loroconnettivitimpatterebbeconAe quindiconlelezionedellarootportdiB.

SequenzaProposal/Agreement In 802.1d quando una porta scelta come designated, questa dovr attendere un tempo di 30 secondi (2 x forward_delay) prima di passare allo stato forwarding. In RSTP si basa sulla sequenzaproposal/agreement.

Quando le porte del link vanno up, queste vengonopostenellostatodesignatedblocking finoaquandoricevonounaBPDUdallacontroparte. La porta in stato designateddiscarding (o designatedlearning) invia una nuova BPDU alla controparte proponendo se stessa come designated (viene settato il proposal bit nellaBPDUchevieneinviata). Se il bridge accetta la proposta inviata dallacontroparte,essosincronizzerlesueporte conlanuovainformazione. il processo di sincronizzazione ha lo scopo di verificare che tutte le porte siano sincronizzateconlanuovainformazioneenonsipossanoverificareloop. il processo di sincronizzazione si verifica solo se il bridge rileva che la BPDU ricevutacontieneinformazionimigliori. ilprocessodisincronizzazioneprovvederabloccaretutteleporteattive: edge,alternateebackuprimangonoinvariate rootedisegnatedvengonoportateinstatodiscarding Il bridge accetta il proposal BPDU e di conseguenza configura le sue porte nello stato appropriato: root,alternateebackup Seilbridgenonaccettailproposal,risponderconunasuaBPDU con il bit proposal settato. lefasisuccessivesonolemedesime,ripetuttepertuttiibridge.

Se la porta designateddiscarding non riceve alcuna propostadi agreement dopo aver inviatola sua proposal, questa lentamente transizioner nello statoforwardingattraversandolasequenza listeninglearning del STP 802.1d. Questo avviene qualora lo switch vicino non in grado di processareleBPDURTSP.

TopologyChangedetection Il meccanismo di topology change stato modificato in RSTP. Per definizione in RSTP solo le portenonedgechevengonoposteinforwardingoriginanounaTopologyChange. laperditadiconnettivitsuunaportanonpiconsideratountopologychange

QuandounbridgeRSTPrilevauntopologychange(es.portainforwarding): Avvia TC While timer (2*Hello timer) per tutte le sue porte nonedge attive (root e designated) ResetdellatabelladeiMACaddressassociatiaquelleporte LatabelladeiMACaddressassociatealleedgeportnonvieneresettata ilTCWhiletimermoltoinferiorerispettoaSTP Fino a quanto il TC While timer attivo su una porta, le BPDU spedite su quella porta avrannoilTCbitsettato. PropagazioneTopologyChange QuandounbridgericeveunaBPDUconTCbitsettatodaunoswitchvicino: Pulisce i MAC address imparati suquellaportaadesclusionediquellodacuiharicevuto iltopologychange AvviailTCWhiletimersututtelesueportedesignatederoot InviaBPDUconTCbitsettatosututteleporteconTCWhiletimerattivo. LaretevieneinondatarapidamentediTCNmoltopirapidamenterispettoSTP: Non pinecessarionotificarealrootbridgeilTCNaffinch questogeneriBPDUconTC settato Il MAC address database non verrmantenutoinformato ridottoperuntempoMaxAge+ Forward_Delay(20+15=35sec) CompatibilittraRSTPeSTP RSTP in grado di interoperare con STP e fornire un grado di retro compatibilit, mentre STP noningradodiinterpretareleBPDURSTP. Un bridge RSTP cambierlasuaoperativitautomaticamentese vienerilevatounoopi bridgecheoperanoin802.1d. le BPDU ricevute con protocol identifier settato a 0 vengono trattate differentemente UnMigrationDelaytimer(3sec)vieneattivatoalmomentocheleportevannoUP Durantequestoperiodo,lattualemodalitSTPoRSTPbloccata Quando il Migration Delay timer scade, la porta adatta la modalit in base alla

BPDUchequestariceve. Selaportacambialasuamodalitoperativa,ilMigrationDelaytimerriparte In una topologia mista STP eRSTP,ibeneficirelativiallavelocit diconvergenzasarannopersi. Qualora un bridge 802.1wchelavorainmodalit 802.1dcompatibilenoningradodiripristinare lasuamodalitoperativa802.1wautomaticamenteamenodiinterventimanuali. RSTP lavora perfettamente quando lo strato fisico affidabile, quando questacondizionenon mantenutasipotrebberogeneraredeiproblemi. Ad esempio un link che va UP e DOWN frequentemente a causa di un problema fisico o di connettore,fasiche: RSTPriconfigurilareteadognicambiamentodistatodellink. Pertantolaretesitroverebbecontinuamenteinunostatotransitorio

Possibilesoluzioneabilitazionediunmeccanismoantiflapping: Un dispositivo Cisco porrebbe la porta in Error Disabled non appena viene rilevato il flappingdellink. Laportadovressereriabilitatamanualmente