STP 生成树协议
作用消除网络中的环路,在网络部署中会有冗余,设备冗余线路冗余,所有要有生成树协议。
下面介绍生成树选举的过程。
公有标准 STP RSTP MSTP
思科的 PVST PVST+ RPVST/RPVST+ 思科的可以基于VLAN做
核心是选举过程
选根桥--------------------------------------------
选择的步骤
1 选择根桥 选择一个最好的交换机
2 选择根端口RP 转发状态 意思是非根桥哪个端口到根桥最好
3 选择指定端口DP 转发状态 在交换机所有的LINE 上选一个最好的端口
4 选择非指定端口 阻塞状态 剩下的就是阻塞端口
先选根桥,再选根端口,在选指定端口 剩下的阻塞端口
根桥-(选一个交换机)–>RP(每个非根桥的交换机选一个端口)—>DP(每条线选一个端口)------>剩下的就是阻塞端口(橘色的颜色)
选举过程: 根据上面的过程来选择
根桥的选举过程
1.比较BID 越小越优先
BID 几部分组成 优先级 MAC 地址 交换机MAC 地址是唯一的,优先级默认一样 都是32768
默认情况下 看MAC 地址就可以了
既然可以从MAC 地址区别,为什么还要优先级,原因就是 要修改根桥,改MAC 地址不方便,所以可以通过改优先级 地址来实现修改MAC 地址。来控制选举。
如下图1所示 两个交换机 分别叫SW0 和SW1 在特权模式下(#模式下)执行命令如图2所示的1标识,查看生成树。其中2所示 交换机的bid 其中3是他的MAC 地址。
然后依葫芦画瓢查看交换机SW1的MAC地址注意,如下图3箭头所示。那么大家思考一下,根桥选举是比较BID 越小越优先
显然是SW1的MAC 地址小,所以SW1被选成了根桥。
然后注意看SW1的ROOTID 和BID 你发现了么,ROOTID 和BID 一样,所以ROOTID 和BID 一样 那么这机器就是根桥。然后看如图2,发现ROOTID 就是根桥ID 写的地址是SW1的。
图一:
图二SW0:
图三SW1:
总结上述:
选根桥:Bridge ID越小越优先
根桥的Bridge ID==Root ID
选择完根桥以后,要选择根端口RP---------------------
2.根端口的选择方法: (注释2)
1 比较端口到根桥的COST 越小越优先
2 比较端口相邻的交换机的BID,越小越优先
3 比较端口相邻的端口的PID 越小越优先
关于第一条,可以简单理解成带宽 100M 10M COST 通过带宽算出来的带宽越大,
COST 越小。100M的成本是19 10M 的成本是100 1000M的成本是1
第二,记得是比较对方的BID 谁小谁优先,
第三,如果对方的BID 一样,那比较对方端口的PID 就是端口ID 谁小谁优先
然后思考一个问题,对方的BID 怎么会一样呢? BID 是优先级和MAC地址。
优先级默认相同,不是MAC地址都是唯一的么,怎么会有相同的BID
其实第三点的意思是,两个交换机做线路冗余,两根线连在同一交换机上。
如下图4所示,首先ROOTID 是SW1。然后我做个线路冗余,上面那根100M,下面那个10M(我随便定义的其实都是100M)在这个情况下。对于SW0 来说谁是根端口呢?如(注释2)先比较COST 越小越优先,所以F0/1是根端口、
那如果都是100M 线呢?这个时候COST 相同,比较BID,BID就是看SW0的端口连接到的交换机的的BID 大小,在这里,会发现居然相同。因为连的是同一台交换机。
所以要比较第三项,就是比较相邻端口的PID,越小越优先,这这里SW0上的F0/1接的是SW1上的F0/1 ,F0/2接的是F0/2 那么 把SW0上的F0/1选成了根端口。这里不需要指定端口的选择,那么SW0 上的F0/2就是阻塞端口,如下图4所示。亮橘色的灯。
图四:
思考下面的图5谁是指定端口呢? 右边SW1是根桥。
图5:
答案:F0/1
选指定端口DP----------------------------------------
再换一张图,下图注意一下,参数我随便填的。不能以橘色的点来看阻塞端口。那么下面的图6谁是根桥,谁是根端口,谁是阻塞端口呢?
图6:
首先 选择根桥,在优先级都相同的情况下 选择MAC 地址越小越优先,那么SW1是根桥。
然后选举根端口。
我们顺时针方向的交换机上选择根端口。所有非根桥上选举根端口。
对于交换机SW2上 F0/1和F0/2 先看COST F0/1 到根桥COST 19 F0/2过去是3个19
所以F0/1是根端口(RP)
对于交换机SW3来说,两边过去COST都一样,这样比较对面交换机的BID 这时候 SW4小,所以对于SW3来说,他的F0/1是根端口。(RP)
然后对于SW4来说,如SW2一样,根端口是F0/1(RP)
接下来还有选择指定端口。
选指定端口就是,比较交换机到根桥的累加路径的COST 越小越优先。
比较交换机的BID 越小越优先。 注意这个比较每条线都要做。
根桥的口都是指定端口,到自己的成本当然是0
有根桥在的线不要选了。
指定端口叫DP
如上图6,对于SW4和SW3 相连的线,先比较交换机的COST 一个是19,另一个两个19.那么SW4上的F0/2是指定端口(DP)。
再看SW3和SW2连接的线。同理可以判断,SW2上的F0/2是指定端口(DP)。
然后剩一个 SW3上的F0/2 没有角色 就是阻塞端口。
换一个复杂一点的
图7:
根桥:sw3
根端口(RP):sw2根端口(RP)是Gig0/1,sw1的根端口(RP)是Gig0/1
sw4根端口是Gig0/1
指定端口(DP):
根桥是SW3
然后选择根端口。
在SW2 SHANG 根端口是G0/1
SW1上根端是G0/1 因为COST相同比较BID SW4的小所以是G0/1
然后SW4的根端口,选个COST 小的是G0/1
再找指定端口 和根桥连线的指定端口都在根桥上,然后看线路SW1和SW2连的,显然是SW2上的G02
然后看SW1和SW4连的,显然是SW4上G0/2