铺垫
组网:三台交换机和两台主机
环路产生的问题
广播风暴:
A想要发送信息给B会发送一个ARP广播,SWB,SWA,SWC都会泛洪,然后就产生环路了
特征:充斥大量广播报文,和环路
铺垫
设置主机a的mac是maca
设置主机b的mac是macb
MAC地址表震荡:
思路:当主机a通过arp发送报文时候产生环路,转了一圈后swb的右端口携带maca把主机a的maca丢掉
(交换机学习的原理)
正文如何解决上面问题,通过STP
pc1和pc2在同一网段按照常理是能互相通信的
造成广播风暴了
开启stp协议,就能通信了(三台交换机都开)
arp广播变为stp协议了
网络也通了
STP原理
#stp也叫破环协议
交换机之间通过多条链路时,容易造成环路
stp作用
STP的作用:通过阻塞端口来消除环路,并能够实现链路备份的目的
为什么叫生成树:因为树无环,在逻辑上破环,不让他发送报文了,不让发送用户的流量,这样就没有环路了
stp作用2:备份
当一个端口没了,,该线路的网线任然连接,发现一个接口down掉了,但是还可以通过另外两条来进行数据传输,不影响整体
STP的操作
#在这里桥就是交换机
交换机ABC可以互相通信
交换机之间的通话叫BPDU,由根桥发送BPDU,非根桥只能转发BPDU
根桥选举
每一台STP启动后都认为自己是根桥,那我们怎么选举呢
根桥(ROOT)选举
每台交换机都有桥id
桥id:唯一标识STP网络中的一台交换机
桥ID的构成:由优先级+MAC地址
优先级:如图4096就是优先级,由数字构成,范围是0-65535,默认值是32768,步长是4096
步长解释:0 4096 8192(4096+4096)
如何查看:stp priority ?
为什么这里是0-61440因为是华为使用的
选举过程中:
1: 数值越小,优先级越高
2:如果优先级无法比较就比较MAC地址,MAC越小优先级越高
补充:可以不看优先级只看MAC地址选举,因为MAC地址是唯一的,但是还是要优先级,方便管理
STP协议目的是破环,阻塞一个端口
阻塞端口怎么来呢
根端口(RP–Root Port):非根桥上的端口,到达根桥最近的端口叫根端口
RPC-ROOT PATH COST:根路径开销最小来选举
特性:有且只有一个
作用:根桥发送的BPDU,就是发送到非根桥的RP里面。
根端口如何选举:
1:首先比较根路径开销(RPC),根路径开销小的成为RP
2:比较上游交换机的桥ID(如下图上游就是BC)
3:如果桥ID不能选出就选举上游交换机的端口ID
端口id:
端口优先级+端口号组成
端口优先级范围:0-240,默认值128,步长16
#int g0/0
4:比较本端口的端口id越小越优
举一反三:开销一样怎么选举根端口
如图:根路径开销都是20,那就比较桥ID,谁优选谁
指定端口选举
指定端口(DP):Design Port,DP可以没有RP必须有
转发根桥发送的BPDU
DP如何选举:
1:在链路上选举,到达根桥开销值最小,越小越优从BC上选举(链路上的开销值不算)从B到A是100,从BCA的开销值是10 所以C上的端口就是指定端口
2:如果开销值相同,就比较上游交换机的桥ID,越小越优
3:如果桥ID相同。比较端口ID
4:比较本交换机的端口id
思考:
#端口号是1234.端口3是根端口
12是指定端口,用来转发BPDU
因为RP必须有,DP可以没有 那么我们的4号端口就阻塞
阻塞端口(AP–Alternate Port)
如果该端口既不是RP也不是DP那就是AP
实验:选举根桥,DP,和AP
链路开销都是10,ABCD四台交换机
A的优先级是0 MAC-AA
B的优先级是4096 MAC-BB
c的优先级是32768 MAC-cc
D的优先级是 MAC-DD
首先A是根桥,因为优先级是0
BP:
B的1端口和D的3端口是RP
RP的对端一定是BP,不能堵
找c的根端口
1:12端口开销值都是20比较不出来
2:比较上游交换机的桥ID(优先级和MAC组成)比4096比不出来比mac,所以c的1端口是RP。那么B的3端口就是DP
比较中间链路选DP:因为开销值都是10,就比较上游的桥id B的更优,B的2端口就是DP,阻塞D的2端口
继续选举:通过比较阻塞C的2端口,
重点:所选举的链路上的开销值不算,根桥上的端口都是DP(转发BPDU)
破环成功
注意项
不是所有根桥上的端口都是DP,如果根桥上存在换还是的破环
端口状态转换
RP:Forwarding(可以转发用户流量)
DP:Forwarding(可以转发用户流量BPDU)
AP:Blocking(阻塞)不能转发用户流量