第一节rstp协议
1、STP技术点的回顾
1.1、STP的作用是什么
1、通过阻塞端口来达到我们破环的目的
2、可以进行冗余备份
1.2、STP的端口角色有哪几个?
根端口(RP) 在非根交换机上选举
指定端口(DP)在每一个链路上进行选举
阻塞端口(AP)在非根交换机在进行逻辑阻塞
总结:端口角色的变化是秒变
1.3、STP的端口状态有哪几个?
disable:是生成树的关闭状态
block:AP端口的最终状态一定是block
listening:从侦听到学习需要15s
learning:从学习到转发需要15s
forwarding:DP端口和RP端口的最终状态一定是forwarding
总结:一个端口从disbale到转发至少需要30s的时间
1.4、STP的工作原理
1.4.1、在二层交换网络中会选举一个ROOT交换机出来
1.4.2、在非根交换机上会选举一个RP端口 这个RP端口是到达ROOT交换机一条最优的路径
1.4.3、在每一个链路上面会选举一个指定端口 这个指定端口是用来发送BPDU报文或者转发BPDU报文的 一般情况 ROOT交换机上面的所有接口是指定端口
1.4.4、阻塞端口 不转发用户流量 但是可以接收BPDU
1.5、端口(RP端口或者DP端口)的竞选规则
1.5.1、比较设备的BID(就是比较ROOT交换机)
1.5.2、接口下比较到达ROOT交换机的开销值(入向成本之和)一般就是比较RP端口这一块
1.5.3、发送设备BID(一般是比较DP端口这一块)
1.5.4、发送设备的PID
1.5.5、 自己的PID
Stp的缺点:
1 stp从初始状态到完全收敛至少需经过30s
2 当 链路断时,这时候原来的AP阻塞端口会转为RP 根端口,端口状态转为forwarding 需要30s ,若当AP 接收到根发来的BPDU 包时,还需要再等20s的老化时间
3 stp交换机连接的终端设备,进入转发状态也需要30s
4 stp的拓扑变更
5 stp的端口状态有5种,其中其中都是不转发也不学习的
RSTP:
Rstp是stp的升级,他减少了stp的收敛时间
1 会添加BP 端口,作为DP 端口的备份, AP 端口作为RP 端口的备份
BP与AP 端口都起阻塞作用
在dp端口当时BP端口可以马上转为DP端口进入转发状态,
在RP端口当时AP 端口可以马上转为RP 状态进入转发状态
2 在RSTP中端口状态只有三种
3P/A机制:
条件:
1 点到点
2 RP 与 DP 之间
P/A机制:两台交换机SW1和SW2之间连接 由于SW1的BID是4096 SW2的BID是8192 因为SW1会主动向SW2发送P置位的BPDU报文(此时的SW1的情况 Discarding 端口角色是DP) 当SW2收到之后同步变量(阻塞除边缘端口外的其他端口,防止出现环路) 同步好之后 SW2会发送一个A置位的BPDU报文给SW1(SW2的情况 Forwarding RP端口) 当SW1收到之后收到A置位BPDU报文,端口立即进入Forwarding
如
情况1:
情况2:
当swa与swb交换机之间的链路坏,由于AP 端口收不到根交换发来的BPDU数据包, swb会把自己当做根发送有p置位的BPDU包,swc会回一个带a置位的BPDU数据包,这样swb的原DP端口转为RP端口, 和swc的原AP 端口转为DP 端口会迅速转为转发状态,
不再需要等待swc交换机的老化时间20s了
此时swb的RP 与swc的dp之间就是P/A机制
4 边缘端口:是用来接入终端设备的端口,
进入接口视图,将该端口设为边缘端口,接入的终端设备会迅速进入转发状态,不需要30s
Stp edge-port enable
第二课:
RSTP补充
1 拓扑变化处理机制:
当网络发生拓扑变化时,变更点交换机直间向全文网发送TC置位的BPDU报文,而不是先通知根桥向全网发送TC报文,这样在一定程度上节省了收敛时间。
判断拓扑变化的唯一标准:
一个非边缘端口迁移到forwarding状态
拓扑变化处理:
除了发送接口,接受端口,边缘端口之外的所有的端口的mac地址表删除,这样不用等待mac地址的老化时间,默认老化时间300s
边缘端口故障不会触发拓扑变化
保护:
1 BPDU保护
应用场景:防止有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到该报文时,会自动设置为非边缘端口,并重新进行生成树计算,引起网络震荡。
实现原理:配置BPDU保护功能后,如果边缘端口收到BPDU报文,边缘端口将会被立即关闭
2根保护:
应用场景:由于维护人员的错误配置或网络中的恶意攻击,网络中合法根桥有可能会收到优先级更高的RST BPDU,使得合法根桥失去根地位,从而引起网络拓扑结构的错误变动。
实现原理:一旦启用Root保护功能的指定端口收到优先级更高的RST BPDU时,端口状态将进入Discarding状态,不再转发报文。在经过一段时间,如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。
Root保护功能只能在指定端口上配置生效。
3 TC-BPDU泛洪保护:
交换机在接收到TC-BPDU报文后,会执行MAC地址表项的删除操作。如果有人伪造TC-BPDU报文恶意攻击交换机时,交换机短时间内会收到很多TC-BPDU报文,频繁的删除操作会给设备造成很大的负担,给网络的稳定带来很大隐患。
启用防TC-BPDU报文攻击功能后,在单位时间内,RSTP进程处理TC类型BPDU报文的次数可配置(缺省的单位时间是2秒,缺省的处理次数是3次)。如果在单位时间内,RSTP进程在收到TC类型BPDU报文数量大于配置的阈值,那么RSTP进程只会处理阈值指定的次数;对于其他超出阈值的TC类型BPDU报文,定时器到期后,RSTP进程只对其统一处理一次。这样可以避免频繁的删除MAC地址表项,从而达到保护交换机的目的。
配置实现:
stp enable //全局开启STP
stp mode rstp //配置STP模式为RSTP
stp root primary //配置SWA为根桥
stp bpdu-protection //全局开启BPDU防护,配合边缘端口一起使用
stp edged-port enable //配置端口为边缘端口
MSTP:
由于rstp,stp 都只有一颗生成树,因此被阻塞后链路将不承载任何流量,无法在VLAN间实现数据流量的负载均衡,从而造成带宽浪费。
为了弥补STP和RSTP的缺陷,IEEE于2002年发布的802.1s标准定义了MSTP。MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
单生成树的弊端:
l 如图所示,网络中有SWA、SWB、SWC三台交换机。配置VLAN2通过两条上行链路,配置VLAN3只通过一条上行链路。
l 为了解决VLAN2的环路问题,需要运行生成树。在运行单个生成树的情况下,假设SWC与SWB相连的端口成为预备端口(Discarding状态),那么VLAN3的路径就会被断开,无法上行到SWB。
l 为了实现流量分担,需要配置两条上行链路为Trunk链路,允许通过所有VLAN;SWA和SWB之间的链路也配置为Trunk链路,允许通过所有VLAN。将VLAN2的三层接口配置在SWA上,将VLAN3的三层接口配置在SWB上。
l 我们希望VLAN2和VLAN3分别使用不同的链路上行到相应的三层接口,但是如果连接到SWB的端口成为预备端口(Alternate Port)并处于Discarding状态,则VLAN2和VLAN3的数据都只能通过一条上行链路上行到SWA,这样就不能实现流量分担。
MSTP原理
- MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI。MSTI之间彼此独立,且每个MSTI的计算过程基本与RSTP的计算过程相同。
多生成树协议即MSTP(Multiple Spanning Tree Protocol)。
MST域是多生成树域(Multiple Spanning Tree Region),由交换网络中的多台交换设备以及它们之间的网段所构成。同一个MST域的设备具有下列特点:
都启动了MSTP。
具有相同的域名。
具有相同的VLAN到生成树实例映射配置。
具有相同的MSTP修订级别配置。
一个MST域内可以生成多棵生成树,每棵生成树都称为一个MSTI,每个MSTI都使用单独的RSTP算法,计算单独的生成树。
l 每个MSTI(MST Instance)都有一个标识(MSTID),MSTID是一个两字节的整数。VRP平台支持16个MST Instance,MSTID取值范围是0~15,默认所有VLAN映射到MST Instance 0。
VLAN映射表是MST域的属性,它描述了VLAN和MSTI之间的映射关系,MSTI可以与一个或多个VLAN对应,但一个VLAN只能与一个MSTI对应。
MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的各个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
怎么样配置MSTP 1、二层接口的配置 也就是放行相应vlan通过 access接口 trunk接口 2、配置我们MSTP # stp region-configuration -------进入到mstp区域里面 region-name weiguo ------区域的名称 revision-level 2 ------修订的级别 instance 1 vlan 1 to 10 -----实例1映射的vlan 1~10 instance 2 vlan 11 to 20 -----实例2映射的vlan 11~20 active region-configuration # 总结:在四台交换机上面的MSTP的配置要要一模一样 3、给不同实例给定不同级别 需求: 规定SW9为instance 1的ROOT交换机 规定SW10为instance 1的备根交换机 命令 SW9上面 stp instance 1 priority 4096 命令 SW10上面 stp instance 1 priority 8192 需求: 规定SW10为instance 2的ROOT交换机 规定SW9为instance 2的备根交换机 命令 SW10上面 stp instance 2 priority 4096 命令 SW9上面 stp instance 2 priority 8192
ETH-trunk 技术:
随着网络中部署的业务量不断增长,对于全双工点对点链路,单条物理链路的带宽已不能满足正常的业务流量需求。如果将当前接口板替换为具备更高带宽的接口板,则会浪费现有的设备资源,而且升级代价较大。如果增加设备间的链路数量,则在作为三层口使用时需要在每个接口上配置IP地址,从而导致浪费IP地址资源。
单条链路的组网中没有冗余的设计,如果接入层设备上联的链路故障时,影响接入设备下联的整个区域的设备正常通信
此时,可以把多个独立的物理接口绑定在一起作为一个大带宽的逻辑接口使用,即链路聚合技术,既不用替换接口板也不会浪费IP地址资源。Eth-Trunk是一种捆绑技术,将多个物理接口捆绑成一个逻辑接口,这个逻辑接口就称为Eth-Trunk接口
根据不同的链路聚合模式,Eth-Trunk接口可以实现增加带宽、负载分担等,帮助提高网络的可靠性。
Eth-Trunk可以用于二层的链路聚合,也可以用于三层的链路聚合。缺省情况下,以太网接口工作在二层模式。如果需要配置二层Eth-Trunk接口,可以通过portswitch命令将该接口切换成二层接口;如果需要配置三层Eth-Trunk接口,可以通过undo portswitch命令将该接口切换成三层接口。
配置:
int eth-trunk 12 进入eth-trunk配置视图
mode manual load-balance 模式配置为手动 默认就是手动
trunk port g0/0/0 to g0/0/3 添加端口