Anda di halaman 1dari 8

SPANNINGTREE

Introduccin
En topologas capa 2 existe un problema cuando existe alta disponibilidad o redundancia de enlaces (caminosredundantes) en estos casos se puede producirunloopdecapa2(bucle),el cualprovocaunmalfuncionamientoyusoexcesivodeanchodebanda. LosswitchessolomanejantablasdeMAClocalesporlotantonoconocelastablasdeMACde losswitchesvecinos. Cada switch al recibir una trama lo que primero reviza es la MAC origen y la asocia a la tabla MAC/puerto, luego reviza la MAC destino, si la conoce la consulta en la tabla MAC y la envia haciaelpuertodestinoseteadoanteriormenteenlatabla. En el caso contrario si el switch no conoce la MAC destino debe buscar la MAC address desconocida por loquerealiza unfloodingdeMACrealizandounabsquedadela MACaddress en todos los puertos, si en uno de esos puertos conecta a otro switch este debe enviar la informacinatravsdelainterfazporlaqueinterconectaconelotroequipo. Si en un escenario el equipointerconectaconotroenlaceadicionaltendr2enlacesdisponibles por el cual podra conocer la MAC desconocida, el equipo que solicitaba la informacin en un principio tendr el problema de no saber por cual de los 2 enlacesllegar hacia el destino. Las tablas MAC estarn flapeandoporqueenalgunmomentoconocereldestinoatravsdelpuerto 1yluegoatravsdelpuerto2,estoconsumirCPUllegandoal100%. Esta situacin se repetir en los casos tramas broadcast, multicast, ya que nunca habr el mismoorigen/destinoyflapearconsumiendotodoelCPUdelswitch. Spanningtree busca romper el bucle realizando una "conversacin" entre los switches en el cual intercambian mensajes identificando la cantidad de puertos de interconexin y poder bloquear1enlacetemporalmenteparaevitarbuclesdecapa2.

ESTADOSDESPANNINGTREE802.1D
Blocking: estado inicial, no envia ni recibe MAC address, no participa en el aprendizaje de MAC pero si recibe BPDU a travsde esta (para saber si el puerto pasaalsiguiente estado) 1

Disabled:interfazapagada,noparticipaenspanningtree,interfaceconerror,etc. Listening: estado no enva ni recibe trfico de usuario (no aprende MAC) pero si empieza a enviar y recibir BPDU. Si el puerto puede pasar al prximo estado pasa a estadolearning Learning: no envia ni recibe trfico de usuario pero si MAC address adems de las BPDUs. Si pasando un tiempo determinado si aprueba pasar al prximo estadopasara alestadoforwarding. Forwarding:envayrecibedatosdeusuario,MACaddressymensajesBPDU.

BPDU
Paquetesquecomunicanlosswitchenspanningtreequeenvaciertainformacindesu existenciaaotrosswitches. LaMACdestinodelasBPDUeslaMACconocida(wellknownstndar)0180.C200.0000,enel casodelaMACorigenelSwitchcolocalaMACdelpuerto. Tenemos2tiposdeBPDU Deconfiguracin:sonlasqueseenvanaportandolainformacindequieneselrootbridge,el rootpathcost,etc,aportandolainfonecesariaparapoderarmarelrboldespanningtree Denotificacin(TCN):seenvacuandohahabidouncambioenlared(enlacescados,etc)

BPDUType:siesBPDUdetipoconfigurationoTCN ProtocolversionID:quetipodeSTP PortID:Nmerodepuerto..(msadelante). RootID:IDdelrootbridge. Flag:informacinqueutilizacadatipodeSTP 2

BridgeID:identificativodelswitchqueenvialaBPDU(losrootonoroottambienenvian BPDU,enestaBPDUvaincluidoelBridgeID). RoothPathCost:Unavezqueunswitchsabequineselrootsabrcualescostototal parallegarhastaelrootbridge. Hellotime:(2segundospordefecto)cadacuntotiemposeenvianBPDU. Forwarddelay:(15segundospordefecto)cuntotiempohayqueestarencadaunode losestadosdespanningtree. Messageage:cantidaddesaltoshastaelrootbridge.(rootbridge=0) Max age: (20 segundos por defecto) Durante cunto tiempo la BPDU es vlida. Si durante20segundosnoherecibido nuevasBPDUseentiendequehubouncambioenla red(rootbridgedownouplinkdown).Eltimerdevalidez=(maxagemessageage).

BPDUTCN
Se utilizan soloparapublicar cambios en la topologa L2. Cuando un switch detecta uncambio enva un aviso al root bridgemediante unaBPDUconflagde TCN(enestanoincluyequeslo que cambi). Los cambios que detecta son los de cambio de estado de un puerto Forwarding/learningypasaablockingocuandounpuertopasaaestadoforwarding. Necesitan ser confirmadas, cuando el switch envia una BPDU con flag deTCN a travsde su Root port y sigue enviandolo slo hasta que reciba unaconfirmacin(el intervalo de tiempo en que envia laBPDU con flagde TCN corresponde al hello interval local del switch noaldelroot bridge). 3

Cuando los switchessuperioresrecibenlaBPDUconflagdeTCNrespondenconunaBPDUde configuracin con el flag de ACK.LuegoelswitchsuperioresencargadodeenviarelTCNhacia el root bridge atravs de su propio Root Port. Cuando el RootbridgerecibeelTCNresponder con una BDPU deconfiguracin con el flag de ACKyluegoenviaunaportodoslospuertosuna BPDUdeconfiguracinconelFlagdeTCN. Cuando todos los switches reciben esta nueva BPDU de configuracin todos los switches bajaran el tiempo de validez de la tabla MAC correspondiente altiempodelforward delaytimer. Por lo tanto de 300 segundos por defecto a 15 segundos por defecto por lo que cada switch deber actualizar su tabla MAC a los 15 segundos actualizando la topologa y tabla de MAC localencadaswitch.

RootBridge
ParaqueSTPpuedafuncionaresnecesariocolocarunequipocomoRootBridge,esteseelije medianteunidentificativobridgeid(BID)de8bytes: 2bytes:prioridad 6bytes:MACdelswitch(MACdelasupervisora,backplane,etc). ElequipoconmenorbridgeIDserelegidocomorootbridge. Al encender cada equipo los equipos no tienen ninguna comunicacion con otro switch por lo tanto no saben de la existencia de los dems equipos lo cual lleva a que cada equipo se considerar a s mismo como root bridge. En este paso cada switch enviarBPDU por todas las interfaces anunciandose como Root Bridge dando como resultado que cuando los otros equipos tambin envian BPDU comienza la etapa de conocimiento de los dems equipos identificando las BPDU enviadas por los otros switches comparadno su propiaMACyPrioridad con los dems pudiendo armar la topologa y edentificando quin es el equipo con menor prioridadyMACquedandocomoROOTBRIDGE. En laimagenSW1seraelROOTBRIDGEyaqueposeeprioridad4096ymenorMACqueSW2 elcualposeelamismaprioridad. Luego de que el root bridge es elegido el root bridge comienza a enviar BPDU y los equipos downlinklosreenvianalosdemsequipos.

Prioridades
ElswitchquetieneelmenorBridgeIDeselegidocomorootridge. El bridge ID se calculaen base a la MAC del equipo y la prioridad del equipo, esta prioridad se puedeconfigurarde2maneras: Manualmente: se asigna una prioridad manual al equipo, para que se determine la menor prioridaddelequiposedebeconocerlasdemsprioridadesdelosequiposdelatopologia. 4

Automticamente: se puedeconfigurar el switch para que escuche los valores de prioridad delosdemsswitchesidentificndolasyeligiendounaprioridadmsbajaquelosdemsparael mismo. s p a n n i n g t r e er o o tp r i m a r y (escucha la prioridad del actual root del equipo y se configura una menor prioridad). La prioridad por defecto de spanning-tree es 32768, por lo tanto el actual un root debera tener la prioridad 28672 y el root primary debera tener 24576. Las prioridades van en mltiplos de 4096. Tambin existe el comando s p a n n i n g t r e er o o ts e c o n d a r y el cual configura una prioridad intermedia para que actue como ROOT BACKUP

Eleccindelrootport
Elrootporteselpuertoqueeligecadaswitchcomomejorrutaparallegaralrootbridge. Elrootenviaunabpduconunpathcostde0,elswitchrecibirlabpduyleaadirelcostode lainterfazyelijirlamejorinterfazcomorootport.Esteswitchreenviabpduconsupropiocosto comopathcostalproximoswitch,esteultimorecibirlabpduyaadirelcostodelainterfaz, encasodequetuviese2interfacescomoopcionesparallegaralrootbridgeelijirlaconmejor costo+patchcostrecibidoylademejorcostodepuertoyprioridad. Encasodeempate(2bpdu,mismocosto,mismaprioridad)seconcideraelswitchvecinocon elmenorBridgeid. Rootport=puertoenestadoforwarding.enviayrecibetrficoo,enviayrecibebpdus.

Designatedport
El algoritmo de Spanning-Tree pasa por 3 fases de desicin antes de bloquear un puerto: 1. Eleccin de Root Bridge 2. Eleccin de Root Port por cada nonRoot Bridge 3. Eleccin de Designated Port en cada segmento Por cada segmento debe haber solo un puerto como Designated Proceso de eleccin de designated port: 1. Puerto que anuncia menor Root Path Cost 2. En caso de empate, puerto perteneciente switch con menor Bridge ID (sender ID del switch vecino) 3. En caso de empate, puerto con menor prioridad 4. En caso de empate, puerto menor

Todos los puertos del Root Bridge son Designated y se encontrarn en forwarding.

Costodepuertosswitchescisco
Ciscopordefectoloquehaceescalcularelcosteatravsdelanchodebanda,tambinse puederealizarmanualmenteconfigurandoelcostedeSTPenlainterfaz.

Cuandoexisten2puertosconelmismocostohacaelrootbridgeseeligeeldelswitchque tengaelmenorSenderID. (configif)#spanningtreecost<costo> o (configif)#spanningtreevlanx,y,zcost<costo>

Prioridaddepuertosswitchescisco
Luegodelclculodespanningtreesedebecalcularelmejorpuertoparallegaralroot. Siloscostosdelasinterfacesorootpathcosteselmismoparallegaralswitchrootsedeber considerarelPortID.ElportIDseconformadelaprioridaddelpuerto+nmerodepuerto, ejemplo:

Pordefectotodoslospuertostienenprioridad128yelnmerodepuertoesequivalenteal nmerodeinterfazdelequipo. 6

EnelcasodenecesitarqueunainterfazquetieneelmismoPortID,Elmismocosto,etcpase deBLKaFWDsedebercambiarlaprioridaddelpuertodesdeelvecinoyaqueenelordendel criteriodedecisindepuertorootlaltimadecisinlallevaelPortID Cuando2omsinterfacestienenelmismorootpathcostsedeterminaenbasealossiguientes criterios: ElmenorrootBridgeID ElmenorrootPathCosthaciaelRoot(sies1mismoswitchestonovale) ElmenorSenderBridgeID(sies1mismoswitchestonovale) ElmenorSenderportID Porlotanto,sielcaminoalrootdesdeunswitchxsetienen2interfacesconcostosiguales haciaelroot(rootpathcost)yesslo1switchelqueseencuentraentreelrootyelswitchen cuestinsebasarenelSenderPortID.

Designatedport
Lasdecisionesquetomanlosswitchsenunatopologaspanningtreesonlassiguientes: 1. Elegirunrootbridge 2. Losequiposnorootelegirunpuertoroot 3. Porcadasegmentoseescojaundesignatedport. Todoslospuertosdelrootbridgesondesignatedportyseencuentranenestadoforwarding. En1segmentopuedehaberslo1puertodesignado. Losswitchnorootcompartebpduconlosotrosequiposnon.rootatravsdelasinterfaces designated(norootport). ROOTROOTPORTSW>BPDU

Timersspanningtree
hellotime (2segundospordefecto):cadacuantotiemposeenvanBPDUs,cuandolatopologa ya est estable y el root sea elegido el valor del root ser el que se considere como valor del timerparatodoslosequipos. Cada switch puedetenersuspropiostimerslocalmenteelcual sirveparaenviarlasBPDUTCN, mientrasquelasBPDUconfigurationsseenvanenbasealtimerdelroot. forward delay (15 segundos por defecto): es el tiempo que un puerto debe estar en el estado listeningylearning(estadostransitorios),(15segundosc/upordefecto). 7

listening 15segundos learning 15segundos forwaring.

maxage (20 segundospor defecto): tiempo de vida delaBPDU,tiempoqueesvlidalaBPDU recibida. Cada vez que 1 switch recibe una BPDU y es almacenada localmente, modifica los valores que se deben modificar y es enviada a los vecinos, si no serecibe una nueva BPDU durante20segundosseentiendequehaocurridounerrorenlaredyaquenoseharecibidouna nuevaBPDU,siestoocurresereiniciaelprocesoSpanningtreeenelequipo. Para saber el valor exactode cantidaddesegundosquesedeberecibirunanuevaBPDUesen basealsiguientecalculo:

MAXAGEMESSAGEAGE*
*message age: cantidadde saltos desde el siguiente switch root+1(el messageagedelroot es 0
porlotantoelcontadorcomienzaen1desdeelswitchvecinodirectamenteconectadoalroot)

SWTICHROOT>SW1>SW2>SW3=messageageenSW3=2
PorlotantoSW3deberrecibirBPDUenuntiempomximode18segundos.

( c o n f i g ) #s p a n n i n g t r e ev l a nxh e l l o t i m e< t > ( c o n f i g ) #s p a n n i n g t r e ev l a nxf o r w a r d d e l a y< t > ( c o n f i g ) #s p a n n i n g t r e ev l a nxm a x a g e< t >

Anda mungkin juga menyukai