拓撲,兩臺終端鏈接至同一臺交換機,交換機爲2層交換機,默認VLAN1 。使用PC1 ping PC2
網絡
查看交換機mac地址表app
dis mac-address
PC1的MAC(5489-9821-0EA9)映射在交換機的G0/0/24端口
PC2的MAC(5489-98e1-0a25)映射在交換機的G0/0/23端口
有了這個映射條目 ,交換機就能夠把接收的幀相互進行轉發
ide
此處還涉及到兩個概念,一個叫廣播,一個叫單播。所謂廣播,既廣而播之,單播爲定向。
交換機加電,加載IOS後,MAC條目都爲空。當PC1 ping PC2 時,交換機端口接收到包後就會發起廣播,尋找PC2的MAC地址。咱們在PC2就會看到廣播包,PC2將信息返給交換機。經過這樣一個問尋,就創建起了MAC地址列表。PC1 與 PC2 在之後的通訊過程當中就能夠直接看到對方,而無需再進行廣播。
學習
二層交換中會涉及到一個很是通用的概念,環路。即交換機產生了環路,環路會致使MAC學習混亂以及廣播風暴產生 ,致使網絡不可用。終其原理就是會在不一樣的端口學習到同一個MAC地址,致使交換機沒法正常處理,就會反覆的學習。沒法到達終態,很是吃資源。
拓撲
兩臺交換機關閉STP,模擬環路。3d
sys stp diable
在console界面,最顯著特徵就是會有mac flapping提示,表示有環路存在
code
RSTP 是STP的加版 ,須要設置主根。將SW01設置爲主根
sw1配置以下:blog
stp enable stp mode rstp stp root primary
sw2 sw3都開啓生成樹資源
stp enable stp mode rstp
sw01 爲主根
sw01,02,03 的端口狀態以下,sw02端口有阻塞,若是環路中其它端口發生了變化 ,down掉,sw02的端口就會放開,保證鏈路的暢通。
it
一、BPDU,橋接協議數據單元 ,用於存儲生成樹信息,並經過組播在交換機之間傳遞。BPDU傳遞的時間間隔默認爲2S
二、Bridge ID,用於選舉根交換機,由橋優先級和MAC組成。可配範圍:0-65535console
-------[CIST Global Info][Mode RSTP]------- CIST Bridge :0 .4c1f-cc05-4633
BID的規則 ,優先比較橋ID,橋ID越小優先級越高。若是優先級相同,則次比MAC地址,值越小優先級越高。
Port Cost,端口開銷,華爲說法,數據從端口發出時的開銷,接收無開銷。帶寬越高,開銷越小,帶寬與開銷成反比。開銷值能夠自定義(實驗能夠,但實際環境不建議,根據實際狀況來決定)
三、Root Port,根端口,離根交換機最近的端口,到根路徑開銷最小。
根路徑開銷(root path cost),非根交換機到根交換機最小開銷路徑
四、Desinged Port,轉發根交換機數據的端口
五、Alternate Port, 預備後補端口,實際上就是已經沒有實際數據轉發的端口,阻塞端口
Forwarding 轉發狀態 ,正常學習MAC,正常的端口狀態
Learning 只處理bpdu,不轉發流量,但正常學習MAC
Discarding 丟棄狀態,不轉發數據流量 ,只接收bpdu信息
stp如今沒有用的,5種端口狀態基本瞭解便可
前提: 全部交換機的鏈路都相同,鏈路的帶寬一致。
1>根橋選舉
在SW01上執行了,stp root primary ,根優先級便設置爲了0。優先級最高,那一定產生兩個DP端口。
2>RP端口選舉
根據RP端口定義,到根路徑開銷最小非根交換機的端口爲root port。經過拓撲,咱們能夠查看到SW02的G0/0/1到根交換機的開銷最小(直連) SW03的G0/0/2到根交換機的開銷最小,選舉爲根端口。
3>選舉指定端口、阻塞端口
如今只剩下最後一段鏈路,SW2和SW3。端口抓包ROOT PATH COST都同樣,此處使用了20000的值。那比較橋ID,SW3的梆ID最小。優先級高選舉爲DP端口,另外一側則爲ALER端口(discarding)
技巧:
根端口的選擇:把本身放到非根橋交換機的位置,沿着每一個端口可到達根橋,累加途經的帶寬開銷,開銷最小的那個端口勝出,便是根端口。
指定端口的選擇:把本身放在鏈路的中點,從鏈路的中點開始沿着兩個不一樣方向的端口到達根橋,累計途經的帶寬開銷,開銷最小的那個端口勝出,便是指定端口。