Spanning-tree portfast -komento on hyvin yksinkertainen ominaisuus, mutta se ymmärretään usein väärin.
Tässä lyhyessä postauksessa selvitän, miten tämä ominaisuus käyttäytyy, miten se toimii ja miten se konfiguroidaan cisco-kytkimessä.
Portfast on Ciscon oma ominaisuus, joka kehitettiin alun perin ongelman ratkaisemiseksi, kun tietokone yritti saada DHCP-osoitteen ja meni DHCP-prosessin ohi ennen kuin portti oli siirtynyt forwarding-tilaan. Portfast-ominaisuus toi portin eteenpäinlähetystilaan heti, kun se tuli esiin, jolloin tietokone pystyi hankkimaan DHCP-osoitteen. Ominaisuus standardoitiin sittemmin ja sitä kutsutaan nykyään Edge-portiksi.
Tämä on tärkein muistettava asia.
Liittymä, johon on konfiguroitu portfast, ohittaa Spanning Treen kuuntelu- ja oppimisvaiheet, mutta vain silloin, kun liittymä nousee ylös.
Spanning Treen portfastin konfigurointi
Portfastin konfigurointiin voidaan käyttää kahta tapaa: portfast voidaan konfiguroida globaalisti ja liittymäkohtaisesti.
Kummassakin tapauksessa nämä ominaisuudet riippuvat saapuvista BPDU:ista
Jos porttiin on konfiguroitu portfast ja se vastaanottaa BPDU:n, portti poistaa portfast-ominaisuuden käytöstä.
Toinen harhaluulo on, että kun portfast otetaan käyttöön portissa, se lopettaa BPDU:iden lähettämisen, tämä ei pidä paikkaansa ainoa asia, jonka portfastin ottaminen käyttöön cisco-kytkimessä tekee, on kuuntelu- ja oppimisvaiheiden poistaminen käytöstä, muut elementit säilyvät. BPDU:t lähetetään edelleen ja vastaanotetut BPDU:t käsitellään.
Liitännän konfigurointi
Konfiguroidaksesi liitännän, jossa on portfast, liitännän konfigurointiin kirjoita yksinkertaisesti komento spanning-tree portfast
saat varoituksen, jonka selitän myöhemmin.
SW1#conf tSW1#int fa0/23SW#(config-if)#spanning-tree portfast%Warning: Portfast should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc... to this interface when portfast is enabled, can cause temporary bridging loops.Use with caution%Portfast has been configured on FastEthernet0/23 but will only have effect when the interfaceis in a non-trunking mode.
Konfiguroidessasi liitäntäkohtaisesti sinulla on myös mahdollisuus konfiguroida trunk-tila.
SW1(config-if)#spanning-tree portfast ?disable Disable portfast for this interfacetrunk Enable portfast on the interface even in trunk mode<cr>SW1(config-if)#spanning-tree portfast
Tällöin portfast otetaan käyttöön myös trunk-linkeillä.
Globaalinen konfigurointi
Konfiguroidaksesi portfastin globaalisti globaalissa konfigurointitilassa anna komento spanning-tree portfast default
Tällöin portfast otetaan käyttöön kaikilla toiminnassa olevilla access-porteilla.
SW1(config)#spanning-tree portSW1(config)#spanning-tree portfast default%Warning: this command enables portfast by default on all interfaces. Youshould now disable portfast explicitly on switched ports leading to hubs,switches and bridges as they may create temporary bridging loops.SW1(config)#
Nyt sitten itseasiassa konfiguroidaan näin, mutta on myös oltava hyvin tietoinen portin toiminnassa olevasta portfast-tilasta. Muut ominaisuudet ovat riippuvaisia portfastin toimintatilasta, jotta ne toimisivat oikein. Yksi näistä on bpduguard.
Jos bpduguard on konfiguroitu globaalisti, se vaikuttaa vain portteihin, joiden portit ovat portfast-toiminnallisessa tilassa.
Portin konfiguraatiosta riippumatta alla oleva komento näyttää todellisen portfast-toiminnallisen tilan.
SW1#sh spanning-tree interface fa0/23 portfast VLAN0010 disabled
Jos näytämme portin konfiguraation, huomaat, että olemme itse asiassa konfiguroineet portfastin
SW1#sh run int fa0/23Building configuration...
!interface FastEthernet0/23 switchport access vlan 10 switchport mode access spanning-tree portfastend
Miten portista sitten poistetaan portfast-toiminnallinen tila? Syy on se, että koska fa0/23:n toinen pää on kytketty SW2:een, portti on saanut BPDU:n ja poistanut portfast-tilan käytöstä
Jos siis yrittäisimme ottaa bpduguardin käyttöön globaalisti, sillä ei olisi mitään vaikutusta, koska portfast-tila on poistettu käytöstä. Tätä me haluamme, sillä jos tämä olisi pääsyportti, joka ei olisi kytketty kytkimeen, se ei vastaanottaisi BPDU:ta ja näin ollen portfast-tila olisi käytössä. Sitten kun bpduguard otettaisiin käyttöön, se olisi toiminnassa ja valmis sulkemaan portin, jos se saisi porttiin BPDU:ta, joka osoittaisi, että joku olisi kytkenyt kytkimen access-porttiin.
BPDU Guard – kaikki vastaanotetut BPDU:t aiheuttavat sen, että portti menee err-disabled-tilaan.
Toinen ominaisuus, joka on vuorovaikutuksessa portin operatiivisen portfast-tilan kanssa, on BPDU-suodatin
Alla oleva Marcon video selittää vuorovaikutuksen paremmin kuin minä pystyn.