1.STP的技术背景
为了保证网络的可靠性和健壮性,对链路和设备做冗余部署 做了冗余,会形成二层环路----> 带来
1.广播风暴
2.重复的数据帧
3.不稳定的MAC地址表
要不要有冗余? 既要有冗余,又要从逻辑上消除环路----> 从逻辑上限制某个端口的数据转发功能。 自动化的实现:当网络出现单点故障的时候,被限制的端口,能够起到转发数据的功能。
2.STP的概念:
spanning tree
最终实现网络的逻辑上的无环,让整个网络,成为一个无环的树的形状。
通过STP协议,最终要找到一个接口,从逻辑上,把它阻塞掉。来消除二层上的环路。
为什么是这个端口被阻塞?其中需要进行一系列的选举,选举过程如下:
3.工作原理
BPDU :Bridge protocol data unit 桥协议 数据单元
交换机或者网桥之间周期性地发送: 每2s发送一次,当选举结束以后,根桥会以每2s一次的频率发送自己的BPD
BPDU的关键字段:
Root BID: 根桥的BID
根桥选举,依靠BPDU中的 BID: 优先级 + MAC地址
优先级的范围:0-65535 但是只能设置为 4096 的倍数
如果优先级一致,就比较MAC地址
MAC地址是唯一的,不可能相同
Root Path:达到根桥的开销,当交换机接收到BPDU的时候,会根据自己的链路带宽,修改 Root Path (cost)
COST值:
10MBps 100
100MBps 19
1GBps 4
10GBps 2
Sender BID:当根桥发出的BPDU,经过一台交换机的时候,这台交换机会把自己的 BID 写到 Sender-BID 的位置
Port id : 优先级+端口号 0-255 默认值 128
交换机接收BPDU:
当交换机接收了一个更优的BPDU(有最小的 Root-BID或者 Root Path),接收的端口就会保存这个BPDU。
4. STP的操作【选举】:
在每个广播域中选举出一个根网桥;
在非根交换机上,选根端口;
在空余的链路上,选出指定端口;
最后剩下的,这个端口就要被阻塞
4.1 在每个广播域中选举出一个 根网桥;
在选举开始的时候,所有的交换机都会认为自己是根桥,他们产生并相互发送自己的BPDU。比较BPDU中的Bridge-id:优先级+MAC地址,越小越优先 。
#查看Bridge-id
<Huawei>display stp
当根桥选举完成后,只有根桥能够自己产生BPDU,其他的非根桥负责接收和转发来自根桥的BPDU。
4.2 在非根交换机上,选出根端口
1.比较到达根桥的路径开销
根端口
每一台交换机在它自己的所有端口中,选择出一个端口作为根端口:
1.所有端口中选择出一个 离根桥最近的端口作为根端口 【到达根桥的路径开销(cost)最小】
2.如果Cost值相同,比较该接口收到的BPDU中的 Sender-BID
3.如果Send-BID也相同,则比较接口收到的BPDU中 Sender-PID
4.如果Sender-PID也相同,则比较自身接口的PID。
1对于LSW1和LSW2来说GE0/0/2端口比GE0/0/1端口更近
2 如果开销值相同:比较端口接收到的BPDU中 Sender-BID这一参数【即从对端交换机接收的BPDU,Sender-BID就是对端交换机的BPDU】
LSW4的两个端口对于根桥LSW3路径开销相同,比较端口接收到的BPDU中 Sender-BID这一参数,小的是根端口。
3 如果交换机的各个接口接收到BPDU中的 Sender-BID也相同,则比较 BPDU中的 Sender-PID
LSW5的两个端口对于根桥LSW3不仅路径开销相同,BID也相同,比较端口接收到的BPDU中 Sender-PID这一参数,小的是根端口。
4 如果交换机的各个接口接收到BPDU中的 Sender-PID也相同,则比较交换机端口的本地ID
LSW6的两个端口对于根桥LSW3,路径开销,BID,端口接收到的BPDU中 Sender-PID都相同,所以比较交换机端口的本地ID,小的是根端口。
4.3 在剩余的链路上,选举出指定端口:
1.一般情况下,根端口对面的接口都是指定端口
在剩余的链路中(这段链路没有根端口和指定端口)选举出指定端口
2.比较端口自身的交换机到达根桥的路径开销
3.如果开销值相同,则比较自身交换机的 BID
4.如果BID也相同,则比较交换机的PID
4.4剩下的就是阻塞的端口
4.5去掉阻塞的链路,就能看到一个无环的树
检查STP的选举情况:
根端口 :Root port
指定端口:Designation port
非指定:alternate backup 被阻塞了
display stp brief