docurl=/cn/Products___Technology/Products/Router/Home/Technology_Doc/200906/663302_30003_0.htm

构建高可靠性广域网络,实现业务永续

【发布时间:2010-02-02】

构建高可靠性网络是一个系统工程,不仅仅是只关注网络设计一个阶段就可以,还需要从网络结构、安全、管理、网络优化等方面全盘考虑。

 

文/乌建恒

构建高可靠性网络,是一个复杂的系统工程,一方面,贯穿网络规划、设计、部署实施、维护等各个阶段,另一方面,需要产品提供从设备、链路、服务、应用等各种级别的可靠性特性支持。

同时,在当前“应用为王”的情况下,可靠性实施必须结合用户实际应用加以考虑,而不是简单地就网络谈网络,就链路谈链路,必须把可靠性保障和实施措施同业务进行关联,突出对关键业务的保障。换句话说,当前的IT应用需要的是一个全面的业务连续性保障体系,这种体系将是根据业务应用流程而不是单纯的技术来确定。

从整网来看,广域网的可靠性设计在企业网络基础设施中占据更重要的位置,因为地域跨度大、链路质量不可控、多业务承载带来的应用复杂度大,以及网络虚拟化等因素,在当前应用大集中的背景下,给路由器的高可靠性带来了新的需求。如网络扁平化导致网络规模越来越大,同一个AS域里路由器设备数量越来越多,对路由的快速收敛能力要求越来越高,又如网络接入资源的虚拟化趋势导致可靠性设计从物理链路转向虚拟化隧道,多出口带来的可靠性倒换对用户具体应用质量影响的分析与判断等等,都是当前路由器可靠性特性和广域网可靠性规划设计的新课题。

度量网络的可靠性

首先,高可靠性的网络肯定不能频繁出现故障。IP承载网即使只出现很短时间的中断,都会影响业务运营,特别是时性强、对丢包和时延敏感的业务,如语音、视频和在线游戏等。

其次,高可靠性的网络即使出现故障,也应该能很快恢复。如果一个网络一年仅出一次故障,但这次故障需要几个小时,甚至几天才能恢复,那么这个网络也算不上一个高可靠的网络。

故障次数少、恢复时间短两个特征基本概括了高可靠性网络的特点,再加入统计学的概念,就可以用“可用性(Availability)”这一参数来度量网络的可靠性:,

MTBF:平均无故障时间(Mean Time Between Failures

MTTR:平均修复时间(Mean Time To Repair

可见,如果要提高网络可用性,提高MTBF或者降低MTTR都是有效的方法。MTBF取决于网络设备硬件和软件本身的质量,而这一手段的作用是有极限的,无法一味的通过提高MTBF数值来获得高可用性,因此通过减小MTTR来实现网络高可靠性成为必然的选择。

MTTR的构成来看,要想减小其数值需要从两方面入手,一是以最快的速度发现故障,二是快速从故障状态中恢复出来。因此构建高可靠性网络的基础就是要实现快速故障检测和快速故障恢复。

提高网络高可靠性的各种技术

对于路由器产品而言,目前常用的高可用性技术包括以下几类:

· 单个设备级的硬件可靠性技术:如全分布式架构、冗余主控、冗余交换网、冗余电源、冗余风扇、板卡热插拔等;

· 链路级可靠性技术:链路捆绑,如以太网链路聚合、MPMFR等;环网技术,如RPRRRPP

· 特性级可靠性技术:动态路由快速收敛(如快速helloOSPF的增量SPF技术);不间断转发(NSF/GR);快速重路由(IP/MPLS/VPN快速重路由);快速故障检测技术(BFD);

· 面向应用的多出口环境下智能路由技术:基于应用质量的链路探测技术NQA、动态负载分担、智能路由等;

构建高可靠性的IP承载网

那么,怎样构建高可靠性的IP承载网呢?

首先,要根据客户群体确认具体的可靠性需求,不同用户的网络其高可用性设计目标是不一样的,比如运营商网络对可靠性的要求要远远高于一般的企业网;其次,根据网络结构细化不同网络层次的可靠性需求,比如对同一个企业网来说,核心层要求较高的可靠性,汇聚层要求的可靠性次之,而接入层基本上不需要考虑;再次,客户的投资也很大程度上影响了网络可达到的可用性水平,比如核心层使用RPR环网技术或MPLS FRR可以保证50ms的故障恢复时间,但是这也要求用户付出更多的投资换取足够多的设备端口、链路以及带宽资源。

高可靠性网络设计涉及的内容较多,这里无法逐一说明,我们只从分层、模块化、各层功能定义、冗余设计、特性部署等几个方面简单介绍一下高可用性网络设计建议。

分层的模块化网络架构

在网络整体设计中,采用层次化、模块化的网络设计结构,并严格定义各层功能模型,不同层次关注不同的特性配置,如图1所示。

1 分层的模块化网络架构

通常,网络结构分成接入层、汇聚层、核心层三层。

1)       接入层:提供网络的第一级接入功能,完成简单的二、三层交换,安全认证、QoS标记等;

2)       汇聚层:汇聚来自接入层的流量和执行策略,包括流分类、QoS策略、负载均衡、快速收敛等;

3)       核心层:网络的骨干,提供高速数据转发和路由快速收敛,具有较高的可靠性、稳定性和可扩展性等要求。

当流量通过层次化结构中的收敛点,沿着接入层-汇聚层-核心层逐级传输时,流量种类及其带宽要求都随之增加,因此网络设计时需要考虑的可靠性要求也是逐级增加的。层次化设计的好处就是每一层的功能都很分明,避免全部网络节点互联的全网状结构。图1所示的层次化网络模式由两个有效的核心节点组成,当一个节点发生故障时,另一节点可以提供足够的带宽和容量来为整个网络服务;汇聚层也由两台冗余设备构成,提供足够的带宽容量,一个汇聚节点发生故障不会影响网络性能。

另外,结合模块化的网络结构设计可以进一步增加网络的灵活性和可靠性。模块化网络结构的优势在于易于复制、重新设计并扩展,无需每次添加或拆除模块时都重新设计整个网络;可以运行或中断任何模块与组件的运行,而不会影响网络的其他部分。这种结构可以促进网络的故障排除、故障隔离,同时也便于网络管理。

分层结构的高可靠性设计建议

1.接入层

接入层是网络最边缘的设备,其直连的一般就是终端用户,因此在网络设计时只需要考虑简单的冗余技术即可。接入层建议采用的可靠性技术包括:

· 接入路由器和交换机设备本身的引擎和电源冗余

· VRRP等冗余网关技术

2.汇聚层

汇聚层汇聚来自接入层的各种业务流量,保护核心层网络不受接入层的影响。此外,汇聚层还创建故障边界,在接入层发生故障时提供逻辑隔离点,因此汇聚层也是网络高可靠性设计的主要关注点。汇聚层建议采用的可靠性技术包括:

· 设备本身的引擎、交换网和电源冗余

· 双设备配置,为接入层设备提供双归属的上行链路

· 路由协议级的高可靠性技术,如IGP快速收敛、协议GRIP快速重路由等

同时,在做汇聚层网络设计时还需要充分考虑故障边界的设置,例如在路由协议部署时

进行合适的区域划分、使用协议GR等等,保证在接入层网络出现故障时能够隔离故障,避免扩散到核心层。

3.核心层

核心层设备作为整个网络的骨干,需要提供快速的数据交换能力和极高的可靠性,从备份和负载分担角度可选用具备自愈能力的环网、多核心的方式组网;从单台设备考虑,选用转发性能和可靠性极高的高端路由交换设备,必须支持关键部件冗余、全分布式转发等特性;同时要求具备对高可靠性相关协议的支持。核心层建议采用的可靠性技术包括:

· 设备本身的引擎、交换网和电源、风扇冗余

· 支持RPR等具备自愈能力的环网技术

· IGP快速收敛、协议GRIPMPLS快速重路由技术等

4.冗余备份设计

在汇聚层和核心层的可靠性设计建议中我们都提到了设备自身关键部件冗余、链路冗余、网络节点冗余等技术,但是在实际的网络设计中并不是冗余越多越好,否则过多的冗余会增加网络配置和协议计算的复杂度,反而延长网络故障的收敛时间,适得其反。对于设备自身的电源、引擎、交换网、风扇等关键部件的冗余是高可靠性设备的基本要求,这里不再赘述,下面重点说明一下链路冗余和网络节点冗余的设计建议。

·  链路冗余

链路冗余是高可靠性网络设计中最常用、也是非常有效的冗余技术,很多协议对链路冗余也提供了很好的支持,如VRRP、链路聚合、ECMP等。 链路冗余要尽量设计的简洁、清晰,过分的网状连接会增加协议计算的复杂度和收敛的不确定性,通常一条主用链路准备一条备份链路即可(链路聚合组中多条链路可靠性更高)。

· 网络节点设备冗余

在传统的星型网络连接中,一个节点的故障往往会导致下挂所有节点设备的业务中断;或下挂节点设备有大流量业务冲击时,上层设备处理能力不够。为解决这些问题,在网络设计中可采用“网络节点冗余+链路冗余”的设计方法。比如在汇聚层网络中采用冗余网络节点的方式,通过协议配置,正常情况下业务可通过两台设备分别上行转发,降低大业务量对单台设备的压力;当一台汇聚层设备故障的时候,下联的接入层设备的业务都可以切换到另外一台汇聚层设备上正常转发,增强了网络对单点设备故障的容错能力。另外,在网络节点冗余的基础上再辅以BFD等快速故障检测协议,可以进一步加快网络节点故障的检测速度,从而实现业务层面的快速收敛。

总结

构建高可靠性的IP承载网,需要:

在网络规划阶段细致分析用户应用需求和业务模式,根据实际业务需求对影响网络可用性影响的关键节点和链路进行合理规划。

在网络设计阶段合理规划网络结构,对关键节点和链路作充分的冗余设计,并采用合适的高可用性技术手段。同时,还需要对网络安全给予足够的关注,避免因为网络设计上的个别安全漏洞影响整个网络的可靠性。

在网络建成后的维护阶段利用合适的网络管理工具持续对网络业务流量进行分析,不断优化网络,提升网络可靠性水平。