目录
一、环路的出现
1、广播风暴:
2、MAC地址表翻滚:
二、生成树
1、定义:
2、生成树使用的算法:
三、802.1D
1、BPDU:
2、TCN—拓扑变更消息(也是BPDU):
3、部分名词:
4、不同端口的选举规则—生成树的过程:
1.根网桥选举规则:
2.根端口选举规则:
3.指定端口选举规则:
4.非指定端口选举规则:
5、端口状态:
6、cost值:
7、收敛时间:
8、802.1D 缺点:
四、PVST
1、PVST的优势:
2、工作方式:
五、PVST + :
1、加速种类 :
2、PVST+仍然存在的缺点:
六、快速生成树(RSTP / 8032.1w)
1、RSTP:
2、802.1w:
3、快速的原理:
4、端口角色:
5、P/A机制
6、干涉快速生成树工作:
1.边缘接口:
2.修改网桥优先级:
3.快速定义根网桥角色:
4.修改接口优先级:
5.修改接口开销(cost):
七、MSTP(MST / 802.1S)
1、多实例生成树协议(MSTP)
2、分组配置示例:
3、定义本地为组1 的主根,组2 的备份根:
4、修改优先级:
5、修改开销:
6、修改接口优先级:
在常见的内网中为了保持网络的稳定性和可靠性通常会有设备之间进行冗余 ,但是也会导致一些问题:
- 广播风暴
- MAC地址表翻滚
- 同一数据帧的重复拷贝
以上3个条件最终导致设备工作过载,导致重启保护。
3台交换机SWA、SWB、SWC以下图的方式连接在一起,假设主机A想要给主机B发送数据,首先会发送一个ARP请求来获取主机B的MAC地址。但是由于ARP的Request包属于一个广播帧,当SWB接收到主机A发送来的广播帧时,会将该广播帧发送给所有的端口;SWA收到SWB发来的广播帧时,同样也会发送给所有端口;以此类推。这时,在SWA、SWB、SWC中就会循环往复地收发广播帧,耗费交换机资源,导致业务瘫痪。
环路除了会带来广播风暴的问题,还会带来MAC地址表的翻滚。当SWB第一次收到主机A发送过来的广播帧时,源MAC地址为:00-05-06-07-08-AA,源端口为G0/0/3。由于广播帧在三台交换机中循环往复的收发,当SWC将广播帧发给SWB时,SWB收到的广播帧的MAC地址依旧没变,即:00-05-06-07-08-AA。但是此时的源端口却变成了SWC的G0/0/2端口。这就是MAC地址翻滚。
在一个二层交换网络中,生成一棵树型结构,逻辑阻塞部分接口,使得从根到所有的节点仅存在唯一的路径(最佳路径)。当最佳路径故障时,自动打开部分阻塞端口,来实现线路备份的作用。
生成树在生成过程中,应该尽量的生成一棵星型结构,且是最短路径树。
- 802.1D
- PVST (cisco私有)
- PVST+ (cisco私有)
- RSTP(802.1w)
- MSTP(802.1S)
802.3 | LLC | STP
交换机间使用 桥协议数据单元(BPDU) 进行 交换机间沟通互动收发的数据。
开启STP后:配置BPDU 只有根网桥可以发送。
- 在交换网络初始状态时,所有交换机均定义本地为根网桥,进行BPDU的发送;使得网络中所有交换机均收到其他设备的BPDU,之后基于数据中的参数进行比对,选举出根网桥;所有非根网桥不再发送BPDU,而是仅接收和转发根网桥的BPDU;
- 发送周期hello time 2s;老化时间 20s;
序号: | 名称: | 释义: |
1 | 根网桥 | 在一棵生成树实例中,有且仅有一台交换机为root(根网桥)。 |
2 | 根端口 | 在每台非根网桥上,有且仅有一个接口。 交换机本地离根网桥最近的接口(满足:最短、星型),接收来自根网桥的BPDU,并转发用户的流量(该接口不阻塞)。 |
3 | 指定端口 | 在每一段存在STP的物理链路上,有且仅有一个;转发来自根网桥的BPDU,同时可以转发用户流量(不阻塞)。 默认根网桥上所有接口为指定端口。 |
4 | 非指定端口 | 又称:阻塞端口 当以上所有角色全部选举完成后,剩余没有任何角色的接口为非指定接口。 该接口逻辑阻塞,实际可以接收到信息,但不转发。 |
桥ID(BID)= 网桥优先级 + MAC地址
从上而下匹配,优先比较最开始的条件,若匹配则不进行后面的比较
PID(端口ID)= 接口优先级(0-240,步长16,默认128)+ 接口编号
注:只有到接口进入到转发状态后,才能为用户转发数据报文,之前的30s不能转发任何数据。
华为端口状态:
[SWA]stp pathcost-standard ? 默认华为使用802.1t标准
dot1d-1998 IEEE 802.1D-1998
dot1t IEEE 802.1T
legacy Legacy
生成协议中,至少应该将根网桥干涉到汇聚层处;
30s = 15侦听+15s学习
存在直连检测:本地存在阻塞端口,若其他端口断开,该阻塞端口马上入15s侦听(选举);结果若为启用,那么将再进入15s学习— —总30s
没有直连检测:本地不存在阻塞端口,若某个端口断开,将发送次优BPDU(以本地为根)给其他邻居交换机,其他交换机无视该数据,进行20s hold time计时,计时结束阻塞接口进入15s侦听,15s学习— —总50s
优于802.1D的是能够一定程度上的改善链路利用率底的问题。
在每个vlan内,存在一棵树,每个树的工作原理同802.1d一致。不同的是vlan的BPDU区别在于优先级。
优先级=4096倍数 + vlan id 人为仅可修改4096倍数备份,且只能修改为4096的整数倍。
仅支持trunk干道封装为ISL(cisco私有封装)
上行链路加速:仅在接入层设备上配置,因为配置后,该交换机将自动加大本地的网桥优先级;在直连检测条件下阻塞接口将跳过30s,直接进入转发状态--上行链路加速
骨干加速:所有交换机均可配置,针对接收到次优BPDU的阻塞端口可以跳过20s的老化时间。
切记:接口默认为半双工时,即便允许RSTP,依然基于慢速的802.1D算法来收敛。
在PA机制选举时,非边缘指定端口要进入阻塞状态,防止临时环路。因为PA机制选举完成之后会立即进行转发状态,如果其他交换机的原来是指定端口、对端是根端口时为转发状态还没来得及切换到阻塞状态,会造成临时环路。
[sw1]interface GigabitEthernet 0/0/1
[sw1-GigabitEthernet0/0/1]stp edged-port enable #定义为边缘端口
[sw1]stp priority ? INTEGER<0-61440> Bridge priority, in steps of 4096
[sw1]stp root ? primary Primary root switch #定义为根网桥secondary Secondary root switch #定义为备份根网桥
[sw1-GigabitEthernet0/0/1]stp port priority ? INTEGER<0-240> Port priority, in steps of 16
[sw1-GigabitEthernet0/0/1]stp cost ?INTEGER<1-200000000> Port path cost
不同组间的BPDU中优先级= 4096倍数 + 组号
[sw1]stp enable
[sw1]stp region-configuration
[sw1-mst-region]region-name a #所有设备应在一个组内
[sw1-mst-region]instance 1 vlan 1 to 5 #组一划入vlan 1 到 vlan
5
[sw1-mst-region]instance 2 vlan 6 to 10
[sw1-mst-region]active region-configuration #激活当前配置(必须配置该指令)
切记:若将创建某个组,但该组内的vlan在本交换机上没有创建,同时没有为该vlan服务的接口,该组将没有任何信息。整个交换网络中所有设备的分组信息必须完全一致。
stp instance 1 root primary #优先级修改为0(定义为组1的根)
stp instance 2 root secondary #优先级修改为4096(定义为组2的备份根)
[sw1]stp instance 1 priority ?INTEGER<0-61440> Bridge priority, in steps of 4096
[sw1]interface GigabitEthernet 0/0/1
[sw1-GigabitEthernet0/0/1]stp instance 1 cost ?INTEGER<1-200000000> Port path cost
[sw1-GigabitEthernet0/0/1]stp instance 1 port priority ?INTEGER<0-240> Port priority, in steps of 16