STP原理


端口協商參數:
    speed - 速率;
    duplex - 雙工模式
               半雙工 - 同一時刻,只能收或者發;
               全雙工 - 同一時刻,可以同時收和發;
建議:
    不同類型的設備之間進行互聯鏈路時,需要手動指定速率和雙工

========================================================

傳統交換網絡存在的問題:
       單點故障
       
解決方案:
       增加冗餘鏈路
       增加冗餘設備
           
           搞清楚環路是如何形成?

隨之而來的問題:
       數據轉發環路;
       產生環路的數據,會不斷的在網絡中進行傳輸,從而消耗
       網絡中鏈路資源和設備資源;
解決方案:
    在交換機上運行 STP 協議;  
       
-------------------------------------------------------       
STP(生成樹協議):
    樹:只要有這個字的協議搭建的網絡就不會存在環路問題。
    BID:網橋(交換機)的名字
    作用:
        存在冗餘鏈路的情況下,實現環路的防護;
    實現:
        BPDU —— 橋接協議數據單元
            Root——ID    //表示根交換機是誰;
            cost         //表示發送該BPDU的交換機距離;
            BID        //表示發送該BODU的交換機的名字;
            prot——ID    //表示發送方交換機是在哪個端口發送出來的;
                        組成:
                            端口優先級,端口號(優先級默認值爲128)
    分類:
        STP /PVST(30-50S收斂時間) / RSTP / MSTP


1、確定交換機角色
    根交換機    —— 一個vlan/lan 有且只有一個根
    非根交換機    —— 除了根,其他的都叫非根交換機
        選舉原則:
            比較BID,越小越好;
            BID組成——優先級+MAC
            優先級 ——默認32768
            MAC —— 交換機基MAC
            show version

2、確定端口角色
   根端口 - 每一個非根交換機只有一個距離根交換機最近的口
   指定端口 - 每一個“衝突域”中都存在一個距離根交換機最近的口
   非指定端口- 其他所有端口,都叫做非指定端口    
    
    如何表示“距離” ?
        在 STP 中,通過 cost 表示一個路徑的距離;
        對於某些鏈路,均有默認的 cost 值:
            10M - cost 100 ;
            100M - cost 19 ;
            1G - cost 4 ;
            10G - cost 2 ;
    BPDU -
      Root-ID   //表示根交換機是誰;
      Cost      //表示發送該BPDU的交換機到達 根交換機 的距離
      BID       //表示發送該BPDU的交換機的名字;
      Port-ID   //表示發送方交換機是在哪個端口發送出來的;
                   -組成:
                       端口優先級.端口號
                          -優先級默認值爲 128 ;

    

3、確定端口狀態
    disable            //相當於shutdown,此時端口不能使用;
    listening            //偵聽,該狀態偵聽的是BPDU,用於確定端口角色;
    learning            //學習,該狀態學習的是MAC,形成MAC地址表;
    fowarding            //轉發,即端口的最終轉發狀態;
        根端口、指定端口
    block                //堵塞,此時的端口是不可以發送數據的;
        非指定端口

     
修改交換機的 STP 優先級:
     SW2(config)#spanning-tree vlan 1 priority 0        

     導致的結果,此時網絡中的“根交換機”由 SW1 變成了 SW2 ;

     注意:
         當我們修改交換機的優先級的時候,發現問題:
        
SW2(config)#spanning-tree vlan 1 priority 1
% Bridge Priority must be in increments of 4096.
% Allowed values are:
  0     4096  8192  12288 16384 20480 24576 28672
  32768 36864 40960 45056 49152 53248 57344 61440        
        

    即:交換機的 STP 優先級必須得是 4096 的倍數;
 
開啓一個 VLAN 的 STP 協議:
    默認情況下,交換機爲每個 VLAN 打開了 STP ;
    想關閉:
         no spanning-tree vlan 200
    驗證:
         show spanning-tree
    
    
    
交換機如何區分不同 VLAN 的 BPDU :
    我們使用 BID 中的 2 個字節的優先級中的 低12 bit 作爲
    vlan 號 ;
    
    由此得出:
        前面2個字節的優先級字段,真正用來表示優先級的,僅有4bit ;
         所以呢優先級只能有 16 個 ;
        但是,在表示優先級數值的時候,後面的12bit,都必須算上
        同時,必須是0;
        即,每個交換機的 STP 的優先級,都是 2的12次方的 0-15
        倍數,即 4096的倍數;
=============================================================

STP收斂速度優化方案:
Port-fast特性:
    可以確保將 access 鏈路上連接的終端設備,直接從disale 狀態變成轉發狀態
    端口狀態轉換時間,從原來的30S降低爲0S;
        針對Access 鏈路——
        interface fas0/1            //連接的PC;
        switchport mode access
        swtichport access vlan 1
        spanning-tree portfast        //開啓port-fast功能
    驗證命令:
        show spanning-tree interface fas 0/1 portfast;

Uplink fast 特性:
    針對的是交換機之間的Trunk鏈路
    當交換機發現自己本身的鏈路出現故障以後,
    會快速的將備份鏈路轉換爲主鏈路進行使用,
    切換時間,從原來的30S,減爲爲0S,實現秒切,
    
    (該命令在模擬器上無法執行)
    配置命令:
        SW(config)#spanning-tree uplinkfast
    驗證命令
        SW#show spanning-tree summary

    注意:
        1、僅針對設備發現的直連故障的鏈路切換;
        2、僅在本地設備開啓即可,對端設備可以不開啓;
        3、STP的優先級,必須是默認的32768;




   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章