VRRP与STP的冗余有什么区别啊?

摘取H3C,为个人学习用途


 

STP(Spanning Tree Protocol,生成树协议)是IEEE为了避免二层链路环路而提出来的技术,在解决二层环路的同时能提供链路冗余,STP适用于任何拓扑,环形拓扑和Mesh拓扑都能胜任。不过,STP的收敛时间较慢,通常是30秒,特殊情况下要到50秒,难以适应当前数据网络中业务的需要。

为了提高STP的收敛速度,IEEE提出了RSTP标准,即快速STP。RSTP相对于STP的改进有:

1. RSTP把端口角色和端口状态进行了分离,并简化了端口状态: RSTP中只有discarding、learning和forwarding三个状态。相对来说,STP有五个状态disable、blocking、listening、learning和forwarding。

2. RSTP更精细的划分了端口角色:root端口、designed端口的定义和STP一样;但对于处于discarding状态的端口,细分为 alternate端口和backup端口,分别是对根端口和指定端口的备份;另外,引入了一类特殊的Designed端口——edge端口,即和主机或 其他终端设备相连的端口。

3. 基于对端口角色的精确划分,RSTP引入了各种端口的快速迁移机制:

1) designed端口的快速迁移机制,在P2P链路上,如果designed端口处于discarding状态,立即启动proposal和同步过程,快速收敛网络。

2) edge端口可以立即forwarding。这在CISCO中称为portfast。

3) 失去root端口后,立即启用最优的alternate端口。CISCO中称为uplinkfast。

4. 网桥不再简单中继根桥发送的BPDU,而是每hello timer从指定端口独立发送BPDU。如果一个端口三次没有收到该网段指定桥从指定端口发送的BPDU,就认为指定桥故障,这可以加快BPDU的老化,快速发现网络故障。比如,这避免了STP中非直连链路失效时20秒的报文老化时间。

5. 次优BPDU(Inferior BPDU)处理的优化,在STP中,只有Designed端口收到了次优的BPDU,才回应一个BPDU报文。在RSTP中,如果非Designed端口 收到了原指定桥的次优BPDU,也立即回应一个BPDU,这避免了一个网段的原指定桥在失去root端口后,需要等待对端20秒时间老化报文后才能收敛。 在CISCO中,这个优化称为backbone fast。

6. 只有在非edge端口变为forwarding时才发拓扑改变报文,而且一旦设备感知了拓扑改变,拓扑改变信息在所有的root端口和非边缘的 designed端口扩散,这保证了拓扑改变的信息的快速传播和网络的快速收敛。在STP中,端口变为fowarding或变为blocking都会导致 发送拓扑改变报文,而且拓扑改变由感知拓扑改变的桥设备先知会根桥后,再由根桥发送拓扑改变报文,这大大延迟了网络收敛。

RSTP相对于STP,大大加快了收敛时间,链路up/down的情况下可以达到几百毫秒的收敛速度。下面对RSTP和RRPP作一个比较:

1. 适用的拓扑:RSTP可以适用于任何拓扑,RRPP只能适用于环形拓扑。

2. 收敛时间,假设都是环形组网,并且是P2P链路相连。虽然链路up/down或节点的故障检测时间,RRPP和RSTP差不多,但整网收敛时间RRPP相 比RSTP收敛时间要快,主要的原因是,RRPP报文的转发在传输节点上是硬件转发并拷贝上CPU,而RSTP报文需要逐跳由CPU处理后再转发,这导致 拓扑变化在RSTP下传播比RRPP慢,整网收敛也就慢。

3. 节点个数限制问题:RRPP报文的轮询报文绕环一周,轮询报文的延迟随着环上节点个数的增多而增大,但只是亚毫秒级的影响,对RRPP的收敛性能影响有限,因此和RSTP相比,可以认为RRPP环上的节点的规模没有限制。RSTP因为报文的Max age,环上节点个数也受影响,虽然可调整Max age的大小作出应对,但因为RSTP报文是逐跳送CPU处理的,报文延迟较大,节点个数太多对收敛性能影响较大。

4. 安全性问题,RRPP使用独立的VLAN传播信令,可以认为安全性较RSTP为高。

总体来说,RRPP(这个是H3C推出的一种技术)因为是针对环网开发的,在环网拓扑情况下,相对RSTP这种为适应任意拓扑开发的协议有一定的性能优势。

RSTP相对于STP,解决了收敛速度较慢的问题。但是没有解决冗余链路利用率低的问题,在STP/RSTP中如果一个端口被阻断,那么该端口的链路事实上是被闲置了。

MSTP,即多实例STP的出现解决冗余链路利用率低的问题。MSTP中,一组VLAN使用一个STP实例,每个STP实例使用和RSTP相同的处理规 则。在MSTP中,端口的阻塞是逻辑上的,只对某些STP实例进行阻塞,一个端口可能对一个STP实例阻塞,但对另一个STP实例是可以转发的。合理的使 用MSTP,可以做到链路的负载分担。而且,因为映射到一个MSTP实例的VLAN可以灵活控制,并且引入了域的概念,使得MSTP在部署时有很好的扩展 性。


======================================================

什么是STP协议

    STP(Spanning Tree Protocol)是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。

  STP的基本原理是,通过在交换机之间传递一种特殊的协议报文(在IEEE 802.1D中这种协议报文被称为“配置消息”)来确定网络的拓扑结构。配置消息中包含了足够的信息来保证交换机完成生成树计算。

    生成树协议STP/RSTP
    1. 技术原理:
   STP的基本思想就是生成“一棵树”,树的根是一个称为根桥的交换机,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥。由根桥开 始,逐级形成一棵树,根桥定时发送配置报文,非根桥接收配置报文并转发,如果某台交换机能够从两个以上的端口接收到配置报文,则说明从该交换机到根有不止 一条路径,便构成了循环回路,此时交换机根据端口的配置选出一个端口并把其他的端口阻塞,消除循环。当某个端口长时间不能接收到配置报文的时候,交换机认 为端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。
    2. 功能介绍:
  生成树协议最主要的应用 是为了避免局域网中的网络环回,解决成环以太网网络的“广播风暴”问题,从某种意义上说是一种网络保护技术,可以消除由于失误或者意外带来的循环连接。 STP也提供了为网络提供备份连接的可能,可与SDH保护配合构成以太环网的双重保护。新型以太单板支持符合ITU-T 802.1d标准的生成树协议STP及802.1w规定的快速生成树协议RSTP,收敛速度可达到1s。
  但是,由于协议机制本身的局 限,STP保护速度慢(即使是1s的收敛速度也无法满足电信级的要求),如果在城域网内部运用STP技术,用户网络的动荡会引起运营商网络的动荡。目前在 MSTP 组成环网中,由于SDH保护倒换时间比STP协议收敛时间快的多,系统采用依然是SDH MS-SPRING或SNCP,一般倒换时间在50ms以内。但测试时部分以太网业务的倒换时间为0或小于几个毫秒,原因是内部具有较大缓存。SDH保护 倒换动作对MAC层是不可见的。这两个层次的保护可以协调工作,设置一定的"拖延时间"(hold-off),一般不会出现多次倒换问题。



       STP的收敛及高级特性

     
STP算法总结步骤一:选举跟网桥选择网桥ID最小的步骤二:选择根端口1.选择端口到根网桥路径开销最小的2.选择发送方网桥ID最小的3.选择发送方端口ID最小的步骤三:选择指定端口1.选择网桥到根网桥路径开销最小的
2.选择发送方网桥ID最小的
3.选择发送方端口ID最小的
步骤四:阻塞其它端口形成无环拓扑
从图中可以看出,STP的拓扑变更后,收敛速度很慢(30-50秒),30秒到50秒的时间对于要求实施响应的业务数据(VOIP、视频会议、数据库交互业务)是无法忍受的,所以STP定义了一些加快收敛的机制。加快STP收敛的方法:调整STP时间参数使用CISCO的STP增强特性进行协议的升级,使用RSTP或MSTP调整STP时间参数:switch(config)#spaning-tree VLAN # ( hello-time | forward-delay | max age )  # CISCO的STP增强特性portfast特性用来加快交换机上连接终端设备的边界端口(access)收敛速度的一种STP特性。从理论上可以将STP的收敛时间变为0,即直接从disabled状态进入到forwarding状态。portfast特性启用后并没有禁止STP,如果该端口下接STP交换机则仍然会执行正常的STP选举收敛。portfast端口的状态变化不会触发TCNBPDU配置全局配置模式下:  spanning-tree portfast default接口模式下:  spanning-tree portfastplinkfast特性加快接入层交换机上联主备链路切换时间的一种快速收敛特性。uplinkfast的注意事项:只在接入层交换机上部署,该接入层交换机上有且只有两条上行链路。只针对接入层交换机的上行链路故障有用。影响的是交换机上的所有VLAN。网桥优先级和端口开销会增加,网格优先级变为49152 ,端口开销会增加3000 全局模式:spanning-tree uplinkfastBackbonefast特性加快间接链路故障STP收敛的一种特性。必须部署在STP网络中的所有交换机上RLQ:根链路查询报文,cisco私有。由收到次佳配置BPDU的交换机产生,从根端口向根网桥发送,以探知到根的链路或根本身是否稳定。STP的保护机制BPDU Guard是用来防止因portfast端口而导致交换网络中出现循环的一种STP保护特性。配置了BPDU guard的portfast端口在收到BPDU时便会进入errdisable状态。bpduguard的全局开启与接口开启是与portfast的全局开启和接口开启对应的。SW(config)#spanning-tree portfast bpduguard default (全局开启)SW(config-if)#spanning-tree bpduguard enable (接口开启)当STP BPDU guard禁用了端口,该端口会始终处于errdisable状态。恢复到正常端口状态有以下两种方式:手动通过shutdown/no shutdown重新激活;通过设置时间周期自动恢复;Switch(config)#errdisable recovery cause bpduguardSwitch(config)#errdisable recovery interval 400BPDU Filter其特性非常类似于BPDU Guard,也是定义于portfast端口上,但它所执行的动作比BPDP Guard要轻一些,使用该机制的端口不会发送配置BPDU。而且能完全保证新增的交换机既不影响原有网络的同时又能与网络中的其他主机正常通信。   SW(config)#spanning-tree portfast bpdufilter default(全局开启)   //porstfast端口不发送配置BPDU,收到BPDU后,转入正常STP收敛   SW(config-if)#spanning-tree bpdufilter enable (接口开启)ROOT Guard根保护确保启用了根保护的端口成为指定端口,根保护是基于每端口配置的,并且不允许该端口成为一个STP根端口。设置了根保护的端口如果收到了一个优于原BPDU的新的BPDU,它将把本端口设为root-inconsIistent状态,相当于监听状态。该状态下不会收发数据,不会成为根端口,只会监听BPDU。当停止接受错误的最优BPDU时,该端口经历生成树过程后自动恢复。接口模式下:spanning-tree root guardUDLD单向链路检测 作用:检测一对光纤链路收发是否存在故障,如果存在单向链路故障容易导致环路发生UDLD的工作原理:周期性发送UDLD二层帧(UDLD hello包),对端会有UDLD的回应,说明链路正常若三个UDLD hello周期没收到对端UDLD的回应,则认为链路出现单向故障。全局或光纤接口下单独启用:udld { aggressive | enable | disable }Aggressive 模式:端口进入到errdisable状态下就不可用了Enable一般模式:端口进入到undetermined状态并产生syslog,端口仍然可用LOOP Detection默认启用,通过自动检测并判断本设备下游是不是存在环路,如果存在环路,则该接口不可用

本文出自 “凡人世界” 博客,请务必保留此出处http://tangfangxiao.blog.51cto.com/2116646/672457