在局域網(wǎng) 中,交 換設(shè)備間借助于生成樹協(xié)議(Spanning-Tree Protocol,STP) 來 這 完成動(dòng)態(tài)修剪,從而形成統(tǒng)一的樹形結(jié)構(gòu),避免同一VLAN下數(shù)據(jù)鏈路層環(huán)路的存在,其標(biāo)準(zhǔn)為IEEE802.1D。
路徑開銷Cost、端口ID、端口編號(hào)是決定非根交換機(jī)指定端口和阻塞端口的判定條件。
CISCO交換機(jī)的端口優(yōu)先級(jí)是以“Prio.Nbr”的格式表示的,其中Prio為端口 ID,數(shù) 值 在 <0,240> 之間,默認(rèn)為128,且必須是16的倍數(shù);Nbr為端口編號(hào),從1開始由FastEthernet端口按順序編號(hào)到GigabitEthernet端口。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D
在生成樹收斂過程中,以上參數(shù)的比較順序是Cost、Prio 和Nbr,數(shù)值越小成為轉(zhuǎn)發(fā)端口的優(yōu)先級(jí)越高。下面通過幾個(gè)實(shí)驗(yàn)說明非根交換機(jī)的阻塞端口與它自身的優(yōu)先級(jí)無關(guān)。
所有條件均為默認(rèn)相同,拓?fù)鋱D如圖1所示。圖1中連接端口均為千兆端口,所以各鏈路Cost值相同。不新建VLAN,都在VLAN 1中進(jìn)行討論。
通過命令show spanning-tree vlan 1可查看到兩臺(tái)交換機(jī)的Priority值均為默認(rèn) 32769(32768加上VLAN號(hào) 1)。
通過命令show version可查看到S1的MAC地址為0002.17B5.915D比較小,優(yōu)先級(jí)較高;S2的MAC地址為0050.0FC2.DD84比較大,優(yōu)先級(jí)比較低,所以S1被選舉為根交換機(jī)。
通過命令show spanning-tree vlan 1可查看到S2端口Gig0/1的Prio.Nbr的值為128.25(1-24是百兆端口), 端口Gig0/2的Prio.Nbr的值為128.26。
根據(jù)判定條件,Cost相同,端口ID相同,端口編號(hào)較大者Gig0/2應(yīng)該是被阻塞的端口。
通過命令show spanning-tree interface G0/2可以查看到該端口狀態(tài)為BLK(阻塞)狀態(tài)。確實(shí)為阻塞狀態(tài),這時(shí)判定和實(shí)際是一樣的,這與各教科書的描述也一致。
然而,這只是一種巧合,事實(shí)并非如此!請(qǐng)繼續(xù)看下面的實(shí)驗(yàn)。
圖2 網(wǎng)絡(luò)結(jié)構(gòu)拓?fù)鋱D
同實(shí)驗(yàn)一,只是把端口反接,也就是把S1的Gig0/1對(duì) 應(yīng) S2的Gig0/2,S1的Gig0/2對(duì)應(yīng)S2的Gig0/1,如圖2所示。
對(duì)于交換機(jī)S2來說,各端口ID同實(shí)驗(yàn)一中沒有變化,阻塞端口也應(yīng)該是G0/2,然而通過命令show spanning-tree interface Gig0/2查看到的狀態(tài)為FWD,而 Gig0/1的 狀 態(tài) 為BLK。
這說明非根交換機(jī)端口優(yōu)先級(jí)比較高的反而被阻塞。
拓?fù)鋱D如圖1,手工修改S2的端口優(yōu)先級(jí),使Gig0/1的Prio值大于 Gig0/2的Prio值,也就是讓Gig0/1的優(yōu)先級(jí)變低。命令如下:
修改端口Gig0/1的Prio值為最大值240,優(yōu)先級(jí)最低,應(yīng)該被阻塞。生成樹收斂結(jié)束后,通過命令發(fā)現(xiàn)阻塞端口仍然是Gig0/2,并沒有發(fā)生變化。
這說明非根交換機(jī)各端口的Prio.Nbr值并不影響端口的阻塞屬性。
拓?fù)鋱D如圖1,手工修改S1的端口ID值,使Gig0/1的Prio值大于 Gig0/2的Prio值,也就是讓Gig0/1的優(yōu)先級(jí)變低,命令如下:
修改端口Gig0/1的Prio值為最大值240,生成樹收斂完成后,通過命令發(fā)現(xiàn)阻塞端口發(fā)生了變化,S2的Gig0/1成為了阻塞端口。
以上實(shí)驗(yàn)說明,非根交換機(jī)S2的端口是否被阻塞,不是由S2自身的端口優(yōu)先級(jí)來決定,而是由對(duì)端根交換機(jī)的對(duì)應(yīng)端口的優(yōu)先級(jí)來決定。