以太网交换机性能参数参考指标
2013-07-10 11:26:14 阿炯

按类型可分为:
机架式、固定配置式带/不带扩展槽。

机架式交换机是一种插槽式的交换机,这种交换机扩展性较好,可支持不同的网络类型,如以太网、快速以太网、千兆以太网、ATM、令牌环及FDDI等,但价格较贵。

固定配置式带扩展槽交换机是一种有固定端口数并带少量扩展槽的交换机,这种交换机在支持固定端口类型网络的基础上,还可以支持其它类型的网络,价格居中。固定配置式不带扩展槽交换机 仅支持一种类型的网络,但价格最便宜。

配置参数:
机架插槽数——是指机架式交换机所能安插的最大模块数。
扩展槽数——是指固定配置式带扩展槽交换机所能安插的最大模块数。
最大可堆叠数——是指一个堆叠单元中所能堆叠的最大交换机数目,此参数说明了一个堆叠单元中所能提供的最大端口密度。
最小/最大10M以太网端口数——是指一台交换机所支持的最小/最大10M以太网端口数量。
最小/最大100M以太网端口数——是指一台交换机所支持的最小/最大100M以太网端口数量。
最小/最大1000M以太网端口数——是指一台交换机所能连接的最小/最大1000M以太网端口数量。

支持的网络类型:
一般情况下,固定配置式不带扩展槽交换机仅支持一种类型的网络,机架式交换机和固定配置式带扩展槽交换机可支持一种以上类型的网络,如支持以太网、快速以太网、千兆以太网、ATM、令牌环及FDDI等。一台交换机所支持的网络类型越多,其可用性、可扩展性越强。
最大ATM端口数——ATM即异步传输模式。最大ATM端口数是指一台ATM交换机或一台多服务多功能交换机所支持的最大ATM端口数量。
最大SONET端口数——SONET是Synchronous Optical Network的缩写,是一种高速同步网络规范,最大速率可达2.5 Gbps。一台交换机的最大SONET端口数是指这台交换机的最大下联SONET接口数。
最大FDDI端口数——是指一台FDDI交换机或一台多服务多功能交换机所支持的最大FDDI端口数量。
背板吞吐量(bps)——也称背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会上去。
缓冲区大小——有时又叫做包缓冲区大小,是一种队列结构,被交换机用来协调不同网络设备之间的速度匹配问题。突发数据可以存储在缓冲区内,直到被慢速设备处理为止。缓冲区大小要适度,过大的缓冲空间会影响正常通信状态下数据包的转发速度(因为过大的缓冲空间需要相对多一点的寻址时间),并增加设备的成本。而过小的缓冲空间在发生拥塞时又容易丢包出错。所以,适当的缓冲空间加上先进的缓冲调度算法是解决缓冲问题的合理方式。对于网络主干设备,需要注意几点:
每端口是否享有独立的缓冲空间,而且该缓冲空间的工作状态不会影响其它端口缓冲的状态;模块或端口是否设计有独立的输入缓冲、独立的输出缓冲,或是输入/输出缓冲;是否具有一系列的缓冲管理调度算法,如RED、WRED、RR/FQ及WERR/WEFQ等。最大MAC地址表大小——连接到局域网上的每个端口或设备都需要一个MAC地址,其它设备要用到此地址来定位特定的端口及更新路由表和数据结构。MAC地址有6字节长,由IEEE来分配,又叫物理地址,一个设备的MAC地址表大小反映了连接到该设备能支持的最大节点数。
最大电源数——一般地,核心设备都提供有冗余电源供应,在一个电源失效后,其它电源仍可继续供电,不影响设备的正常运转。在接多个电源时,要注意用多路市电供应,这样在一路线路失效时,其它线路仍可供电。

支持协议和标准——一般指由国际标准化组织所制订的联网规范和设备标准,可根据网络模型的第1层、第2 层和第3层进行分类如下:
第1层:EIA/TIA-232、 EIA/TIA-449、 X.21、 EIA530/EIA530A接口定义。
第2层:802.1d/SPT、802.1Q、802.1p及802.3x。
第3层:IP、IPX、RIP1/2、OSPF、BGP4、VRRP,以及组播协议等等。

路由信息协议RIP——RIP是距离矢量协议,它利用跳数作为计量标准。RIP广泛用于全球互联网络的路由选择中,是UNIX伯克利标准分布系统提供的一种内部网关协议。IP RIP在RFC 1058和RFC 1723中定义。

RIP2——是RIP的最新增强版规范,它允许RIP数据包包含更多的信息,并提供了一种简单的鉴定机制。在RFC 1723中有说明。

开放式最短路径优先第2版(OSPFv2)——它是OSPF的第二版本。OSPF是一种连接状态路由选择协议,是互联网络工程任务组(IETF)内部网关协议工作组专为IP开发的,作为Internet通信体中RIP后继的链路状态层次路由算法。OSPF特性包括最少花费路由、多路径和负载均衡。OSPF由IS-IS协议的早期版本发展而来,有两个主要特征:一是该协议是开放的,如RFC 1247就有OSPF的规定。二是OSPF建立在SPF算法上,SPF也叫DIJKSTRA算法,它是以该算法的创始人命名的。

边界网关协议BGP——BGP用来替代EGP(Exterior Gateway Protocol)域间路由协议。BGP与其它的BGP系统交换信息的可达性,由RFC 1163定义。BGP4是BGP的第四版,支持CIDR,并使用路由汇聚机制减少路由表的大小。

无类域间路由CIDR——CIDR是BGP4支持的基于路由聚集的技术。CIDR为了减少核心路由器负载的路由信息量,而允许多个路由器组成路由群组。基于CIDR,几个IP网络可作为独立的、大的实体脱离于群组之外。

互联网成组管理协议IGMP——IGMP是Internet Group Management Protocol的缩写。IP主机用来向相邻的多目路由器报告其多目组的成员。多目路由器是向所连接本地网络发送IGMP询问报文的路由器。多目组的主机成员通过发送它所属的那个多目组的IGMP报告来响应一个询问。多目传送路由器负责把多目数据报从一个多目组转发到所有其它拥有这个组的成员的网络。

距离矢量多播路由协议DVMRP——DVMRP是互联网络的网关协议,基本上基于RIP,能实现典型的检测方式IP多目机制。DVMRP用IGMP与邻点交换路由数据报。

开放式最短路径优先多播路由协议MOSPF——多目OSPF用于OSPF网络的域间多目路由协议。其扩展形式可用于基本OSPF单目协议,以支持IP多目路由。

协议无关的多播协议PIM——PIM是Protocol Independent Multicast的缩写,是一种多目传送路由结构,能使现存的IP网络增加IP多目传送路由。PIM是一种独立的单目传送路由协议,可以以两种模式操作:密集模式和疏松模式。在PIM密集模式下,报文分组要向所有的输出接口转发,直到发生裁剪和切除。在密集模式中,接受器较为稠密,并且假设下链网络准备接受向其转发的数据报,并有可能使用这些数据报。使用密集模式的代价是其固有的扩散行为。PIM疏松模式就是尽量限制数据的发送,从而使网络中接收数据的路由器数量降低到最少。在疏松模式中,接受器是广泛分布的,并且假设下链网络并非必须使用发来的数据报。使用疏松模式的代价是显式结合报文的周期刷新以及对RP(汇合点)的需求。

资源预留协议RSVP——RSVP是 Resource Reservation Protocol的缩写.该协议支持跨IP网络的资源保留。运行在IP终端系统的应用程序可以用RSVP协议去预示其它节点所要接收的数据包流的属性,如带宽、最大突发量等。RSVP依靠于IPv6。

802.1p优先级标记,多队列—— IEEE802.1p标准是对网络的各种应用及信息流进行优先级分类的方法。它确保关键的商业应用和时间要求高的信息流优先进行传输,同时又照顾到低优先级的应用和信息流,使它们得到所要求的服务。这个标准对于金融业务、单据处理、网络管理、集成的声音和数据应用、视频会议和分布视像教学等应用是必不可少的标准。

路由——查找目标主机路径的一个过程叫做路由。在一大型的网络中,一个数据包在到达目标主之前,由于要经过许多中间路径,所以路由很复杂的。路由在路由器中的实现靠静态由协议或动态路由协议来完成。

支持第3层交换——所谓的第3层交换是在交换技术的基础上集成了路由技术,这样可使交换机以线速转发数据包。一台第3层交换机就等同于一台高速局域网路由器。使用第3层交换机可有效地控制。

广播风暴、Spanning tree环路和IP地址限制。
支持多层(4到7层)交换——多层交换机是一种能够基于MAC地址和网络地址过滤和转发数据包的交换机,它是局域网交换机的一个智能子集。多层设备能够懂得所传输的数据包是何种应用,因此,多层交换提供应用级的控制,即支持安全过滤和提供对应用流施加特定的QoS策略。

支持多协议路由——支持多协议路由是指在一个混和的多协议(IP、IPv6、AppleTalk和IPX)的网络环境中,在第3层交换机或路由器的作用下,不同异构型网络之间能够相互通信。

支持IP之外的协议——除支持IP协议之外,又支持AppleTalk、DECnet、IPX及NETBEUI等协议。

支持路由缓存——参见“缓冲区大小”论述。

可支持最大路由表数——路由表存储在路由器里或其它Internet设备中,以对特定网络目标进行跟踪。最大路由表数是指在一个路由表里所存储的最大路由数目。

VLAN——虚拟LAN将局域网上的一组设备配置成好象在同一线路上进行通信,而实际上它们处于不同的网段。一个VLAN是一个独立的广播域,可有效地防止广播风暴。由于VLAN基于逻辑连接而不是物理连接,因此配置十分灵活。现在已经把一台交换机是否支持VLAN作为衡量一台交换机性能好坏的一个很重要的参数。 在划分VLAN时,有基于端口的,有基于 MAC地址的,有基于第3层协议的,更有基于子网的。802.1Q是VLAN标准,不同厂商的设备只要支持802.1Q标准,就可以互联,进行VLAN的划分。在有第三层交换功能的基础上,VLAN之间也可以通信。

最大VLAN数量——此参数反映了一台设备所能支持的最大VLAN数目,就目前交换机所能支持的最大VLAN数目(1024以上)来看,足以满足一般企业的需要。

网管——网管是指网络管理员通过网络管理程序对网络上的资源进行集中化管理的操作,包括配置管理、性能和记账管理、问题管理、操作管理和变化管理等。一台设备所支持的管理程度反映了该设备的可管理性及可操作性。

支持网管类型
常见网管类型包括:
IBM网络管理(NetView)
HP OPENVIEW
SUN Solstice Domain Manager
RMON管理
SNMP管理
基于WEB管理
管理界面
是指对网络管理操作的方式。有命令行方式(CLI)、图形用户界面(GUI)方式等。此参数反映了设备的可操作性和可用性。

支持端口镜像
所谓的端口镜像就是用SPAN来接受端口监控,把要监控的源端口(即镜象数据端口)号重定向到目标端口,很多交换机用Set SPAN或SPAN命令实现。

支持的RMON和RMON2组
支持RMON组:
统计(Statistics)
历史(History)
警告(Alarms)
主机(Hosts)
主机 Top N(Host Top N)
会话矩阵(Matrix)
过滤器(Filter)
包捕获(Packet Capture)
事件(Events)

RMON2提供链路层以上的监控能力,RMON2组:
协议目录(Protocol Directory)
协议分布(Protocol Distribution)
地址映射(Address Mapping)
网络层主机(Network Layer Host)
网络层矩阵(Network Layer Matrix)
支持的包过滤方法:
定义访问列表(ACL)
源地址过滤
目的地址过滤
协议类型域(field)包过滤

128B可编程域(field)过滤

QoS 服务质量(Quality of Service)是传输系统的性能度量,反映了其传输质量以及服务的可获得性。它主要靠RSVP及802.1P来保证。
支持基于策略的第2层交换——第2层功能不仅仅限于对数据帧的处理,还应广泛支持业界标准,如IEEE 802.1d (生成树算法)、IEEE 802.1p(优先级队列控制)、IEEE 802.3x (拥塞情况的流量控制)等。
每端口最大优先级队列数——端口队列是为了解决网络拥挤问题而开发的技术。每端口最大优先级队列数反映了设备对网络拥挤的处理能力。
支持基于策略的第3层交换——第3层的功能不仅仅限于对数据包进行处理,而且还要支持三类功能协议:数据协议,如IP、IPX、DECnet、AppleTalk;路由协议,如RIP、RIPv2.0、OSPF、BGP4;多点组播协议,如IGMP、DVMRP、MOSPF等等。
支持基于策略的应用级QoS——基于第4层的报头信息,针对不同的应用,实施对数据流的访问控制(ACL)、服务质量保证(QoS)、带宽管理,以及各种控制和服务策略。

对数据流实施策略的能力主要包括:
流量分类、流量控制和对不同应用所产生的数据流提供不同服务级别的能力。

支持最小/最大带宽分配

带宽分配是设备支持策略管理的一种方式。动态带宽分配可以明显节省带宽,而不影响数据传送质量。

冗余——冗余强调了设备的可靠性,即不允许设备有单点故障。
冗余组件(管理卡,交换结构,接口模块,电源,冷却系统),设备应有部件级的备份,如对电源和机箱风扇冗余。当一个部件失效时,其它部件能接着工作,而不影响设备的继续运转,但这种部件可能不能进行热插拔。

热交换组件(管理卡,交换结构,接口模块,电源,冷却系统)

对于提供关键服务的管理引擎及交换阵列模块,不仅要求冗余,还要求这些部件具有 “自动切换”的特性,以达到设备冗余的完整性,当一块这样的部件失效时,冗余部件能够接替工作,使设备继续运转。这样可以保障设备的可靠性。

支持端口链路聚集协议——链路聚集是指把一台设备的若干端口与另一台设备的同等端口(要求介质完全相同)连接起来,以提供若干倍的带宽。链路聚集由链路聚集协议来管理。当一条链路失效时,由链路聚集协议协调其它链路继续工作,该参数反映了设备间的冗余性和扩展性。

负载均衡——该参数是指在路由过程中,某个路由器或第三层交换机向与目的地址具有同样距离的那些网络端口分配业务流量的能力。好的负载均衡算法要使用线路速度和可靠性信息。负载均衡增加了网段的利用率,从而提高了有效的网络带宽。


详解 RSTP 、MSTP协议,以及替代技术

STP 的弊端

STP的功能是消除环路和链路备份,同时也发现 STP 的一些问题:

网络收敛速度慢:BPDU 的 Max Age 值是20秒,接口从侦听到学习状态和从学习到转发状态分别有一个15秒的转发延迟时间,因此一个接口从阻塞到转发状态需要30 ~ 50秒的时间,这段时间内接口无法正常使用。


接口状态不合理:STP 接口的禁用、阻塞、侦听状态类似,功能高度重合。


拓扑变化依赖计时器:根交换机发送配置 BPDU 的 Hello Time 是2秒,非根交换机即使没收到 BPDU ,也要在 Max Age 的20秒后,才会重新计算 STP 。


什么是收敛?

收敛是指网络进入稳定状态。比如在 STP 中所有接口获得接口角色,进入转发或阻塞状态。收敛时间是指网络从发生变化到进入稳定状态的时间。

RSTP

鉴于 STP 的优缺点都很明显,弃之又觉得可惜,还是抢救一下吧。于是升级版的 RSTP 出现了,对 STP 进行了大量的改进。

RSTP增加新的接口角色,其中的替代接口可在交换机的根接口失效时,立即成为新的根接口,获取新的路径到达根桥。RSTP 使用 P/A 机制,让指定接口能够快速进入转发状态,而不用像 STP 那样经过 Forward Delay 时间。RSTP 还新增边缘接口的概念,让交换机接入终端设备的接口立即进入转发状态。

RSTP 接口角色

RSTP 在 STP 的基础上增加了接口角色,4 种接口角色分别是:根接口( RP )、指定接口( DP )、替代接口( Alternate Port ,AP )和备份接口( Backup Port ,BP )。根接口和指定接口与 STP 中定义相同,对于 STP 的非根非指定接口,RSTP 将其分为两种,一种是替代接口,另一种是备份接口。


1、替代接口( Alternate Port ,AP )

替代接口就是根接口的备份,由于收到其它交换机发送的更优 BPDU 而被阻塞的接口。如果根接口发生故障,那么替代接口会成为新的根接口。接口切换过程中,无需延时,无需 BPDU 交互,立马进入到转发状态。

一台交换机如果是非根桥,那么它有且只有一个根接口,但是这台交换机可以没有替代接口,也可以有,当有替代接口时,可以有一个或多个。当交换机的根接口发生故障时,最优的替代接口将成为新的根接口。


如上图所示,SW1 是网络中的根桥,SW3 有两个接口接入到网络中,由于 G0/11 比 G0/12 到达根桥的 RPC 更小,G0/11 成为 SW3 的根接口。G0/12 收到 SW2 发送的 BPDU ,经过 SW3 计算后决定阻塞,成为 SW3 的替代接口。

2、备份接口( Backup Port ,BP )

备份接口也是指定接口的备份,备份接口是交换机收到了自己发送的 BPDU 而被阻塞的接口。如果一台交换机的多个接口在同一个物理网段内,其中一个选举为指定接口,其它接口选举为备份接口且处于丢弃状态,备份接口作为这个网段到达根桥的冗余接口。如果交换机的指定接口发生故障,最优的备份接口成为新的指定接口,为根交换机与这条链路提供另一条转发通道,实现与这个网段的数据交互。

备份接口通常在这两种情况下出现,一种是交换机的多个接口连接到一台集线器( Hub )上,但是集线器和共享网络几乎绝迹。另一种情况是同一台交换机的两个接口通过一条网线连接起来,这种通常是人为的误操作。因此备份接口比较少见。


如上图所示,SW1 是网络中的根桥,SW2 的 G0/11 和 G0/12 接口形成自环,RSTP 能够检测到这个环路,并在这两个接口中选择一个进行阻塞。由于 G0/11 接口的接口 ID 更小,成为 SW2 的指定接口,而 G0/12 接口成为备份接口,备份接口被阻塞。


如上图所示,SW2 的两个接口连接在同一台集线器( Hub )上,集线器收到数据后会拷贝到其它所有接口,而且集线器不支持 STP/RSTP ,因此 SW2 从 G0/11 接口发出的 BPDU 会被集线器发送到 SW2 的 G0/12 接口,反之亦然。当 SW2 的指定接口 G0/11 出现故障时,备份接口 G0/12 将接替它的工作,负责与相应的网段实现数据交互。

RSTP 接口状态

STP 有 5 种接口状态,分别是禁用、阻塞、侦听、学习和转发,而 RSTP 对接口状态进行了简化,把禁用、阻塞、侦听状态合并为丢弃状态( Discarding )。因为这三类状态的功能区别不大,接口都不学习 MAC 地址,也不转发数据,这也是丢弃状态接口的处理方式。那么 RSTP 就是 3 种状态,即丢弃状态( Discarding )、学习状态(Learning)和转发状态(Forwarding)。学习和转发状态保持不变,和 STP 中的定义相同。


边缘接口

如果交换机的接口连接的是终端设备,比如 PC 、服务器、打印机等,而不是其它交换机的接口,那么这些接口不太可能造成环路。我们就可以将交换机的接口配置为边缘接口( Edge Port ),边缘接口默认不参加生成树计算。当边缘接口被开启后,立即切换到转发状态并开始收发数据流量,而不用经历转发延迟时间,提升网络效率。边缘接口的开启和关闭都不会触发 RSTP 拓扑变更。


P/A 机制

在 STP 中,交换机的一个接口成为指定接口后,还需要经过侦听和学习状态,即经过 30 秒时间,才能进入转发状态。而 RSTP 引入P/A 机制( Proposal/Agreement ,握手/赞同),让指定接口与对端接口进行握手,并逐级进行传递避免环路,这个过程不使用计时器。也就是说,完成握手的 RSTP 指定接口从丢弃状态直接进入到转发状态,而不需要经过其它状态,加速生成树的收敛。


Proposal 消息和 Agreement 消息都是 BPDU 。交换机通过 BPDU 中的 Flag(标记)字段来标识 BPDU 的不同类型,包括 Proposal BPDU 和 Agreement BPDU 。


如上图所示,在 SW1 和 SW2 新增一条链路,由于 SW1 的桥优先级最高,成为这个网络中的根桥,SW1 的 G0/1 接口成为指定接口,SW2 的 G0/2 接口成为根接口。如果是运行 STP ,那么指定接口和根接口必须经历侦听和学习状态才能进入转发状态。

如果网络中运行的是 RSTP ,当 SW1 与 SW2 之间新增一条链路后。

SW1 和 SW2 马上在各自的接口上发送 BPDU ,开始的时候双方都认为自己是根桥。


经过 BPDU 交互后,SW2 认为 SW1 才是根桥。这时 SW1 的 G0/1 接口成为指定接口,SW2 的 G0/2 接口则成为根接口,并马上停止发送 BPDU 。这两个接口都处于丢弃状态。


接下来 P/A 过程会发生在 SW1 和 SW2 之间。SW1 从 G0/1 接口发送 Proposal 消息,希望自己能够立刻进入转发状态。


而 SW2 在收到 Proposal 消息后,首先会判断接收 Proposal 消息的接口是不是根接口。在确认自己收到 Proposal 的接口是根接口后,SW2 为了避免出现环路,阻塞自己所有非边缘的指定接口,使这些接口都进入到丢弃状态,这个操作称为 P/A 同步机制。边缘接口不参与这个过程。


在 SW2 所有接口完成同步后,SW2 清楚的知道自己的接口不存在环路,马上将根接口 G0/2 切换到转发状态,并从根接口向 SW1 发送 Agreement 消息。


SW1 在 G0/1 接口上收到 Agreement 消息后,立刻将 G0/1 接口切换成转发状态,这时 PC1 和 PC2 就可以通信了。


整个 P/A 过程很快就完成了,在新增链路后的极短时间内,PC2 就可以和 PC1 通信。另外,由于 SW2 的指定接口 G0/4 还是处于丢弃状态,那么这个接口也会向下游交换机发起一个 P/A 过程。

保护功能

交换机有多种保护功能,用于提升生成树协议的稳定性。

1、BPDU 保护( BPDU Protection )

当边缘接口收到 BPDU 后,会马上变成一个普通的 RSTP 接口,可能引发网络中 RSTP 重新计算,从而对网络造成影响。通常边缘接口连接终端设备,应该不会收到 BPDU ,但是如果误接了交换机,那么这个边缘接口就有可能收到 BPDU ,会引入环路隐患。还有一种情况是恶意用户连接边缘接口后,发起 BPDU 攻击,也会对网络造成很大影响。

通过在交换机上开启BPDU 保护功能就可以解决这个问题。当交换机开启这个功能后,如果边缘接口收到 BPDU ,那么交换机马上把接口关闭,置为 Error-Down ,同时触发告警。


如果受到保护的边缘接口因为收到 BPDU 而被关闭,默认情况下是不会自动恢复的,需要在交换机上手动执行命令开启来恢复接口。除此之外,还可以手动设置接口自动恢复功能,在指定时间后自动恢复。

2、根保护( Root Protection )

RSTP 根据根桥计算出无环拓扑,根桥是很重要的。在已经完成收敛的 RSTP 网络中,如果根桥发生变化,那么 RSTP 就会重新计算,重新计算时网络将不可用。通常我们会选择网络中性能最好和位置最重要的设备作为根桥,将其优先级设置为最小值 0 ,但是这个措施并不能保证这个设备永远是网络中的根桥,毕竟根桥的角色是可以抢占的。如果网络中新接入的交换机优先级被配置为 0 ,恰好 MAC 地址比根桥更小,那么新交换机将抢占成为新的根桥,还会造成网络的 RSTP 重新计算,从而对网络造成影响。


在交换机的相关接口部署根保护功能,就可以规避这个问题。当根桥的指定接口开启根保护功能后,这个指定接口如果收到更优的 BPDU ,就会过滤这个 BPDU ,并将接口切换至丢弃状态,这样根桥的地位就可以保持。如果这个指定接口不再收到更优的 BPDU,那么两倍的转发延迟时间后,接口自动恢复到转发状态。

3、环路保护( Loop Protection )

当网络中出现线路单向故障或者网络拥塞时,交换机的根接口和丢弃状态的替代接口将无法正常接收 BPDU ,就会导致交换机重新进行 RSTP 重新计算,接口的角色和状态会发生变化,可能会在网络中引入环路。


如上图所示,SW1 是根桥,SW3 的 G0/11 是根接口,G0/12 是替代接口处于丢弃状态。SW3 的 G0/12 接口虽然处于丢弃状态,但是会持续侦听 BPDU 。当网络正常时,SW3 会在 G0/12 接口上周期性的收到 BPDU 。如果 SW2 和 SW3 的链路出现单向故障,从 SW2 到 SW3 不通,从 SW3 到 SW2 正常。那么 SW3 的 G0/12 接口无法收到 SW2 发送的 BPDU ,导致 SW3 认为 G0/12 接口的上游设备故障。过了 Max Age 时间后,SW3 的 G0/12 接口会成为指定接口,并切换到转发状态,然后开始发送流量。但是 SW2 并未发生故障,因此一旦 SW3 的 G0/12 接口切换到转发状态,网络中便出现了环路。

使用环路保护功能可以规避这个问题:

在根接口上开启环路保护功能后,如果根接口长时间没有收到 BPDU ,交换机会重新选举根接口,原来的根接口调整为指定接口,且接口状态切换成丢弃状态,从而避免出现环路。

在替代接口上开启环路保护功能后,如果替代接口长时间没有收到 BPDU ,交换机会把替代接口调整为指定接口,且接口状态保持在丢弃状态,从而避免出现环路。

4、拓扑变更保护( TC Protection )

一个稳定的网络是不会频繁出现拓扑变更的,一旦网络拓扑出现变更,TC BPDU( TC 置位的 BPDU )会泛洪到全网,而 TC BPDU 会让交换机执行 MAC 地址表删除的操作。如果网络环境很不稳定,导致 TC BPDU 频繁的泛洪,或者是网络中存在恶意用户,发送大量的 TC BPDU 对网络进行攻击,那么会极大消耗交换机的性能。

交换机开启拓扑变更保护功能后,默认将在 2 秒内只进行一次的 TC BPDU 处理,如果在 2 秒内收到了 2 个及以上的 TC BPDU ,那么交换机只会处理一次,对于超出的部分,必须等待 2 秒后才进行处理。

BPDU

RSTP 的配置 BPDU称为 RST BPDU( Rapid Spanning Tree BPDU ),它的格式和 STP 的配置 BPDU 差不多,只有个别字段做了修改。RST BPDU 的 “ 协议版本 ID ” 字段值是 0x02 ,“ BPDU 类型 ”字段值是 0x02 。主要变化是在 “ 标志 ” 字段,这个字段一共 8 bit ,STP 只使用了最高比特位和最低比特位,而 RSTP 使用了剩余的 6 个比特位,并对这些比特位分别进行了定义。


RST BPDU 的Aggrement(同意)和Proposal(提议)比特位用于 P/A( Proposal/Aggrement )机制。Port Role(接口角色)比特位是 2 bit ,用于标识 RST BPDU 发送接口的接口角色,01 表示根接口,10 表示替代接口,11 表示指定接口,而 00 保留使用。最后的Forwarding(转发)和Learning(学习)比特位表示 RST BPDU 发送接口的接口状态。

RSTP 与 STP 不同,在网络收敛后,无论是根桥还是非根桥,都会周期性的发送配置 BPDU,对于非根桥,不需要在根接口收到 BPDU 之后而产生自己的配置 BPDU ,而是自发的、周期性发送 BPDU 。

MSTP

虽然 RSTP 对 STP 进行了改进,但是还有一个缺陷,那就是所有 VLAN 共用一棵生成树。这样就无法实现负载分担,导致线路带来利用率低、设备资源利用率低。


如果有一种生成树协议,基于 VLAN 进行生成树的计算,那么这种技术有哪些优缺点?优点很明显,交换机为每一个 VLAN 单独计算一棵生成树,可以实现流量的负载分担。但是也有一个缺陷,如果网络中的 VLAN 数量很多,那么所有交换机都要为每一个 VLAN 计算一棵生成树,那么设备的资源消耗巨大,甚至会影响到正常流量的处理。


为了解决这个问题,MSTP( Multiple Instances Spanning Tree Protocol )出现了,兼容 STP 和 RSTP 。生成树不是基于 VLAN 运行的,而是基于Instance(实例)运行的。Instance 是一个或多个 VLAN 的集合。

我们可以将一个或多个 VLAN 映射到一个 Instance ,然后 MSTP 基于 Instance 计算生成树。基于 Instance 的生成树称为MSTI( Multiple Spanning Tree Instance ,多生成树实例),MSTP 为每一个 Instance 维护独立的 MSTI 。映射到同一个 Instance 的 VLAN 共享一棵生成树。可根据实际需求,在交换机上创建多个 Instance ,然后将指定的 VLAN 映射到相应的 Instance 。一个 Instance 可以包含多个 VLAN ,但是一个 VLAN 只能被映射到一个 Instance 。

在创建 Instance 后,我们可以对 MSTI 进行主根桥、次根桥、接口优先级或 Cost 等配置。如果网络中有大量 VLAN ,那么我们可以将 VLAN 按照一定规律分别映射到不同的 Instance 中,从而实现负载分担,而交换机仅对这几个 Instance 进行生成树计算,设备资源消耗大大降低。


MSTP 引入了域( Region )的概念,我们可以将网络划分成多个MST 域( Multiple Spanning Tree Region ,多生成树域),一个 MST 域可以包含一台或多台交换机,同一个 MST 域的交换机必须配置相同的域名( Region Name )、相同的修订级别( Revision Level ),以及相同的 VLAN 与 Instance 的映射关系。

替代方案

学完 STP/RSTP/MSTP 后,解决网络中的二层环路问题,想到的解决方案就是生成树协议。但是生成树协议有天生的缺陷,收敛速度慢,虽然 RSTP/MSTP 对 STP 进行了改进,但是在毫秒级切换的要求下,生成树就不适用了。而且生成树的原理是将环路中的接口进行阻塞,导致被阻塞的线路无法承载流量,造成网络资源的浪费。MSTP 在这方面进行了优化,让不同 VLAN 的流量可以在不同线路进行负载分担,可是对于单个 VLAN 来说,始终会有一些线路无法承载流量。现在已经有许多其它技术或解决方案用于替代生成树协议。

1、Smart Link

Smart Link 是为双上行组网定做的解决方案。


如上图所示,交换机 SW3 一条上行链路连接 SW1 ,另一条上行链路连接 SW2 。在 SW3 上创建 Smart Link 组,将 SW3 的两个上行接口添加到这个组里,G0/1 口指定为 Master 接口、G0/2 口指定为 Slave 接口。默认只有 Master 接口是活跃的( Active ),这个接口可以正常收发流量,而 G0/2 接口会被阻塞( Inactive )。这样网络中的二层环路将被打破。


如上图所示,当 SW3 的 G0/1 接口发生故障,或者线路发生故障,Smart Link 会马上感知到,并且实现毫秒级的快速切换,G0/2 接口将立即切换到 Active 状态,并开始收发流量。在 Smart Link 切换过程中,SW3 还可以使用 Flush 报文去刷新上联设备,即 SW1 和 SW2 的 MAC 地址表等数据,加快网络收敛。

Smart Link 配置简单,切换时间快。由于工作机制的限制,只能适用于特定的双上行组网场景。SW1 、SW2 和 SW3 使用 Smart Link 防环后,也就不需要使用生成树协议了。

2、iStack/CSS

iStack 是华为盒式交换机的堆叠技术。而 CSS( Cluster Switch System ,集群交换系统)是华为框式交换机的集群技术。

什么是堆叠?

所谓堆叠,是指多台物理交换机通过特定的线缆连接,并通过相应的配置,组成逻辑上的一台设备的技术。


STP/RSTP/MSTP 或 Smart Link 都是采用阻塞特定接口的方式实现网络的无环化,使得网络资源得不到充分利用。一旦使用堆叠/集群技术,情况就不一样了。如上图所示,假设 SW1 和 SW2 都是盒式交换机,且都支持 iStack ,那么可以使用堆叠线缆把 SW1 和 SW2 连接起来,然后组建堆叠系统,建立完成后,SW1 和 SW2 不再是两台单独的交换机,而是一个有两个槽位的框式交换机。那么网络结构将大大简化,由于 SW1 和 SW2 在逻辑上是一台设备,设备的管理和配置将变得简单。SW3 分别与 SW1 、SW2 互联的线路,现在可以看做是两台交换机之间的两条链路,我们可以将这两条链路进行聚合,这样网络中将不存在二层环路,也无需部署防环技术。而且所有的链路都处于工作状态,没有接口被阻塞,设备资源和链路资源的利用率将最大化。

3、无二层环路场景


在一些网络中,我们会人为的将网络中的二层环路打破,从而规避防环技术的应用。如上图所示,汇聚层交换机 DSW1 、DSW2 与接入层交换机 ASW1 、ASW2 构成一个倒 U 型组网,ASW1 和 ASW2 之间未连线,因此这四台交换机组成的网络中,并不存在二层环路,也就无需使用生成树技术或其它防环技术了。

这个网络中,服务器使用了双上行链路,服务器的两张网卡以主备的方式运行,假设连接 ASW1 的网卡为主网卡。如果 ASW1 和 DSW1 的链路发生故障,服务器是无法感知到的,依然会从主网卡发送数据,而数据到达 ASW1 后被丢弃。一种解决方案就是在服务器上部署相应的应用程序,周期性的从主网卡发出探测报文,来探测到默认网关的可达性,DSW1 和 DSW2 上配置服务器的默认网关,如果发现主网卡到默认网关不可达,则自动将流量切换到备网卡。

另一种解决方案就是使用华为的Monitor Link技术。Monitor Link 是一种接口联动技术,交换机部署后会持续监控 Monitor Link 的上行接口(可指定接口),当上行接口发生故障时,交换机马上将下行接口(可指定接口)关闭。ASW1 可部署 Monitor Link 技术,将 DSW1 的接口配置为上行接口,将连接服务器网卡的接口配置为下行接口。这样的话,当 ASW1 的上行接口发生故障,交换机立马将连接服务器的下行接口关闭,从而使得服务器立即感知到故障的发生,然后将连接 ASW2 的网卡切换成主网卡,并在新的主网卡上发送数据。

结尾

STP可以在网络中形成一棵无环路的树,解决环路故障并实现冗余备份。


RSTP在 STP 功能基础上,通过替代接口让根接口快速进入转发状态、采用 P/A 机制和设置边缘接口等方法,实现了更快的收敛速度。


MSTP则在大规模、多 VLAN 环境下形成多个生成树实例,从而提供多 VLAN 负载均衡。


MSTP 同时兼容STP 、RSTP ,运行 MSTP 的设备可以识别 STP 、RSTP 两种协议报,并应用于生成树计算。

另外 RSTP/MSTP 与 STP 的接口状态不同,从 STP 的 5 种变成 3 种。


RSTP/MSTP 中,把禁用、阻塞、侦听三种状态合并为丢弃状态,减少状态数量,简化生成树计算,加快收敛速度。


RSTP/MSTP 有更快的收敛速度,简化的端口状态;MSTP 能够实现不同 VLAN 的负载分担。因此尽量使用 MSTP 来避免环路。