架设不断网的企业网络:冗余技术
冗余技术简介
随着 Internet 的发展,大型园区网络从简单的信息承载平台转变成一个公共服务提供平台。作为终端用户,希望能时时刻刻保持与网络的联系,因此健壮,高效和可靠成为园区网发展的重要目标,而要保证网络的可靠性,就需要使用到冗余技术。高冗余网络要给我们带来的体验,就是在网络设备、链路发生中断或者变化的时候,用户几乎感觉不到。
为了达成这一目标,需要在园区网的各个环节上实施冗余,包括网络设备,链路和广域网出口,用户侧等等。大型园区网的冗余部署也包含了全部的三个环节,分别是:设备级冗余,链路级冗余和网关级冗余。 本文将对这三种冗余技术的基本原理和实现进行详细的说明。
设备级冗余技术
设备级的冗余技术分为电源冗余和管理板卡冗余,由于设备成本上的限制,这两种技术都被应用在中高端产品上。下图是某厂商交换机的电源冗余技术:
如图所示,某厂商设备内置了两个电源插槽,通过插入不同模块,可以实现两路AC电源或者两路DC电源的接入,实现设备电源的 1+ 1 备份。工程中最常见配置情况是同时插入两块 P6800-AC 模块来实现 220v 交流电源的 1+1 备份。
电源模块的冗余备份实施后,在主电源供电中断时,备用电源将继续为设备供电,不会造成业务的中断。
注意: 在实施电源的1+1冗余时,请使用两块相同型号的电源模块来实现。如果一块是交流电源模块 P6800-AC,另一块是直流电源模块 P6800-DC 的话,将有可能造成交换机损坏 。
交换机的管理板卡冗余技术
如图 所示,某款交换机提供了两个管理卡插槽,M6806-CM为RG-S6806E 的主管理模块。承担着系统交换、系统状态的控制、路由的管理、用户接入的控制和管理、网络维护等功能。管理模块插在机箱母板插框中间的第 M1,M2 槽位中,支持主备冗余,实现热备份,同时支持热插拔。
简单来说管理卡冗余也就是在交换机运行过程中,如果主管理板出现异常不能正常工作,交换机将自动切换到从管理板工作,同时不丢失用户的相应配置,从而保证网络能够正常运行,实现冗余功能。
在实际工程中使用双管理卡的设备都是自动选择主管理卡的,先被插入设备中将会成为主管理卡,后插入的板卡自动处于冗余状态,但是也可以通过命令来选择哪块板卡成为主管理卡。具体配置如下
注意:在交换机运行过程中,如果用户进行了某些配置后执行主管理卡的切换,一定要记得保存配置,否则会造成用户配置丢失。
在实际项目中, S65和 S68系列的高端交换机一般都处于网络的核心或区域核心位置,承载着园区网络中关键的业务流量。 为了提供更可靠的网络平台。
链路级冗余技术
在大型园区网络中往往存在多条二层和三层链路,使用链路级冗余技术可以实现多条链路之间的备份,流量分担和环路避免。本章将对几种主要的链路冗余技术进行阐述。
二层链路冗余的实现:
在二层链路中实现冗余的方式主要有两种,生成树协议和链路捆绑技术。其中生成树协议是一个纯二层协议,但是链路捆绑技术在二层接口和三层接口上都可以使用。首先介绍的是链路捆绑技术( Aggregate- port)。
二层链路捆绑技术
AP 技术的基本原理
把多个二层物理链接捆绑在一起形成一个简单的逻辑链接,这个逻辑链接我们称之为一aggregate port(简称AP)。AP是链路带宽扩展的一个重要途径,符合 IEEE 802.3ad 标准。
它可以把多个端口的带宽叠加起来使用,形成一个带宽更大的逻辑端口,同时当AP中的一条成员链路断开时,系统会将该链路的流量分配到 AP 中的其他有效链路上去,实现负载均衡和链路冗余。AP技术一般应用在交换机之间的骨干链路,或者是交换机到大流量的服务器之间。
二层 AP 技术的基本应用和配置
下面来看一个简单的AP应用实例:
在图中两台交换机存在两条百兆链路形成了环路,如果要避免环路的话必须要启用生成树协议,这样会导致其中一条链路被阻塞掉,既造成了带宽的浪费,同时也违背了使用两条链路实现冗余加负载分担的设计初衷。
在这种情况下使用 AP 技术可以园满的解决这个问题,通过捆绑两条链路形成一个逻辑端口 AggregatePort ,带宽被提升至 200M ,同时在两条链路中的一条发生故障时,流量会被自动转往另一条链路,从而实现了带宽提升,流量分担和冗余备份的目的。
具体的设备配置以其中 S3550-1 为例:
配置完成后使用命令检查结果如下:
S3550-1#show aggregatePort 1 summary
AggregatePort MaxPorts SwitchPort Mode Ports
------------- -------- ---------- ------ -----------------------
Ag1 8 Enabled Access Fa0/1 , Fa0/2
可以看到 Ag1 已经被正确配置, F0/1 和 F0/2 成为 AP 组 1 的成员。
二层 AP 技术的负载均衡
AP技术的配置和应用环境都并不复杂,但是在实际项目使用AP的时候,很多人往往忽视了一个问题,那就是如何用好AP的负载均衡模式。
二层AP有两种负载均衡模式: 基于源MAC或者是基于目的MAC进行帧转发。在实际项目中,灵活运用这两种模式才能使得AP发挥最大的功效。
在图中可以看到在核心和汇聚之间存在一条由三个百兆组成的AP链路,缺省情况下二层 AP 基于源 MAC 地址进行多链路负载均衡。这样做在用户侧交换机上是没有任何问题的,因为数据来自不同的用户主机, 源 MAC 不同;但是如果在核心交换机上也根据源 MAC来投包的话,仅仅会利用上三条链路中的一条,因为核心交换机发往用户数据帧的源 MAC只有一个,就是本身的 SVI 接口 MAC 。因此为了能够充分利用 AP 的所有成员链路, 必须在核心交换机上更改成基于目的 MAC 的负载均衡方式。
调整二层 AP 负载均衡模式的配置以 S3550 为例:
生成树技术
本章节主要介绍如何在实际项目中运用生成树技术实现二层链路的冗余和流量分担,对于生成树技术原理不会做过多的描述,如果对生成树技术有兴趣的读者请自行查阅资料。
生成树协议 802.1D STP 作为一种纯二层协议, 通过在交换网络中建立一个最佳的树型拓扑结构实现了两个重要功能:环路避免和冗余。但是纯粹的生成树协议 IEEE 802.1D 在实际应用中并不多,因为其有几个非常明显的缺陷 :,收敛慢,而且浪费了冗余链路的带宽。
作为STP 的升级版本, IEEE 802.1W RSTP解决了收敛慢的问题, 但是仍然不能有效利用冗余链路做负载分担。因此在实际工程应用中,往往会选用 802.1S MSTP 技术。
MSTP技术除保留了RSTP快速收敛的优点外,同时MSTP能够使用 instance(实例)关联 VLAN 的方式来实现多链路负载分担。下面我们来看一个实例:
使用STP实现链路冗余
如图是一种常见的二层组网方式,三台交换机上都拥有两个VLAN , VLAN10和VLAN20 。接入层交换机到汇聚交换机有两条链路,如果使用802.1D STP技术来进行链路冗余的话,会导致下图中的结果:
从图中可以很清楚的看出使用 802.1D STP 或 802.1W RSTP,虽然能够实现链路冗余,但是无论如何都会导致 S2126G 的某条上行链路被阻塞,从而导致链路带宽的浪费。
使用MSTP实现链路冗余和负载分担
如果使用 802.1S MSTP 的话,就可以同时达到冗余和流量分担的目的。现在来看看在这种拓扑结构下,如何正确使用 MST 实现以上功能 .
(1)在三台交换机上全部启用MST,并建立VLAN 10到 Instance 10 和 VLAN 20 到Instance 20 的映射,这样就把原来的物理拓扑,通过 Instance 到 VLAN 的映射关系逻辑上划分成两个拓扑,分别对应VLAN 10 和VLAN 20 。
(2)调整S3550-1 在 VLAN10 中的桥优先级为 4096,保证其在 VLAN 10 的逻辑拓扑中被选举为根桥。 同时调整在 VLAN20 中的桥优先级为 8192,保证其在VLAN20 的逻辑拓扑中的备用根桥位置。
(3)S3550-2 的调整方法和 S3550-1 类似,也是要保证在 VLAN20 中 ,S3550-2 成为根桥,在 VLAN10 中,其成为备用根桥。
下图非常形象的描述了本案例使用 MSTP 的实现过程
MSTP的配置实例:
S2126G 配置如下
S3550-1 配置如下
S3550-2 配置如下
注意:由于 MST 的配置较为复杂, 因此在下面列出了 MST 的配置中一些经常出现的错误。
(1) Spanning-tree 模式没有选择。
(2) 各个交换机 Instance 映射关系不一致,从而导致交换机间的链路被错误阻塞。
(3) 很多工程师在配置完 S3550-1 在 Instance10 中的根桥优先级后, 没有将其设置成另一个实例的备用根桥。 这是非常危险的操作, 因为一旦出现 Instance20 的主用链路失效后可能导致 S2126G 被选举为根桥, 使得 VLAN20 的所有流量都必须经过 S2126G 这种接入层交换机,在极端情况下可能导致 S2126G 当机。
(4) MST 的配置顺序问题, 应该在配置完MST的参数后再打开生成树,否则有可能出现MST工作异常的情况。
(5) 没有指定VLAN到Instance关联VLAN都被归纳到Instance0,在实际工程中需要注意 Instance0 的根桥指定。
三层链路冗余技术
三层链路冗余技术较二层链路冗余技术丰富很多,依靠各种路由协议可以轻松实现三层链路冗余和负载均衡。另外三层链路捆绑技术也提供了路由协议之外的一种选择。由于在当前的大型园区网络中,绝大部分情况使用的路由协议都是OSPF,因此在讨论基于路由协议的冗余技术时,只考虑使用OSPF 的情况。
三层链路捆绑技术
三层链路的AP和二层链路AP技术的本质都是一样,都是通过捆绑多条链路形成一个逻辑端口来实现增大带宽,保证冗余和负载分担的目的。在本节中就只介绍三层 AP 的基本配置。
如图所示,两台 S3550 需要建立三层 AP,以 S3550-1 为例,其配置如下:
注意:建立三层 AP 需要首先手动建立汇聚端口,并将其设置为三层接口。如果直接将交换机端口加入的话,会出现接口类型不匹配,命令无法执行的错误 。
三层AP的负载均衡模式
和二层AP一样,三层AP也需要选择负载均衡模式,配置如下:
基于OSPF的三层链路冗余技术
基于OSPF的三层链路冗余技术在大型园区网络中使用广泛,通过 cost值的调整可以非常容易的实现链路冗余和负载分担。
图中的OSPF网络通过cost调整很好的实现了链路,核心设备和出口的冗余备份和负载分担。其实对于这种拓扑接口的网络,使用 OSPF 还有另外一种解决方案,那就是不修改 cost 值,在 S6806E 的两条上行链路做负载均衡。这种方式看似比前一种方案更合理。但是在实际项目中, 由于园区内部使用私有地址, 在出口路由器上需要做 NAT 转换, 因此在这种拓扑中是不可行的。对于这种网络不可能实现真正意义上的负载均衡,只能通过规划设计来合理分配链路流量。
下面来看看下图中的网络,这个OSPF网络由于是单出口的拓扑结构, 因此不需要通过人工调整cost 值来实现流量分担。只需要更改OSPF 的参考带宽,OSPF会自动实现负载均衡功能。
网关级冗余技术VRRP的实现
前面谈到的冗余技术保证了园区网络级别的冗余,同样对于使用网络的终端用户来讲,也需要一种机制来保证其与园区网络的可靠连接,这就是网关级冗余技术。
VRRP 是一种容错协议,它保证当主机的下一跳路由器失效时,可以及时的由另一台路由器来替代,从而保持通讯的连续性和可靠性, VRRP协议通过交互报文的方法将多台物理路由器模拟成一台虚拟路由器,网络上的主机与虚拟路由器进行通信。一旦 VRRP组中的某台物理路由器失效,其他路由器自动将接替其工作。
单VLAN的VRRP应用
单VLAN中VRRP的典型应用如下图所示,图中所有设备和用户都处于 VLAN10中,对于用户来说,其电脑的网关被设置为虚拟路由器 S3550-3 的 IP 地址,实际上真正进行转发的设备是S3550-1 ,S3550-2 作为冗余。一旦 S3550-1 出现故障, S3550-2 将自动接替其工作,对用户来说是感知不到这种变化的。
在单VLAN 中,VRRP的基本配置如下:
S3550-1 的配置
S3550-2 的配置
多VLAN中的VRRP路由器负载分担:
在多VLAN 的情况下,如果使用S3550-1作为主网关,S3550-2 仅仅用来做冗余的话实际上对网络资源是一种极大的浪费。多VLAN 中的 VRRP 路由器负载分担模式本质上是单VLAN中VRRP应用模型的拓展。如下图所示,针对不同的VLAN中建立相应的VRRP组,通过优先级调整来使得路由器在多个VLAN 中充当不同的角色, 这样可以让流量均匀分布到链路和设备上,从而实现冗余和流量分担的目的。这种应用思想和 MST 的多VLAN流量分担相似,也是基于VLAN实现逻辑拓扑的划分。
在多VLAN环境下,实现VRRP 路由器负载分担的基本配置如下:
S3550-1的配置
S3550-2的配置
经过以上配置后, 最终在 VLAN10 中建立 VRRP 组 1,S3550-1 被当选为主网关, S3550-2成为备用网关,而在 VLAN 20 中建立 VRRP 组 2, S3550-2 被当选为主网关, S3550-1 成为备用网关。
冗余技术的综合使用实例: MSTP VRRP
由于每种冗余技术都工作在特定层面上,所以在网络实际应用时需要多种冗余技术的结合使用才能真正保证网络的可靠性。下面将为大家介绍一个冗余技术综合运用的实例,使用MSTP VRRP来实现基于 VLAN 的链路冗余和网关冗余。
如图所示,这是一个大型园区网络的某个汇聚节点的拓扑图,共有两个用户VLAN :VLAN10 和 VLAN20 ,在接入交换机 S2126G 到三层汇聚使用了双核心和双链路备份。对于这种类型的网络,设计者的意图很明显:希望得到最高的安全性和合理的流量分担。为了实现这个目的,必须把MSTP和VRRP 结合使用。如图 8-14 所示。
对于这种案例来说, 其实把拓扑图分解成单个 VLAN 的逻辑拓扑后, 理解起来是很简单的,无非就是先通过调整桥优先级选出本 VLAN 的根桥, 然后再调整 VRRP 的优先级使得这台根桥同时成为对应 VRRP 组的主网关。
这样正常情况下两个 VLAN 的用户的数据流量分别通过不同的上行链路和网关进入园区网络,实现了链路和网关的负载分担。同时在故障出现时, MSTP 保障二层冗余链路切换功能,而 VRRP 保证备用网关的倒换,两种技术被有机的结合,从而完美的解决了这类网络的冗余问题。
本案例的具体配置如下:
S3550-1在VLAN10和VLAN20中的配置
S3550-2在VLAN10和 VLAN20 中的配置
注意:在实际工程中做 VRRP MSTP 的配置,一定要注意一个 VLAN中根桥的位置和VRRP主网关的位置必须一致,否则会造成网络故障。