真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

spanningtreeprotocol

前言

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),營(yíng)口企業(yè)網(wǎng)站建設(shè),營(yíng)口品牌網(wǎng)站建設(shè),網(wǎng)站定制,營(yíng)口網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,營(yíng)口網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

Spanning Tree Protocol (STP) 是一款 Layer 2 的 Protocol,一般在 Switch 上執(zhí)行,主要目的是防止 Switch 在接駁時(shí)產(chǎn)生 Switching Loop。STP 是在學(xué)習(xí)網(wǎng)絡(luò)知識(shí)中一個(gè)重要的課題,必需深入了解其運(yùn)作原理和操作流程。

Broadcast Storm

為什麼需要 STP 呢?請(qǐng)看看以下例子:

spanning tree protocol

假設(shè) C1 要傳送資料給 C2,但 C1 的 ARP Table 裡沒有 C2 的 MAC Address,因此 C1 送出一個(gè) Broadcast ARP Request 想找 C2 的 MAC Address。這個(gè) Broadcast 送到 SW1,由於 SW1 在 Fa0/3 收到 Broadcast,所以它會(huì)把 Broadcast 經(jīng)由 Fa0/1 和 Fa0/2 送出去。同樣地,SW2 在 Fa0/1 收到後會(huì)在 Fa0/2 送出去,而 SW3 在 Fa0/2 收到後,就在 Fa0/1 和 Fa0/3 送出去,於是 SW2 和 SW1 又收到來自 SW3 的 Broadcast,然後它們也照樣在另一個(gè)出口送出,於是 Broadcast 不會(huì)停止地重覆輸送,這就稱為 Broadcast Storm,會(huì)造成 Switching Loop 的問題。

解決 Broadcast Storm 的方法是把網(wǎng)絡(luò)中其中一條連線斷開,阻止 Broadcast 在網(wǎng)絡(luò)上遊花園。問題是究竟斷開那一條連線好呢?各個(gè) Switch 應(yīng)該要有一致的共識(shí),所以就有了 STP 這個(gè)機(jī)制,讓所有 Switch 溝通一下那些 port 要傳送資料,那些 port 應(yīng)該休息不要傳送資料。

PVST+

PVST+ (Per VLAN Spanning Tree Plus) 是 Cisco Switch 預(yù)設(shè)的 STP 設(shè)定,透過 PVST+,Switch 可以建立一個(gè) Loop-free (沒有 Loop) 的 topology。各 Switch 會(huì)按程序完成以下步驟:

  1. 在整個(gè)網(wǎng)絡(luò)裡選舉一隻 Root Switch

  2. 除了 Root Switch 外的其他各 Switch 都選擇一個(gè) Root Port

  3. 所有網(wǎng)段選擇一個(gè) Designated Port

  4. 把沒成為 Root Port 或 Designated Port 的 Port 成為 Non-Desiganted Port,這些 Port 會(huì)被 Blocking 去防止 Loop

Step 1: 選舉 Root Switch

spanning tree protocol

PVST+ 會(huì)選 Switch Priority (或稱 Bridge Priority) 最小的 Switch 來成為 Root Switch,所以第一步要學(xué)習(xí)的是如何找出和計(jì)算 Switch 的 Priority。PVST+ 計(jì)算 Switch Priority 的公式是 Priority 值 + VLAN Number,Priority 值是可以設(shè)定的,預(yù)設(shè)值是 32768。每一個(gè) VLAN 裡面的 Priority 可以各不相同,這就是所謂 Per VLAN STP 的精神,每一個(gè) VLAN 都擁有屬於自己的 STP Topology。請(qǐng)看以下例子。

在 SW1 輸入 show spanning-tree 指令,請(qǐng)暫時(shí)跳過 Root ID 部份,先看 Bridge ID。Bridge ID 是本機(jī)的 Bridge 資料,可見本機(jī)的 Switch Priority 是 32769 (預(yù)設(shè)值 32768 + VLAN 1)。

SW1#show spanning-tree

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0012.43bb.4340
             Cost        19
             Port        1 (FastEthernet0/1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0014.f21e.4980
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

<--Output Omitted-->

如果這隻 Switch 有 VLAN20 又會(huì)怎樣呢?建立 VLAN20 來試試看,VLAN20 的 Switch Priority = 32768 + 20 = 32788。所以,同一隻 Switch 裡面,不同 VLAN 的 Priority 是不相同的。

SW1(config)#vlan 20
SW1(config-vlan)#end
SW1#show spanning-tree

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0012.43bb.4340
             Cost        19
             Port        1 (FastEthernet0/1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0014.f21e.4980
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

<--Output Omitted-->


VLAN0020
  Spanning tree enabled protocol ieee
  Root ID    Priority    32788
             Address     0014.f21e.4980
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay

Bridge ID    Priority    32788  (priority 32768 sys-id-ext 20)
             Address     0014.f21e.4980
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

<--Output Omitted-->

知道怎樣找 Switch Priority 了,如果想改 Priority 要怎樣做?一個(gè)簡(jiǎn)單指令便 OK!用 spanning-tree vlan priority ,留意 priority 必需是 4096 的倍數(shù),現(xiàn)在試把 VLAN1 的 priority 改為 36864,把 VLAN 20 的 Priority 改為 8192。

SW1(config)#spanning-tree vlan 1 priority ?
  <0-61440>  bridge priority in increments of 4096

SW1(config)#spanning-tree vlan 1 priority 36864
SW1(config)#spanning-tree vlan 20 priority 8192
SW1(config)#end
SW1#show spanning-tree

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0012.43bb.4340
             Cost        19
             Port        1 (FastEthernet0/1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    36865  (priority 36864 sys-id-ext 1)
             Address     0014.f21e.4980
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

<--Output Omitted-->


VLAN0020
  Spanning tree enabled protocol ieee
  Root ID    Priority    8212
             Address     0014.f21e.4980
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    8212   (priority 8192 sys-id-ext 20)
             Address     0014.f21e.4980
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

<--Output Omitted-->

看懂了 Switch Priority,現(xiàn)在正式開始談?wù)?Root Switch 選舉,原來 Switch Priority 最小的 Switch 會(huì)成為 Root Switch,如果 Priority 相同就選 MAC Address 最小的?,F(xiàn)在到這 3 隻 Switch 中看看 VLAN1 的 Priority 的情況。SW2 和 SW 3 的 Priority 都比較小,而 SW2 的 MAC Address 比 SW3 小,所以 SW2 成為 Root Switch。而且,在 SW2 見到一句很有霸氣的訊息:This bridge is the root,明確表示 SW2 就是 Root Switch!

SW1#show spanning-tree vlan 1

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0012.43bb.4340
             Cost        19
             Port        1 (FastEthernet0/1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    36865  (priority 36864 sys-id-ext 1)
             Address     0014.f21e.4980
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

<--Output Omitted-->
SW2#show spanning-tree vlan 1

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0012.43bb.4340
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0012.43bb.4340
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

<--Output Omitted-->
SW3#show spanning-tree vlan 1

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0012.43bb.4340
             Cost        19
             Port        2 (FastEthernet0/2)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0014.6999.0100
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

<--Output Omitted-->

如果我們想 SW1 成為 Root Switch 呢?有兩個(gè)方法,第一個(gè)方法是用 spanning-tree vlan priority  指令把 SW1 的 Priority 更改成更小的值。第二個(gè)方法是用 spanning-tree vlan 1 root primary 直接把 SW1 設(shè)定成 Root,其實(shí)這個(gè)指令也只是幫你把 Priority 調(diào)細(xì)而已。

SW1(config)#spanning-tree vlan 1 root primary
SW1(config)#end
SW1#show spanning-tree vlan 1

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     0014.f21e.4980
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    24577  (priority 24576 sys-id-ext 1)
             Address     0014.f21e.4980
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 15

<--Output Omitted-->

spanning tree protocol

所以,現(xiàn)在我們?cè)?VLAN1 選擇了 SW1 為 Root Switch。

Step 2: 選擇 Root Port

然後,除了 Root Switch 外,每隻 Switch 都會(huì)選擇一個(gè) Root Port,Root Port 是最「接近」Root Switch 的 Port,怎樣計(jì)算最接近呢?Switch 會(huì)按 Interface 的 Bandwidth 來計(jì)算 Cost,不應(yīng)該說計(jì)算,其實(shí)是死背的,請(qǐng)看下表:

Bandwidth (Mbps)4101645100155100010000
Cost2501006239191442
SW1

由於 SW1 自己本身是 Root Switch,因此不用選擇 Root Port。

SW2

SW2 用 Fa0/1 要經(jīng)過 1 條 100Mb Link (Cost: 19),而用 Fa0/2 要經(jīng)過 2 條 100Mb Link (Cost = 19+19=38),因此 SW2 選用 Fa0/1 為 Root Port。

SW3

同樣道理,SW3 用 Fa0/1 要經(jīng)過 1 條 100Mb Link (Cost: 19),而用 Fa0/2 要經(jīng)過 2 條 100Mb Link (Cost = 19+19=38),因此 SW3 選用 Fa0/1 為 Root Port。用 show spanning-tree 可以看到那個(gè) Port 被定性為 Root Port。

SW2#show spanning-tree | begin Interface
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Root FWD 19        128.1    P2p
Fa0/2            Desg FWD 19        128.2    P2p
SW3#show spanning-tree  | begin Interface
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Root FWD 19        128.1    P2p
Fa0/2            Altn BLK 19        128.2    P2p

如果想強(qiáng)迫 SW2 的 Fa0/2 成為 Root Port 可以嗎?我們可以用 Interface 指令 spanning-tree vlan cost  來增加 Fa0/1 的 Cost:

SW2(config)#int fastEthernet 0/1
SW2(config-if)#spanning-tree vlan 1 cost 40
SW2(config-if)#end
SW2#show spanning-tree | begin Interface
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Altn BLK 40        128.1    P2p
Fa0/2            Root FWD 19        128.2    P2p

現(xiàn)在我們把更改 Cost 的指令移除,於是 Root Port 位置就如下圖。

spanning tree protocol

Step 3: 選擇 Designated Port 與 Non-Designated Port

每一段網(wǎng)段只容許一個(gè) Port 成為 Designated Port,網(wǎng)段裡面最接近 Root Switch (Cost 最少) 的 Port 成為 Designated Port。如果網(wǎng)段裡只有兩個(gè) Port,在別無選擇下,與 Root Port 相對(duì)的 Port 必然成為 Designated Port,因此 SW1 的 Fa0/1 與 Fa0/2 成為 Designated Port。問題在於 SW2 與 SW3 的連線,那一個(gè) Port 成為 Designated Port 呢?在 Designated Port 的選擇與選擇 Root Switch 相似,同樣用 Switch Priority 較小者成為 Designated Port,如果 Switch Priority 相同,則 MAC Address 較小者勝出。SW2 的 Priority 為 32769,SW3 的 Priority 也是 32769,不過 SW2 的 MAC Address 較小,因此 SW2 的 Fa0/2 成為 Designated Port,會(huì)傳送訊息 (Forwarding) 而 SW3 的 Fa0/2 則會(huì)成為 Non-Designated Port,不傳送也不接收訊息 (Blocking),這樣就導(dǎo)絕了 Loop。Non-Designated Port 會(huì)被顥示為 Altn (Alternate Port) 或 Back (Backup Port),在傳統(tǒng)的 STP 中並沒分別,總之 State 都是 Blocking 就是了。

SW2#show spanning-tree

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     0014.f21e.4980
             Cost        19
             Port        1 (FastEthernet0/1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0012.43bb.4340
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Root FWD 19        128.1    P2p
Fa0/2            Desg FWD 19        128.2    P2p
SW3#show spanning-tree

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     0014.f21e.4980
             Cost        19
             Port        1 (FastEthernet0/1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0014.6999.0100
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Root FWD 19        128.1    P2p
Fa0/2            Altn BLK 19        128.2    P2p

spanning tree protocol

STP 的選舉準(zhǔn)則

透過上面的例子,我們知道要完成整個(gè) STP 流程,中間經(jīng)過幾個(gè)選舉,分別是選 Root Switch、選 Root Port 和選 Designated Port。這幾個(gè)選舉的決擇其實(shí)都源自是同一套準(zhǔn)則如下:

準(zhǔn)則 1:比 Bridge ID,小的勝出 (只有選 Root Switch 時(shí)使用)

所謂 Bridge ID 就是一串 16 Bits 的 Priority 和 48 Bits MAC Address 組成的值,由於 Priority 在前,MAC Address 在後,基本上 Priority 已可定勝負(fù),除非 Priority 相同,則要看 MAC Address。在一隻 Switch 之中,Priority 可人工調(diào)校,而 MAC Address 則不可改變。

準(zhǔn)則 2:比 Root Cost ,小的勝出

在選擇 Root Port 和 Designated Port 時(shí),就要比 Root Cost。Root Cost 就是要到達(dá) Root Switch 所需要的 Cost 總和,可以人工調(diào)校。

準(zhǔn)則 3:比對(duì)方的 Bridge ID,小的勝出

如 Root Cost 相同的話,就要比對(duì)方的 Bridge ID。

準(zhǔn)則 4:比對(duì)方的 Port ID,小的勝出

最後,會(huì)用 Port ID 來比較。Port ID 是一串 4 Bits 的 Priority 和 12 Bits Interface Number 所組成的值。由於 Priority 在前,一般用 Priority 已可定勝負(fù),如果 Priority 相同,則要看 Interface Number,由於一隻 Switch 上的 Interface Number 必然不同,所以準(zhǔn)則 4 必可分出勝負(fù)。

現(xiàn)在我們用一個(gè)簡(jiǎn)單的網(wǎng)絡(luò),重新審視一下這 4 個(gè)準(zhǔn)則。

spanning tree protocol

Step 1: 選舉 Root Switch

準(zhǔn)則 1:比 Bridge ID,小的勝出
準(zhǔn)則 2:比 Root Cost,小的勝出
準(zhǔn)則 3:比對(duì)方的 Bridge ID,小的勝出
準(zhǔn)則 4:比對(duì)方的 Port ID,小的勝出

先看看兩隻 Switch 的 Priority 與 MAC Address:

SW1#show spanning-tree

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0012.43bb.4340
             Cost        19
             Port        1 (FastEthernet0/1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0014.f21e.4980
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 15
SW2#show spanning-tree

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0012.43bb.4340
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0012.43bb.4340
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 15

由於 Bridge ID 的 Priority 部份相同,因此比較 MAC Address,SW2 MAC Address 較小,因而勝出成為 Root Bridge。因?yàn)?MAC Address 不會(huì)相同,必能分勝負(fù),因此 Root Switch 的選擇透過準(zhǔn)則 1 必可成功選出,不必到準(zhǔn)則 2-4。

spanning tree protocol

Step 2: 選擇 Root Port

準(zhǔn)則 1:比 Bridge ID,小的勝出 (不用準(zhǔn)則 1)
準(zhǔn)則 2:比 Root Cost,小的勝出
準(zhǔn)則 3:比對(duì)方的 Bridge ID,小的勝出
準(zhǔn)則 4:比對(duì)方的 Port ID,小的勝出

準(zhǔn)則 1:比 Bridge ID,小的勝出
準(zhǔn)則 2:比 Root Cost,小的勝出
準(zhǔn)則 3:比對(duì)方的 Bridge ID,小的勝出
準(zhǔn)則 4:比對(duì)方的 Port ID,小的勝出

在預(yù)設(shè)的情況之下,SW1 的 Fa0/1 與 Fa0/2 Bandwidth 相同,因此 Cost 相同,無法用準(zhǔn)則 2 分勝負(fù)。(當(dāng)然,我們可以選擇更改 Interface 的 Bandwdith,或使用 spanning-tree vlan cost  來調(diào)整 cost。)

準(zhǔn)則 1:比 Bridge ID,小的勝出
準(zhǔn)則 2:比 Root Cost,小的勝出
準(zhǔn)則 3:比對(duì)方的 Bridge ID,小的勝出
準(zhǔn)則 4:比對(duì)方的 Port ID,小的勝出

由於 SW1 的 Fa0/1 與 Fa0/2 都接上同一隻 Switch,因此「對(duì)方的 Bridge ID」必然相同,所以準(zhǔn)則 3 仍無法分勝負(fù)。

準(zhǔn)則 1:比 Bridge ID,小的勝出
準(zhǔn)則 2:比 Root Cost,小的勝出
準(zhǔn)則 3:比對(duì)方的 Bridge ID,小的勝出
準(zhǔn)則 4:比對(duì)方的 Port ID,小的勝出

從 SW2 可以查看 Fa0/5 和 Fa0/6 的 Port ID 分別是 128.5 和 128.6,由於 128.5 比較小,與其連接著的 SW1 的 Fa0/1 便成為 Root Port 了。由於 Interface Number 不能更改,因此準(zhǔn)則 4 必能分勝負(fù)。

SW2#show spanning-tree | begin Interface
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/5            Desg FWD 19        128.5    P2p
Fa0/6            Desg FWD 19        128.6    P2p
SW1#show spanning-tree | begin Interface
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Root FWD 19        128.1    P2p
Fa0/2            Altn BLK 19        128.2    P2p

如果想改變 Port Priority,可用 spanning-tree port-priority ,例如試試把 SW2 的 Fa0/6 的 Port Priority 改為 64。

SW2(config)#interface fastEthernet 0/6
SW2(config-if)#spanning-tree port-priority 64
SW2#show spanning-tree | begin Interface
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/5            Desg FWD 19        128.5    P2p
Fa0/6            Desg FWD 19         64.6    P2p

於是 SW1 的 Fa0/2 成為 Root Port,因?yàn)闇?zhǔn)則 4,對(duì)方的 Port ID 比較小。

SW1#show spanning-tree | begin Interface
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Altn BLK 19        128.1    P2p
Fa0/2            Root FWD 19        128.2    P2p

spanning tree protocol

Step 3: 選擇 Designated Port 與 Blocked Port

與 Root Port 相對(duì)的 Port 必然成為 Designated Port,因此 SW2 的 Fa0/6 順理成章變成 Designated Port。問題在於 SW1 的 Fa0/1 與 SW2 的 Fa0/5 誰勝誰負(fù)?

準(zhǔn)則 1:比 Bridge ID,小的勝出 (不用準(zhǔn)則 1)
準(zhǔn)則 2:比 Root Cost,小的勝出
準(zhǔn)則 3:比對(duì)方的 Bridge ID,小的勝出
準(zhǔn)則 4:比對(duì)方的 Port ID,小的勝出

準(zhǔn)則 1:比 Bridge ID,小的勝出
準(zhǔn)則 2:比 Root Cost,小的勝出
準(zhǔn)則 3:比對(duì)方的 Bridge ID,小的勝出
準(zhǔn)則 4:比對(duì)方的 Port ID,小的勝出

SW2 的 Root Cost 當(dāng)然 比 SW1 小,所以 SW2 的 Fa0/5 勝出成為 Designated Port,而 SW1 的 Fa0/1 會(huì)成為 Non-Designated Port (Blocking)。(也有教學(xué)說 Root Switch 的 Port 必然是 Designated Port,記憶方法不同,道理相同。)

spanning tree protocol

BPDU

Bridge Protocol Data Unit (BPDU) 是 Switch 間用來傳送 STP 資訊的 Frame,BPDU 裡的資訊包括:Bridge ID、Cost 和 Port ID 等。一個(gè)網(wǎng)絡(luò)中應(yīng)該只有 Root Switch 發(fā)放 BPDU,不過當(dāng)任何一隻 Switch 剛啟動(dòng)時(shí),它都會(huì)認(rèn)為自己是 Root Switch 而發(fā)放 BPDU,直至它收到一個(gè)包含 Bridge ID 較小的 BPDU (稱為 Superior BPDU) 時(shí),它才知道自己在 Root Switch 選舉中落敗了而停止發(fā)放 BPDU。

BPDU 預(yù)設(shè)每 2 秒發(fā)放一次,稱為 BPDU Hello Time,而 Switch 接收到的 BPDU 只會(huì)被儲(chǔ)存 20 秒 (Max-age),即是說如果 Switch 過了 20 秒也沒有收到 BPDU,也沒有在其他 Port 收到 BPDU 的話,就會(huì)判斷 Root Switch 已經(jīng)死了,它又會(huì)再次認(rèn)定自己是 Root Switch,再次發(fā)放 BPDU 了。STP 還有另一個(gè) Timer 稱為 Forward Delay,是用作調(diào)校 Listening 和 Learning 狀態(tài)的時(shí)間,關(guān)於 Listening 和 Learning 狀態(tài)會(huì)在下一節(jié)說明。

如果想知道 Timer 的設(shè)定值,可以用 show spanning-tree vlan  指令。

SW1#show spanning-tree vlan 1

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     0014.f21e.4980
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    24577  (priority 24576 sys-id-ext 1)
             Address     0014.f21e.4980
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 300

<--Output Omitted-->

更改這些 Timer 的指令如下:

SW1(config)#spanning-tree vlan 1 hello-time 4
SW1(config)#spanning-tree vlan 1 max-age 26
SW1(config)#spanning-tree vlan 1 forward-time 20
SW1#show spanning-tree vlan 1

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     0014.f21e.4980
             This bridge is the root
             Hello Time   4 sec  Max Age 26 sec  Forward Delay 20 sec

  Bridge ID  Priority    24577  (priority 24576 sys-id-ext 1)
             Address     0014.f21e.4980
             Hello Time   4 sec  Max Age 26 sec  Forward Delay 20 sec
             Aging Time 300

<--Output Omitted-->

我們也可以叫 Switch 自動(dòng)調(diào)整這 3 個(gè) Timer,只要告訴 Root Switch 網(wǎng)絡(luò)的 Diameter 是多少,所謂 Diameter 就是網(wǎng)絡(luò)由一端去到另一端最遠(yuǎn)跳過多少隻 Switch?即由一邊去到另一邊有多遠(yuǎn)?Switch 會(huì)按這個(gè)距離去設(shè)定 Timer:

SW1(config)#spanning-tree vlan 1 root primary diameter ?
  <2-7>  Maximum number of bridges between any two end nodes

SW1(config)#spanning-tree vlan 1 root primary diameter 5
SW1(config)#end
SW1#show spanning-tree vlan 1

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     0014.f21e.4980
             This bridge is the root
             Hello Time   2 sec  Max Age 16 sec  Forward Delay 12 sec

  Bridge ID  Priority    24577  (priority 24576 sys-id-ext 1)
             Address     0014.f21e.4980
             Hello Time   2 sec  Max Age 16 sec  Forward Delay 12 sec
             Aging Time 300

<--Output Omitted-->

由於更改 STP 的 Timer 有一定風(fēng)險(xiǎn),如果設(shè)定值不理想會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓,因此不建議更改,就算要更改都請(qǐng)盡量使用 Diameter 指令,這樣可以使用 Cisco 的建議值,Diameter 與 Timer 的對(duì)照表如下:

Diameter234567
Hello Time222222
Max Age101214 161820
Forward Delay7910121315

Port State

在 STP 中,一個(gè) Port 由 Down 變成 Up,中間經(jīng)歷了幾個(gè)狀態(tài),了解這些狀態(tài)是學(xué)習(xí) STP 重要的一環(huán)。

Disabled

Port 被 Shutdown 了,在這狀態(tài)下該 Port 不會(huì)傳送或接收任何 Frame。

Blocking

不會(huì)傳送或接收 Data Frame,但仍會(huì)接收 BPDU,目的是 Blocking Port 有需要知道現(xiàn)時(shí) Spanning Tree 的狀態(tài),當(dāng)有需要時(shí)可以跳到 Listening。為了防止 Loop 發(fā)生,一隻 Switch 啟動(dòng)時(shí),所有 Port 都會(huì)先進(jìn)入 Blocking。

Listening

當(dāng) Switch 知道某個(gè) Port 需要啟動(dòng)時(shí),就會(huì)把 Port 由 Blocking 轉(zhuǎn)到 Listening,在這個(gè)狀態(tài)下,Port 會(huì)傳送及接收 BPDU,但仍不會(huì)傳送 Data Frame,它會(huì)參與 Root Switch 選舉、Root Port 選舉和 Designated Port 選舉。這個(gè)狀態(tài)會(huì)維持一個(gè) Forward Delay 的時(shí)間 (預(yù)設(shè) 15 秒)。

Learning

如果一個(gè) Port 在選舉時(shí)成功成為 Root Port 或 Designated Port,它便會(huì)進(jìn)入 Learning,Port 會(huì)收發(fā) BPDU,而且會(huì)開始留意傳過來的 Data Frame,把 MAC Address 記錄到 MAC Address Table,但仍然不會(huì)傳送 Data Frame,這樣做的目的是希望這個(gè) port 在開始工作之前,先盡量記錄 MAC Address,免得稍後時(shí)間需要把 Frame Flood 到所有 Port 而製造不必要的 Traffic。這個(gè)狀態(tài)會(huì)維持一個(gè) Forward Delay 的時(shí)間 (預(yù)設(shè) 15 秒)。

Forwarding


當(dāng)前題目:spanningtreeprotocol
文章轉(zhuǎn)載:http://weahome.cn/article/gjiggc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部