![23d4c55e62b5a4afac9fb90d3a144bae.png](https://i-blog.csdnimg.cn/blog_migrate/f351fbfb89da55b92c5f0b59774e5605.jpeg)
问题背景:
在二层交换中,简单的网络存在着不可避免的单点故障问题(分为单设备和单链路故障),假如我们如果想让网络变得健壮一点,就需要增加冗余链路,但是这样又会出现新的问题:二层环路。
![1071118da0e18a0a7ec85b666b4b081c.png](https://i-blog.csdnimg.cn/blog_migrate/a3dae6aa069c6c17e560690037c346b1.jpeg)
广播风暴:
![4c205129244910cbd2a997dfdf93dc1f.png](https://i-blog.csdnimg.cn/blog_migrate/bae251e12280a2e016307cc6de1c3827.jpeg)
多帧复制:
![cf3c512689576844a5018745be446bf9.png](https://i-blog.csdnimg.cn/blog_migrate/e9be7e005d08f9a0749cc016da905625.jpeg)
MAC表紊乱:
![74b48f4fc19a3bb345401959cff33f88.png](https://i-blog.csdnimg.cn/blog_migrate/3c4665ad4a3186ff70ad746714eaa8b4.jpeg)
因此,为了解决这对矛盾,我们采用STP生成树协议(Spaning-Tree Protocol)去解决环路带来的一系列问题!!!
解决方案:
![d394b1d03995ddd17e240c28792b29df.png](https://i-blog.csdnimg.cn/blog_migrate/193451a51dca126c99c32febc2af304a.jpeg)
STP的操作:
![160770c1f52cc2caacb344cb4a6aae58.png](https://i-blog.csdnimg.cn/blog_migrate/692b68478109cd7717565cdabc326f5d.jpeg)
1、为每一个广播域选择一个根桥
![39b362614dcdeaf86385a7f8136d99a1.png](https://i-blog.csdnimg.cn/blog_migrate/37a868ff1f7ed4c520dd03286fa545e1.jpeg)
BPDU:网桥协议数据单元(Bridge Protocol Data Unit)。是一种生成树协议问候数据包,它可以配置的间隔发出,用来在网络的网桥间进行信息交换。
![fcaa38f341ae76dfd04e6c4d8b98a759.png](https://i-blog.csdnimg.cn/blog_migrate/917e999f717ac5304c7369803ad8049e.jpeg)
2、为每一个非根桥选择一个根端口RP
![1f7860985ee9ec5db4c67c8f1d0f046b.png](https://i-blog.csdnimg.cn/blog_migrate/9ccd984ab260cdb448437cf74a64c24f.jpeg)
关于路径开销的计算:
![dccda3d3053e09d611a8643a6cbe172c.png](https://i-blog.csdnimg.cn/blog_migrate/7e6071af9ef2bdac9b851f2cd7f24007.jpeg)
![f5b40e56a32090e0ea11116144dfcf22.png](https://i-blog.csdnimg.cn/blog_migrate/0a340bdd2eeda79960c484c5a06de535.jpeg)
3、每个段选择一个指定端口DP
![c8e8f549e1e2e261b3cfdaeb73628cfe.png](https://i-blog.csdnimg.cn/blog_migrate/16779f0c7db38c98f89c694e3537a59d.jpeg)
4、阻塞非指定端口
![feae54f4d06ecf018de56cd2c6db6cf4.png](https://i-blog.csdnimg.cn/blog_migrate/dc75d914ad1112e661b4df64860f3eef.jpeg)
补充:STP端口状态
![6383aec138a5bb99b374ed14f1127e70.png](https://i-blog.csdnimg.cn/blog_migrate/ac4a1451b426372c60a6fa45ff2e0ebe.jpeg)
正常状态:RP和DP都将会处于Forwarding状态(转发并侦听数据帧,并学习mac地址)
在Blocking状态——>Forwarding状态需要经过一系列状态
Listening状态(侦听状态):只侦听数据帧,但不转发数据帧,并且不学习MAC地址。
一般保持15秒,为了让大家都能接收到BPDU数据包
Learning状态(学习状态):学习帧里面的MAC地址。
一般保持15秒,为了让大家都能学习到MAC地址,避免空表时进行泛洪。
![918e1b3c17cbfe846b7a018b7f8dd8c1.png](https://i-blog.csdnimg.cn/blog_migrate/3c8f3504b1629a74e23a2ea09a535b9a.jpeg)
![b679ba51345343b6a2f3f230ab9bee83.png](https://i-blog.csdnimg.cn/blog_migrate/dcf0dbd6cb62d97b4aa73da2a1f3c547.jpeg)