這是「網(wǎng)絡(luò)工程師俱樂(lè)部」的第543篇文章 晚上好,,我是老楊,。 你肯定知道這個(gè)經(jīng)典網(wǎng)絡(luò)組網(wǎng)模型:接入-匯聚-核心-出口。 接入多數(shù)是二層交換機(jī)為主,,節(jié)約成本有的地方用傻瓜交換機(jī),,主要配置access隔離廣播域。 為了防止環(huán)路,,接入層,,大多數(shù)人都會(huì)配置生成樹(shù)協(xié)議。 STP(生成樹(shù)協(xié)議)是一種第2層協(xié)議,,在網(wǎng)橋之間運(yùn)行,,旨在幫助建立無(wú)環(huán)路(loop-free)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。 運(yùn)行STP(生成樹(shù)協(xié)議)的以太網(wǎng)設(shè)備部署在很多網(wǎng)絡(luò)里,,很多在職的網(wǎng)絡(luò)工程師對(duì)STP都很眼熟,,但是設(shè)置時(shí)的錯(cuò)誤也多,甚至可以說(shuō)是比比皆是,。 如果你能糾正這些生成樹(shù)問(wèn)題,,可以改善應(yīng)用程序性能、縮短會(huì)聚時(shí)間,、提高彈性以及減少網(wǎng)絡(luò)停運(yùn)時(shí)間,。 今天我們來(lái)復(fù)盤一下網(wǎng)絡(luò)工程師在部署時(shí)常見(jiàn)的關(guān)于STP的問(wèn)題,順便講講解決思路,。 今日文章閱讀福利:《HCIP路由交換實(shí)驗(yàn)指南》添加老楊微信,,發(fā)送暗號(hào)“HCIP”,前5名粉絲即可獲得,。 添加老楊微信 發(fā)送暗號(hào) 獲取資源 沒(méi)有配置根網(wǎng)橋 許多企業(yè)組織對(duì)生成樹(shù)習(xí)以為常,,僅僅接受默認(rèn)的配置設(shè)置了事。這使得網(wǎng)絡(luò)環(huán)境中的所有交換機(jī)都使用32678這一默認(rèn)的根網(wǎng)橋優(yōu)先級(jí)值,。 如果所有交換機(jī)都用同一個(gè)根網(wǎng)橋優(yōu)先級(jí),,那么MAC地址最低的那只交換機(jī)將被建立為根網(wǎng)橋。 許多網(wǎng)絡(luò)并沒(méi)有配置成單只交換機(jī)有一個(gè)較低的根網(wǎng)橋優(yōu)先級(jí),這會(huì)迫使那只核心交換機(jī)被建立為任何或所有虛擬局域網(wǎng)(VLAN)的STP根,。 在這種情況下,,MAC地址偏低的小型接入層交換機(jī)就有可能是STP根。這種情況勢(shì)必會(huì)增加一些性能開(kāi)銷,,導(dǎo)致會(huì)聚時(shí)間較長(zhǎng)(由于根網(wǎng)橋重新建立),。 圖 | 通常狀況下錯(cuò)誤配置的生成樹(shù)環(huán)境 如圖所示,作為STP根的交換機(jī)實(shí)際上是核心交換機(jī)2,,因?yàn)樗鼡碛械腗AC地址恰好低于核心交換機(jī)1,。 一條最佳實(shí)踐就是為“主”(核心)交換機(jī)配置較低的STP優(yōu)先級(jí),那樣一只交換機(jī)將是根網(wǎng)橋,,其他任何核心交換機(jī)會(huì)有高一點(diǎn)的優(yōu)先級(jí)值,;萬(wàn)一主核心網(wǎng)橋失效,它們就會(huì)自動(dòng)接過(guò)重任,。 萬(wàn)一出現(xiàn)網(wǎng)橋故障,在交換機(jī)上配置“不同層次”的STP優(yōu)先級(jí)將查明哪只交換機(jī)應(yīng)該是根網(wǎng)橋,。這樣一來(lái),,STP網(wǎng)絡(luò)運(yùn)行起來(lái)就更具有確定性了。 在核心思科交換機(jī)上,,你應(yīng)該用這個(gè)命令配置主根交換機(jī): Core-Sw1(config)# spanning-tree vlan 1-4096 root primary 在核心思科交換機(jī)上,,你應(yīng)該用這個(gè)命令配置次根交換機(jī): Core-Sw2(config)# spanning-tree vlan 1-4096 root secondary 這兩個(gè)命令的最終效果會(huì)將主交換機(jī)端口的網(wǎng)橋優(yōu)先級(jí)設(shè)為8192,將次交換機(jī)的根網(wǎng)橋優(yōu)先級(jí)設(shè)為16384,。 使用IEEE 802.1D 而未使用Rapid-STP 典型的IEEE 802.1D協(xié)議有下列默認(rèn)計(jì)時(shí)器:15秒用于偵聽(tīng),,15秒用于學(xué)習(xí),20秒用于最長(zhǎng)生存時(shí)間超時(shí),。 生成樹(shù)中的所有交換機(jī)都應(yīng)該認(rèn)同這些計(jì)時(shí)器,,不鼓勵(lì)你修改這些計(jì)時(shí)器。 這些較舊的計(jì)時(shí)器對(duì)一二十年前的網(wǎng)絡(luò)來(lái)說(shuō)也許夠用了,,而如今,,這些30秒至50秒的會(huì)聚時(shí)間實(shí)在太慢了。 如今,,許多交換機(jī)能夠支持快速生成樹(shù)協(xié)議(IEEE 802.1w),,可是很少有網(wǎng)絡(luò)管理員啟用該功能。 快速生成樹(shù)協(xié)議(RSTP)大大縮短了會(huì)聚時(shí)間,,其秘訣在于使用端口角色,,使用通過(guò)指定端口在網(wǎng)橋之間發(fā)送消息這種方法,計(jì)算備用路徑,,以及使用更快速的計(jì)時(shí)器,。 因而,如果可以使用RSTP,,企業(yè)組織應(yīng)該盡量使用,。如果企業(yè)仍擁有無(wú)法使用RSTP的交換機(jī),,也別擔(dān)心: 針對(duì)通向老式STP交換機(jī)的那些接口,RSTP交換機(jī)會(huì)切回到傳統(tǒng)的802.1D操作方式,。 阻塞的上行鏈路 生成樹(shù)的任務(wù)就是防止環(huán)路形成,。為此,它學(xué)習(xí)了解通向根的次最優(yōu)路徑,,讓這些不太理想的鏈路處于阻塞模式,。 如果交換機(jī)之間有多條并行路徑,那么其中一條路徑將被選擇進(jìn)入阻塞模式,,防止兩只交換機(jī)之間出現(xiàn)環(huán)路,。 這樣一來(lái),擁有多條上行鏈路只適用于主鏈路故障切換,,而不是為這條路徑提供更高的帶寬,。 在上圖中,你可以看到交換機(jī)D的這種情況,。通向交換機(jī)2的鏈路是通向根網(wǎng)橋的最優(yōu)路徑,,而通向交換機(jī)1的次最優(yōu)路徑處于STP阻塞狀態(tài)。 因此,,只有一條鏈路的帶寬可供上行通信使用,。 我們希望能夠利用這兩條上行鏈路來(lái)轉(zhuǎn)發(fā)流量、增加帶寬,,那樣我們可以使用某種鏈路聚合技術(shù),,比如端口信道/以太網(wǎng)信道(LACP (IEEE 802.3ad),PAgP),,或者某種多機(jī)箱端口信道(MC-LAG IEEE 802.3AX/AY),,或者使用擁有虛擬端口信道(vPC)的思科Nexus交換機(jī)。 另一種選擇就是使用可堆疊交換機(jī),,并配置每個(gè)上行鏈路端口,,連接至堆疊交換機(jī)中的不同交換機(jī)。由于堆疊交換機(jī)可以配置成它就是一只交換機(jī),,那樣可以使用端口信道,。 從生成樹(shù)的角度來(lái)看可以將兩條鏈路當(dāng)成一條鏈路,這兩條鏈路都可以用來(lái)轉(zhuǎn)發(fā)流量,。其他選擇能夠取得同樣這個(gè)效果,,比如思科的6500虛擬交換系統(tǒng)(VSS)。 超過(guò)STP的最大規(guī)模 我們都生活在這樣的城市:缺少統(tǒng)一協(xié)調(diào)的城市規(guī)劃,,道路總是擁擠不堪,、無(wú)法順暢通行。同樣,網(wǎng)絡(luò)常常像白楊樹(shù)那樣生長(zhǎng),。 網(wǎng)絡(luò)當(dāng)中出現(xiàn)新增的設(shè)備,,但是網(wǎng)絡(luò)很少重新設(shè)計(jì)架構(gòu),除非購(gòu)置了一套全新的網(wǎng)絡(luò),。隨著新的交換機(jī)添加到局域網(wǎng)環(huán)境中,,生成樹(shù)不斷隨之變化。 一些大型網(wǎng)絡(luò)環(huán)境支持的應(yīng)用程序依賴整個(gè)網(wǎng)絡(luò)上的第2層連接,,這類網(wǎng)絡(luò)環(huán)境應(yīng)該意識(shí)到這種生長(zhǎng),。要是網(wǎng)絡(luò)拓?fù)涑^(guò)STP的最大規(guī)格,企業(yè)就會(huì)遇到問(wèn)題,。 802.1D規(guī)范建議,,生成樹(shù)的網(wǎng)橋跳數(shù)(bridge hop)不超過(guò)7段。如果有許多“雛菊鏈?zhǔn)健苯粨Q機(jī),,很可能出現(xiàn)這種情況,。 參閱上圖,就會(huì)發(fā)現(xiàn)連一種簡(jiǎn)單的網(wǎng)絡(luò)拓?fù)湟矔?huì)超過(guò)生成樹(shù)的這一最大規(guī)模,。 像醫(yī)院和大學(xué)校園這些組織的網(wǎng)絡(luò)擁有龐大的局域網(wǎng)環(huán)境,,跨整個(gè)網(wǎng)絡(luò)延伸單一的VLAN。 它們應(yīng)該認(rèn)識(shí)到其生成樹(shù)的規(guī)模,。這些組織應(yīng)該將局域網(wǎng)交換環(huán)境的情況記入文檔,并且尋找過(guò)于頻繁的拓?fù)渥兏ㄖ?TCN),,從而定期檢查生成樹(shù)的規(guī)模,。 VTP域 企業(yè)組織面臨的困難常常牽涉VLAN隧道協(xié)議(VTP)以及它與STP有怎樣的關(guān)系。 VTP這種機(jī)制可以幫助在單一局域網(wǎng)交換環(huán)境中建立和維護(hù)VLAN,。 VTP服務(wù)器可以建立新的VLAN,,然后自動(dòng)為VTP客戶機(jī)配置那些新的VLAN。隨后,,那些VTP客戶端交換機(jī)上的端口被分配到這個(gè)新的VLAN,。 VTP有助于讓VLAN編號(hào)在局域網(wǎng)交換環(huán)境中保持一致性。很早以來(lái)就存在與VTP有關(guān)的問(wèn)題,,許多人建議將VTP配置成透明模式,。 一些企業(yè)組織抽時(shí)間來(lái)配置VTP域,并配置VTP服務(wù)器和客戶機(jī),。一些企業(yè)組織還在所有交換機(jī)上使用同一個(gè)VTP域名,,即便在所有地方都是如此。如果使用第2層城域以太網(wǎng)服務(wù),,并將其配置成802.1Q干線,,這就會(huì)開(kāi)始引起問(wèn)題。 上圖描述了這個(gè)問(wèn)題。該例子中的交換機(jī)都有同樣的VTP域名,。 數(shù)據(jù)中心與災(zāi)難恢復(fù)站點(diǎn)之間的連接使用了802.1Q干線,,但是只允許三個(gè)VLAN接入這條干線。 因此,,災(zāi)難恢復(fù)站點(diǎn)的交換機(jī)了解所有的VLAN,,使用生成樹(shù)來(lái)確定城域以太網(wǎng)鏈路是VLAN 10、20和30通向根的路徑,。 然而,,災(zāi)難恢復(fù)站點(diǎn)的交換機(jī)認(rèn)為,它是該干線上未使用的其他VLAN的STP根,。 這可能會(huì)引起問(wèn)題,,因?yàn)楝F(xiàn)在環(huán)境有兩只交換機(jī)認(rèn)為自己是VLAN 40、50和60的STP根,。 使用VTP的企業(yè)應(yīng)該慎重使用,,知道哪些交換機(jī)是VTP服務(wù)器或客戶機(jī),使用VTP密碼,,刪除不再提供服務(wù)的交換機(jī)上的配置和VTP信息,,并且在不需要VTP的場(chǎng)合下考慮禁用VTP。 STP與HSRP不一致 許多企業(yè)組織擁有冗余核心交換機(jī),,它們還為所連接局域網(wǎng)上的計(jì)算機(jī)充當(dāng)?shù)?層默認(rèn)網(wǎng)關(guān),。 像HSRP、VRRP,、GLBP及其他這些首跳冗余協(xié)議為只配置一個(gè)單一默認(rèn)網(wǎng)關(guān)IP地址的主機(jī)提供了默認(rèn)網(wǎng)關(guān)冗余機(jī)制,。 如果HSRP活動(dòng)默認(rèn)網(wǎng)關(guān)不是為該VLAN充當(dāng)STP根的同一只第2層/第3層交換機(jī),問(wèn)題就會(huì)隨之而來(lái),。 上圖表示,,交換機(jī)1是HSRP活動(dòng)路由器,但它不是任何VLAN的STP根,。 交換機(jī)2是STP根,,但它配置成HSRP備用路由器。這就形成了非最佳流量路徑,,可能會(huì)導(dǎo)致核心交換機(jī)間的干線上出現(xiàn)更嚴(yán)重的擁塞狀況,。 使用首跳冗余協(xié)議的企業(yè)應(yīng)該確保,活動(dòng)默認(rèn)網(wǎng)關(guān)與STP根相一致,。 沒(méi)有控制STP 由于那么多的企業(yè)組織只是接受交換機(jī)廠商在生成樹(shù)方面的默認(rèn)設(shè)置,,它們并沒(méi)有最優(yōu)化控制STP。企業(yè)可能沒(méi)有配置生成樹(shù),,以防止無(wú)意中添加的未授權(quán)交換機(jī)形成環(huán)路,。 許多企業(yè)使用思科的PortFast接口設(shè)置,,幫助為連接到我們知道不運(yùn)行STP的計(jì)算機(jī)的端口迅速調(diào)出交換機(jī)端口。 激活端口之前,,讓端口連接至等待偵聽(tīng)和學(xué)習(xí)狀態(tài)的計(jì)算機(jī)毫無(wú)意義,。 結(jié)合使用PortFast和BPDU-Guard是最佳實(shí)踐,那樣如果通過(guò)該接口收到BPDU,,它可以防御性地關(guān)閉端口,。 激活這項(xiàng)功能的思科IOS全局命令如下: Core-Sw1(config)# spanning-tree portfast edge bpduguard 激活這項(xiàng)功能的思科IOS接口配置命令如下: Core-Sw1(config-if)# spanning-tree bpduguard enable 如果交換機(jī)已配置好了任何端口信道,那么配置以太網(wǎng)信道保護(hù)機(jī)制(EtherChannel guard)是個(gè)好主意,。 激活這項(xiàng)功能的思科IOS全局命令如下: Core-Sw1(config)# spanning-tree etherchannel guard misconfig 企業(yè)還應(yīng)該在連接至服務(wù)器的所有接入交換機(jī)端口上使用根保護(hù)機(jī)制(Root Guard),。 激活這項(xiàng)功能的思科IOS接口配置命令如下: Core-Sw1(config-if)# spanning-tree guard root 有時(shí)候,刀片服務(wù)器嵌入了以太網(wǎng)交換機(jī),,這類服務(wù)器也應(yīng)該考慮到STP設(shè)計(jì)和配置當(dāng)中,。 應(yīng)該將這些交換機(jī)的配置與其他任何STP設(shè)備一視同仁,其配置應(yīng)該補(bǔ)充網(wǎng)絡(luò)環(huán)境中的其他交換機(jī),。 |
|
來(lái)自: 新用戶0118F7lQ > 《文件夾1》