CCNP4

企業三層架構(內網架構)
  1. 接入層----常使用二層交換機,就近提供接口密度,用於用戶的接入
  2. 匯聚層(分佈式)----集合所有接入層流量(星型),對流量實施管理和策略
  3. 核心層----路由轉發、高速轉發、nat、QOS

BCMSN
(Building Cisco Multilayer Switched Networks)----組建Cisco多層交換網絡

其中交換技術主要應用於匯聚層和接入層
(VLAN/Trunk/VTP/DTP/STP/CHANNEL/HSRP…/VPC等)

三層架構中最重要的思想爲冗餘(備份)
線路冗餘----設備冗餘----網關冗餘----USP(電源冗餘)


SPF(生成樹協議)

線路冗餘----二層的橋接環路

  1. 廣播風暴
  2. MAC地址表的瘋狂翻滾
  3. 同一幀數據不斷被複制
生成樹協議

----樹根設備到每臺交換機僅存在一條鏈路(儘量最佳),邏輯的阻塞部分接口,當最佳鏈路故障時,阻塞端口被打開,來恢復通訊

所有的生成樹協議 使用的是一種BPDU(網橋協議數據單元)的數據幀來進行溝通----跨層封裝到二層

注: BPDU數據幀默認不屬於任何一個VLAN,故在存在VLAN的設備上,該數據幀基於native VLAN發送

BPDU包頭:
在這裏插入圖片描述

三類BPDU

  1. 配置BPDU
    ----拓撲收斂完成後,僅根網橋週期(2s)發送,在沒有根網橋的時候,所有的設備僅發送BPDU:選舉根網橋發佈拓撲信息週期保活鏈路
  2. 拓撲變更消息TCN
    ---- 包中不包含任何具體信息,也不會導致網絡重新收斂:
    當一臺交換機的阻塞端口鏈路被斷開,那麼將標記位中第七位置1,標識拓撲已經改變,該BPDU將發送到根網橋處,根網橋使用標記位中第0位,來表示確認;若沒有收到ack,那麼2s週期發送TCN;根網橋在確認後,將使用BPDU告訴所有的非根網橋,刷新cam表
  3. 次優BPDU
    ----非根網橋上的根端口斷開----接收不到根網橋的BPDU了,同時本地斷開的也不是阻塞端口,那麼本地將自己定義爲根網橋,發出BPDU,由於該BPDU次於根網橋的BPDU,故稱爲次優BPDU

總結:

  1. 根網橋發配置BPDU,包含拓撲信息
  2. 非根網橋的阻塞端口被斷開,同時依然可以與根網橋溝通,那麼發送TCN,不包含拓撲信息,不會使網絡重新收斂,只是讓大家刷新cam表
  3. 非根網橋上斷開了根端口後,若不能再與根網橋溝通,將本地定義爲根網橋發送次優BPDU,包含本地的拓撲信息----也是配置BPDU,但不是根網橋的

802.1D

是最早的SPF算法

算法在計算過程中,將選出四種角色: 根網橋根端口指定端口非指定端口

【1】根網橋:樹根、核心
在一個生成樹實例中有且僅有一臺;在沒有根網橋時,所有交換機均認爲本地是根網橋,發出BPDU;進行選舉

比較BPDU中的BID----橋ID ==== 網橋優先級+MAC地址(數值小的)

先比較所有設備的優先級,0-65535 默認所有設備爲32768;小優;
優先級相同的情況下比較MAC地址,數值小優

注: 能進行生成樹運算的交換機出廠是帶有MAC地址的,而沒有生成樹的交換機被稱爲透明交換機

【2】根端口
在每臺非根網橋上有且僅有一個,本地離根網橋最近的接口;該接口用於接收來自根的BPDU,同時該接口也用於收發用戶的數據

根端口選舉條件:
1. 入方向最小cost值
2. 比較該接口對端(上級)的設備的BID;小優
3. 比較該接口對端(上級)設備的PID;小優
4. 比較本地PID
-
補充知識點: PID=端口ID ==== 接口優先級 0-255 默認爲128 + 接口編號
cost值: 10M=100 100M=19 1000M=4 10000M=2 >10000M=1
連接電腦的交換機的接口也會參加生成樹運算

【3】指定端口
在每根網線上有且僅有一個;轉發來自根的BPDU;同時轉發用戶流量;根端口的對端肯定是指定端口;根網橋上所有接口均爲指定端口

指定端口選舉條件:
1. 比較從該接口發出BPDU的cost值
2. 比較本地的BID,小優
3. 比較本地PID,小優
4. 直接阻塞端口

【4】非指定端口
----阻塞端口 以上所有角色全部完成,那麼剩餘所有的爲非指定端口 ----邏輯阻塞,可以接收到流量;但不能轉發

【5】接口狀態

接口狀態
Down 接口指示燈未亮起,網線剛剛連接,不能收發BPDU
偵聽 接口指示燈爲橙色,進行BPDU收發,選舉各種角色 時長爲15s,指定端口和根端口進入到下一個狀態;非指定端口進入阻塞狀態,指示燈一致保持爲橙色
學習 接口指示燈爲橙色,根端口和指定端口學習各個接口下方連接的PC的MAC地址;生成MAC表;15s時長結束後進入下一狀態
轉發 接口指示燈爲綠色,收斂完成;可以正常轉發用戶的數據;在30s內接口是轉發用戶數據
阻塞 非指定端口在偵聽完成後,進入的狀態;指示燈一致保持爲橙色

【6】收斂時間

  1. 初次收斂----30s

  2. 結構突變

    1.)存在直連檢測----本地只有一個阻塞端口可以收到BPDU;該接口直接進入偵聽和學習狀態,需要30s轉換爲根端口
    2.)沒有直連檢測----阻塞端口需要20s holdtime+30s收斂=50s;20s的holdtime是因爲阻塞端口一直在等最優BPDU,過了20s才能收到次優BPDU,然後才進入偵聽學習狀態30s

802.1D算法的缺點:

  1. 收斂速度慢
  2. 鏈路利用率低 備份鏈路在最佳路徑存在時一直閒置

PVST

基於VLAN的生成樹

在每個vlan中存在一棵生成樹,通過將不同生成樹的根放置於不同匯聚層位置,來實現鏈路利用率的提高

每個VLAN發出一個BPDU;各個VLAN進行自己的802.1D計算

爲了區分不同VLAN發出的BPDU,使用網橋優先級+VLAN ID

注: 若需要一臺交換機加入到一個vlan的生成樹中;前提是該交換機創建該vlan,連接了該vlan的用戶----本地有接口劃分到vlan2,且雙up;或者本地存在雙up的trunk幹道

干涉選舉的命令:
1.修改優先級,但必須爲4096的倍數

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

PVST算法的缺點:

  1. 收斂慢
  2. cisco私有
  3. 樹多,帶寬和設備硬件資源均佔用(cisco設備存在一個專用芯片來進行多生成樹運行)
  4. 僅支持接口封裝爲ISL的trunk幹道

PVST+

在PVST基礎上進行了升級;目標大多數cisco設備默認使用的STP協議

升級點:

  1. 支持802.1q封裝
  2. 可以做部分的加速收斂

干涉選舉的命令:

  1. 修改優先級,但必須爲4096的倍數
sw1(config)#spanning-tree vlan 2 priority ?
<0-61440> bridge priority in increments of 4096
  1. 直接設置主根和備份根
sw1(config)#spanning-tree vlan 2 root primary   本地爲vlan2主根
sw1(config)#spanning-tree vlan 1 root secondary  本地爲vlan1 的備份根

注:該命令不一定完全生效;主根命令是本地優先級下降2個4096
備份根命令是本地優先級下降1個4096

  1. 修改接口優先級或者cost值
CORE(config)#interface f0/1
CORE(config-if)#spanning-tree vlan 2 port-priority ?
  <0-240>  port priority in increments of 16  必須以16的倍數來修改

CORE(config-if)#spanning-tree vlan 2 cost ?  修改cost值
  <1-200000000>  Change an interface's per VLAN spanning tree path cost 

如何加速:

  1. 端口加速
    連接PC的接口,開啓端口加速後;一旦連線,直接爲轉發狀態
Switch(config)#interface fastEthernet 0/16
Switch(config-if)#spanning-tree portfast    不能用於連接其他交換機的接口

CORE(config)#interface f0/1
CORE(config-if)#switchport host   主機接口
該接口同時寫入兩條命令
switchport mode access 
spanning-tree portfast 


CORE(config)#spanning-tree portfast default  全局下開啓端口加速,對trunk幹道不生效
  1. 上行鏈路加速
    在設備上配置上行鏈路加速後,一旦該交換機滿足直連檢測條目,該阻塞端口直接成爲根端口,進入轉發狀態
CORE(config)#spanning-tree uplinkfast   只能在接入層設備上配置

注: 該命令一旦配置,那麼該交換機的網橋優先級和接口cost值將會加大;
其意義在於存在阻塞端口的設備纔會存在直連檢測,而阻塞端口最好在接入層設備上;故加大優先級和cost值,在於放棄成爲根網橋,儘量成爲阻塞端口

  1. 骨幹加速
    當阻塞接收到次優BPDU,那麼該接口取消20s hold time,進入30s收斂
該命令所有設備均可配置
CORE(config)#spanning-tree backbonefast 

PVST+算法的缺點:

  1. 私有協議
  2. 樹多
  3. 加速不夠徹底

802.1W(非cisco) RSTP(cisco)

RSTP可以兼容802.1W,802.1W也是目前非cisco產品大多的默認協議

802.1W----非cisco產品的快速生成樹協議----對802.1D的提速----一棵樹
RSTP----cisco產品的快速生成樹協議----對PVST+的提速----每個VLAN一棵樹
兩種協議,均爲快速收斂1-2s完成收斂,提速的原理一致;區別在於cisco有基於vlan的運算芯片,故RSTP依然一個vlan一棵樹;802.1w整個交換網絡一棵樹

快速的原理:

  1. 取消了計時器,而是在一個狀態工作完成後,直接進入下一狀態
  2. 分段式同步,兩臺設備間逐級收斂;使用請求和同意標記;依賴標記位的第1和第6位
  3. BPDU的保活爲6s;hello time 2s
  4. 將端口加速(邊緣接口)、上行鏈路加速、骨幹加速集成了
  5. 兼容802.1d和PVST,但802.1d和PVST沒有使用標記位中的第1-6位,故不能快速收斂;因此如果網絡中有一臺設備不支持快速收斂,那麼其他開啓快速收斂的設備也不能快速
  6. 當tcn消息出現時,不需要等待根網橋的BPDU,就可以刷新本地的cam表

狀態變化: 將阻塞狀態和偵聽狀態 合爲丟棄狀態
角色變化: 將非指定端口爲AP-替代接口 BP-備份接口
注: 無論AP還是BP其實就是802.1D中的阻塞端口,AP爲對端設備,BP爲本端設備

啓動快速生成樹,所有交換機全部需要啓動

sw1(config)#spanning-tree mode rapid-pvst 

注:所有干涉選舉的命令和pvst+一致

切記:
默認接口爲半雙工(10M)時,接口類型爲共享;全雙工時爲點到點;
共享型接口依然運行慢速生成;只有點到點接口可以快速;
故建議將共享型接口修改爲點到點型
要修改接口類型,那麼全網都要進行修改

sw1(config)#interface range ethernet 0/0 -1
sw1(config-if-range)#spanning-tree link-type point-to-point 

802.1S(非cisco) MST(cisco)

分組式的生成樹

將多個vlan放置在一個組內,爲每個組生成一個樹,樹型算法爲802.1w;將不同組的根網橋放置到不同的匯聚層設備處,可以流量的分載,提供鏈路利用率

不同組發出的BPDU,使用網橋優先級區分 ==== 優先級+組ID
優先級默認爲32768,只能以4096的倍數來進行修改

sw1(config)#spanning-tree mode mst  修改協議
默認存在組0,且默認所有vlan處於組0;
sw1#show spanning-tree mst 0

sw1(config)#spanning-tree mst configuration 配置MST
sw1(config-mst)#instance 1 vlan 1-50   將vlan1-50劃分到組1
sw1(config-mst)#instance 2 vlan 51-100 將vlan51-100劃分到組2

切記:

  1. 所有運行MST協議的設備,分組內容必須完全一致,否則將可能出現故障
  2. 整個交換機需要所有設備均使用MST協議,才進行部署(MST不能和RSTP/802.1W兼容)
定義根網橋,備份根網橋的位置
sw1(config)#spanning-tree mst 1 root primary    降24096
sw1(config)#spanning-tree mst 2 root secondary  降14096

sw1(config)#interface e0/0  修改參選接口的參數
sw1(config-if)#spanning-tree mst 1 ?
  cost           Change the interface spanning tree path cost for an instance
  port-priority  Change the spanning tree port priority for an instance

STP安全

【1】BPDU保護
接入層默認接口爲DP(指定端口),該端口連接的是PC

若該接口的PC被更換、用戶模擬自己成爲一臺交換機,那麼可能導致根網橋轉移,最終迫使網絡結構發生變化,因爲根網橋最佳設置應該在匯聚層,而新的結構將可能改變該特性,導致網絡運行不佳,流量集中於接入層設備;

可以將這些接口開啓BPDU保護功能;被保護接口若收到BPDU,那麼將進行錯誤關閉狀態;

sw2(config)#interface e0/0
sw2(config-if)#spanning-tree bpduguard enable  
在接入層連接用戶的接口上,開啓BPDU保護功能  

被保護接口若接收到BPDU將錯誤關閉

sw2#show interfaces e0/0
Ethernet0/0 is down, line protocol is down (err-disabled)

若接口出現了錯誤關閉,可以查看導致原因

sw2#show interfaces status err-disabled 
Port      Name               Status       Reason
Et0/0                        err-disabled   bpduguard

進入錯誤狀態的接口狀態和協議均down,若需要重新喚醒該接口:

  1. 手工重啓----先關閉再開啓
  2. 自動啓動----需要人配置,配置後若該接口在300s內沒有收到BPDU了,那麼將自動開啓
sw2(config)#errdisable recovery cause bpduguard  當BPDU保護出現後的自動重啓
sw2#show errdisable recovery  查看各種錯誤的原因狀態

sw2(config)#errdisable recovery interval ?  默認300s收不到BPDU將自動重啓
  <30-86400>  timer-interval(sec)        修改計時器,最小30s

全局配置

在接入層接口上,開啓所有接口的端口加速和所有接口的BPDU保護
sw2(config)#spanning-tree portfast bpduguard
全局開啓後,還需要到上行鏈路上進行BPDU保護的關閉
sw2(config)#interface e0/0   
sw2(config-if)#spanning-tree bpduguard disable   關閉單個接口的BPDU保護

sw2#show spanning-tree summary totals  查看各種全局協議的配置

【2】BPDU 過濾
開啓BPDU過濾後,若接入層接口收到BPDU信息,將僅丟棄BPDU數據幀,正常轉發用戶流量

sw2(config)#interface e0/0  接口開啓或關閉
sw2(config-if)#spanning-tree bpdufilter ?      
  disable  Disable BPDU filtering for this interface
  enable   Enable BPDU filtering for this interface

sw2(config)#spanning-tree portfast  bpdufilter default  全局開啓
注:全局開啓後,需要在上行鏈路接口手工關閉

總結: 保護和過濾除了對接口的處理方式不同,還存在一個區別:保護是拒絕接收BPDU,但可以發送;過濾是收發均拒絕

【3】根網橋保護
若網絡中增添了新的交換機,其BID最優;那麼將搶佔網絡的根網橋,導致拓撲結構變化;
在接口開啓根橋保活後,若交換機的接口接收到了更優BPDU時,將該接口阻塞;直到該接口不再收到更優BPDU才恢復

sw2(config)#interface e0/0
sw2(config-if)#spanning-tree guard root 接口開啓根網保護

開啓根橋保護的接口,在接收到更優BPDU時,將阻塞;進入broken狀態,顯示與根不一致

sw2#show spanning-tree interface ethernet 0/0 detail 
 Port 1 (Ethernet0/0) of VLAN0001 is broken  (Root Inconsistent)

sw2#show spanning-tree
Et0/0               Desg BKN*100       128.1    Shr *ROOT_Inc  
不一致接口在生成樹列表中的顯示

sw2#show spanning-tree inconsistentports  查看出現不一致的接口
Name                 Interface              Inconsistency
-------------------- ---------------------- ------------------
VLAN0001             Ethernet0/0            Root Inconsistent

Number of inconsistent ports (segments) in the system : 1

總結:
BPDU保護和過濾配置在所有的接入層連接PC接口
Root 保護建議配置在新連接交換機的接口,來避免網絡的重新收斂


環路保護

單向鏈路故障—尤其在光纖網絡,很可能出現可以接收但不能發送;一旦出現單向鏈路故障,網絡即使存在STP,也依然可能出現環路

解決方法:
【1】UDLD --當一根網線出現單向鏈路故障時,直接關閉該接口
【2】LOOP GUARD ----開啓後,僅針對BPDU包,識別爲單向鏈路故障,先對該接口進行阻塞,然後自動恢復

sw2(config)#interface e0/0
sw2(config-if)#spanning-tree guard loop  開啓命令

總結: UDLD和loop gurad區別

  1. UDLD被觸發後,接口被err-disable;然後需要手工重啓 或設置自動重啓
    Loop guard被觸發後,自動阻塞然後恢復接口的
  2. UDLD用於處理硬件的單向問題,loop guard被用於處理軟件問題(接口擁塞,CPU過載)

建議兩種技術均配置

發佈了88 篇原創文章 · 獲贊 7 · 訪問量 4820
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章