网络通信 频道

如何控制大型VRRP交换网络中的组播流量

随着Internet和Intranet的日益普及,人们对网络的依赖性也越来越强,恢复性和冗余性已成为今天局域网中的关键特性。从负载平衡服务器网卡的可恢复性到主干网交换机的冗余,局域网技术使高可靠性网络成为更加普遍的特性。
为此,IETF(Internet工程任务组)制定了虚拟路由器冗余协议(Virtual Router Redundancy Protocol,VRRP),应用于作为静态配置缺省网关上的第三层交换机和路由器,为依赖于缺省网关进行广域网接入或访问其它局域网网域的终端系统提供更快、更有效的冗余容错能力。因此,为了提供一种7X24小时的网络架构,不少单位和组织,如电信、银行、证券、甲级写字楼等,都在自己的交换网络中采取了基于虚拟路由冗余协议VRRP的解决方案。
由于采用VRRP协议的交换网络规模一般比较大,网络结构比较复杂,网络应用比较多,收敛速度慢,再加上VRRP协议本身需要组播来维持,因此,使用VRRP协议的网络组播流量一般远大于同等规模的网络,这些组播流如果不加以控制,容易形成组播风暴,造成整个网络的瘫痪。
本文从介绍VRRP技术开始,探讨如何控制大型VRRP交换网络中的组播流量。

VRRP技术的概述及典型配置

终端可以使用多种方法决定它们到特定的目的IP地址的第一跳。这些方法包括运行一个诸如RIP或者OSPF的动态路由协议,或者一个静态路由配置。但是在每一个终端都运行一个动态的路由协议是不可行的,它受到管理开销、处理开销、安全问题以及一些平台上协议实现的限制;而且,当前的路由器损坏时,终端切换到另一个路由器的过程也是较慢的。因此静态路由的使用也是非常普遍的。它可以使终端的配置和处理过程的开销最小,并且得到了IP实现的支持。但这种方法有一个缺点,即如果路由器在一个灾难性的事件中损坏,由于其他的终端主机没办法找到一条可替换的路径,那么它将与其它所有终端主机隔离,形成单点故障。VRRP就是用于消除静态路由的这个缺点的。
VRRP协议将系统中多台路由器组成VRRP组,该组拥有一个虚拟缺省网关地址。在任何时刻,一个组内只有控制虚拟网关地址的路由器是活动的(master),并由它来转发数据包,如果活动路由器发生了故障,将选择一个优先权最高的冗余备份路由器(backup)来替代活动路由器。由于网络内的终端配置的是VRRP虚拟网关地址,因此在它们看来,虚拟路由器没有改变。所以主机仍然保持连接,没有受到网络中单点故障的影响,这样就较好地解决了路由器切换的问题。
VRRP中定义了一种报文-VRRP报文,这是一种多播报文,由主路由器定时发出来通告它的存在,使用这些报文可以检测虚拟路由器各种参数,还可以用于主路由器的选举。
VRRP中定义了三种状态模型:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有活动状态可以为到虚拟IP地址的转发请求服务。
近年来,随着交换机的第三层交换能力的不断提高,VRRP技术不再仅仅局限于路由器上的使用,而是逐步引入到大型的交换网络,以实现高可靠性的第三层交换的冗余备份,其典型的采用VRRP技术的交换网络拓扑结构(采用紧缩核心设计)如图1所示。接入层交换机分别通过两条链路与两台核心交换机相连,一台核心交换机活动,一台备份,两台交换机之间互连,VRRP配置在核心交换机上,当活跃的交换机故障时,备份交换机将负责转发数据包,直到原master交换机恢复。
VRRP技术支持以太网,快速以太网、千兆以太网和多标记交换的虚拟专用网和虚拟子网(MPLS VPN and VLAN)。

图1

网络中主要组播流量的来源分析

VRRP协议自身的组播
主控路由器(master)将定时向本组中其他路由器发送组播,这些组播包含了主控路由器的状态和优先级,用来决定和维护组内的路由器角色。VRRP组播使用的目的地址是由IANA标准指定的多点广播地址224.0.0.18。协议默认为组播每秒发送一次,该时间间隔是可以配置的。
在大型的交换网络中,由于存在多个VLAN(设为P个)。因此,需要配置P个VRRP网关,这些网关将以默认1秒的时延不停地发送组播(假定每个VRRP组播的流量为M兆)。如果核心交换机所有TRUNK口(设为Q个)绑定所有的VLAN,那么核心交换机需要处理的VRRP组播流量就等于P X Q X M兆,当P和Q的数量较大而核心交换机处理能力较小时,此组播流量将对网络造成较大影响。

网络拓扑结构变化引起的组播
VRRP协议使交换网络中出现了冗余路由,为了避免和消除网络中的环路,交换机必须配置生成树协议(STP)来协商一条到根网桥的无环路路径,用来进行生成树协议运算的桥接协议数据单元(BPDU)也是一种组播数据包,在交换机端口上每两秒钟发送一次。在生成树协议收敛以后,网络中的冗余数据路径会被强制进入备份(阻断)状态,但它们仍然知道网络的拓扑结构。如果正在转发数据的链路失效了,它们就可以被启用。
当生成树中的网络拓扑结构变化时,在生成树的根方向上激活了拓扑结构变化的BPDU的产生。为了到达根交换机,每台交换机都从根端口向指定交换机转发拓扑结构变化的BPDU。在这个过程中将产生很大的组播流量,如果生成树不能较快地收敛,在网络中将形成环路或网络震荡,很快使整个网络瘫痪。

网络中其他组播业务的大量应用
由于使用VRRP协议的交换网络规模通常较大,一般有流量较大的组播业务的应用,如视频点播、多媒体会议等,另一方面,网络内部也有一些依赖广播和组播而实现的功能,如NTP、ARP等。这些组播的存在,可能会在某一时刻造成局部的网络“塞车”,演变成滚雪球的效应,甚至成为形成组播风暴的诱因。

VRRP网络中组播流量的综合分析及举例
以上三个方面是VRRP网络中三种主要的组播流量来源,但任何一种组播都很难生成组播风暴,但如果在同一时刻,由于VRRP网络复杂的网络环境,三种甚至更多的广播和组播同时出现,互为因果,网络将变得很脆弱,很容易瘫痪。下面举例说明此过程。
在图2所示的网络中,大量的接入层交换机SWITCH-C通过两条链路分别与两台核心交换机SWITCH-A、SWITCH-B相连。核心交换机以SWITCH-B为根,接入层交换机以自己为根。SWITCH-B为VRRP主控路由器(master),它与SWITCH-A直接互连。

图2
组播风暴产生的过程如下:
1.网络内大量的应用数据流量,抢占了链路上的带宽,使核心交换机处理压力增加,使主干端口无法及时转发VRRP数据包和BPDU包。
2.SWITCH-A没有收到SWITCH-B的BPDU包(转发时延为15秒),SWITCH-A交换机端口由阻塞状态进入学习转发状态。同时,SWITCH-A向SWITCH-B发送拓扑结构变化BPDU包,通知SWITCH-B网络拓扑结构发生变化。
3.互连端口持续的组播流量使SWITCH-B没有收到来自SWTICH-A的BPDU包,这样SWITCH-A的端口变成转发,同时变为根交换机,SWICH-A的VRRP状态由backup变为master,往所有转发端口发送VRRP组播。
4.组播到达接入层交换机后,接入层交换机向SWITCH-B转发。
5.SWITCH-B收到此组播后又通过互连端口向SWITCH-A转发,从而形成环路。

网络优化的几点措施

加大核心交换机互连链路的带宽
如上分析,核心交换机之间的互连链路有大量的广播和组播流量,如果由于带宽不够而造成此链路阻塞,则VRRP的备份交换机将变为master,这样网络中将存在两个master。因此,此链路的正常是VRRP网络正常的保证。几乎所有由于广播引起的网络故障都可以通过在此链路上抓包而发现异常。所以,有必要加大此链路的带宽,建议此链路由百兆改千兆,甚至多个光口做吉比特以太通道连接。

修改VRRP通告间隔时间
VRRP默认的通告间隔时间是1秒,若将此时间延长,则成倍地减少了每个端口VRRP广播量,也就减少了M(参见前文)的值。而且,VRRP通告间隔时间过短在大型交换网络中会造成即使网络拓扑没有发生变化也会引起VRRP状态的波动。这是由于大型网络核心交换机的网络负载较重时,有可能无法保证备份路由器在3个时间周期内收到主路由器的VRRP协议包,备份路由就会开始重新竞选新的主路由器。这就造成VRRP状态的波动,带来整体网络的运行不稳定。因此,可以根据网络的拓扑结构和负载流量来延长VRRP的通告间隔时间。但是,由于VRRP通告间隔时间的延长,VRRP网络中主备切换的时间将延长,也就是说,核心交换机更难发现网络中拓扑结构的变化。因此,不可将此时间一味地延长,而是应根据网络的实际情况做适当的调整。

STP(生成树协议)优先级的设定
Spanning Tree协议通过优先级的设定确定谁是根交换机。建议将SWITCH-B的优先级设置为远大于SWITCH-A,这样可以保证SWITCH-B交换机的根交换机和master路由交换机的地位,直到网络拓扑结构出现改变。

修剪TRUNK口
对TRUNK口进行修剪,从绑定所有VLAN修改到只绑定该端口能接收到的部分VLAN,也就是减少了P(参见前文)的数量,从而减少交换机的计算量和端口上的流量。

STP使用DUAL-LAY的模式
部分厂商的交换机具有多层生成树的功能,在网络核心交换机之间通过私有的BPDU交换生成树信息,从而在网络核心形成一个专有的生成树域,把分布层/接入层的交换机隔离成为多个标准的802.1D生成树域,这样提供整体网络拓扑的稳定性,加快生成树的聚合时间。
在接入层交换机上还可以配置上行速链路(UplinkFast),它使接入层交换机一发现线路阻塞,马上切换到转发状态,不需要经过学习和倾听阶段,UplinkFast的切换时间可以控制在2到4秒,但由于它仍然依靠STP,所以在实践中的效果不如端口冗余技术明显。

STP使用Per-VLAN的模式
对于不支持DUAL-LAY的厂商的交换机,建议采用Per-VLAN的STP模式(PVST),即对每个VLAN建立一个独立的生成树。与公共生成树(CST)相比,PVST减少了生成树拓扑结构的总体大小,改进扩展性并减少了收敛时间,提供更快的恢复能力和更高的可靠性。但同时交换机为VLAN支持生成树付出维护开销,Trunk link上需为各个VLAN支持BPDU付出较大的带宽开销。

接入层交换机使用PORT REDUNDANCE
在Cisco、Avaya、3Com等厂商的接入层交换机上都具有端口冗余,或者叫弹性链路的特性。在交换机的端口上,通过厂商专有的技术,实现硬件上的故障切换。在主链路发生中断时,备份链路会在1~5秒的时间内切换到工作状态。这样的技术不需要有生成树协议的运算,没有BPDU的开销,而且切换时间远远低于生成树的收敛时间(生成树缺省的收敛时间是50秒,而且随着网络拓扑的复杂化,收敛时间还会增加)。因此,在接入层交换机适合采用这种简单易用的方式实现链路的冗余备份。

VRRP虚拟端口优先级的设定
建议将成为生成树根网桥的核心交换机上VRRP的虚拟端口优先级设置为最高,这样保证VRRP主路由器与生成树根网桥一致性,防止因网络拓扑的变化引起VRRP状态的波动。

关闭多余的广播和组播业务
如前所述,网络中包含了很多广播和组播业务的应用,有一部分是无意义的或不需要的,如:网络内部的NTP服务,ARP-TX服务等,这样可以节省更多的带宽。

升级交换机软件版本
交换机软件版本的升级可以给交换机增加新的功能,改进原有的算法。因此,建议网络工程维护人员经常升级交换机软件,提升交换机的速度,提高交换机的性能。

结束语

VRRP网络不可能完全消除组播流量的存在,但网络工程师们需要对其进行控制,使其不影响网络的正常运行,本文就此出发,对一个典型的VRRP网络环境进行了分析,并提出几点网络优化的措施,但不同的网络环境有各种不同的优化方法组合,因此,每个网络都要为自己量身定做最适合自己的方案。另外,本文所叙的部分优化措施基于Cisco、Avaya.3Com等厂商的交换机,其他厂商可能也存在类似技术,不再详述。

文章转载地址:http://www.365master.com/kt_article_show.php?article_id=929&categ_code=10151002

0
相关文章