背景技术
目前构建大范围的二层网络的主要技术手段就是Trill(TransparentInterconnection of Lots of Links,多链路透明互联)。Trill是由IETF提出的"以太帧多路径转发"技术标准,目前该标准还处于草案阶段。Trill提供了一种与传统以太帧转发方式完全不同的技术。"多路径"概念以往只用于IP转发。当两台路由设备间存在多条等价转发路径(等价或非等价),路由设备可根据路由协议的计算结果,将IP报文沿最短路径、并按照路径度量值,基于流的方式进行分担转发,由此可充分利用带宽资源。Trill技术将IP报文转发思路应用于以太帧转发,支持Trill技术的以太网交换机被称为RB(Routing Bridge,路由桥设备)。
图1为数据中心Trill组网示意图。网络分为核心层、汇聚层和接入层。接入层是Trill网络与传统以太网的边界;汇聚层RB不提供主机接入,只负责Trill帧的高速转发。每个接入层RB通过多个高速端口分别接入到多台汇聚层RB上,也就是说整个数据中心可以构建拥有上万台服务器的大二层网络。汇聚层不能支持三层终结,也就是说Trill的汇聚层不能做网关设备,必须要在汇聚层上再增加一层路由设备来做网关。
Trill技术在数据中心内应用客观上增加了服务器接入的密度。在这样一个二层网络中最大可以接入12K台服务器,如果每台物理服务器上还运行10个VM(virtual machine,虚拟机),则整个二层网络中会有120K虚拟机。如此超大规模的服务器集群会对网关产生巨大的压力,尤其是网关上的流量压力,必须保证网关数量足够多,并且多个网关之间一定要能够尽量负载均衡,才能承担超大规模的二层网络流量压力。在Trill组网中,为了保证多个网关之间的负载均衡,通常会在多个网关之间启用VRRPE(Virtual Router Redundancy ProtocolExtended,虚拟路由设备冗余增强协议)。
VRRPE是VRRP的增强型协议,支持同一个VRRP组流量的负载分担。可以说,VRRPE是VRRP的负载均衡模式。VRRP负载均衡模式在VRRP提供的虚拟网关冗余备份功能基础上,增加了负载均衡功能。其实现原理为:将一个虚拟IP地址与多个虚拟MAC(Media Access Control,介质访问控制)地址对应,VRRP备份组中的每个路由设备都对应一个虚拟MAC地址,使得每个路由设备都能转发流量。在VRRP负载均衡模式中,只需创建一个备份组,就可以实现备份组中多个路由设备之间的负载分担,避免了VRRP备份组中Backup(备份)路由设备始终处于空闲状态、网络资源利用率不高的问题。VRRP负载均衡模式中,Master(主)路由设备负责为备份组中的路由设备分配虚拟MAC地址,并根据负载均衡算法为来自IPv4网络中不同主机的ARP(地址解析协议)请求,或者来自IPv6网络中不同主机的ND(邻居发现)请求,应答不同的虚拟MAC地址,从而实现流量在多个路由设备之间分担。备份组中的Backup路由设备不会应答主机的ARP(IPv4网络中)/ND(IPv6网络中)请求。
如图2所示,为VRRP负载均衡架构示意图。其中,备份组的虚拟IP地址为10.1.1.1/24,Master路由设备为RouterA(路由设备A),Backup路由设备为Router B和Router C。Router A为Router A、Router B和Router C分配不同的虚拟MAC地址。当主机Host A、Host B和Host C发送ARP请求时,获取网关10.1.1.1对应的MAC地址,Master路由设备RouterA根据负载均衡算法,利用不同的虚拟MAC地址应答主机的ARP请求:HostA获取的MAC地址为RouterA的虚拟MAC地址,即Host A认为网关的MAC地址为Router A的虚拟MAC地址000f-e2ff-0011,从而保证Host A的流量通过Router A转发。Host B获取的MAC地址为Router B的虚拟MAC地址000f-e2ff-0012,保证Host B的流量通过Router B转发。Host C获取的MAC地址为Router C的虚拟MAC地址000f-e2ff-0013,保证Host C的流量通过Router C转发。
VRRPE技术虽然能实现整个VRRP族内部的负载均衡,但这是指客户端与服务器之间的流量(简称南北流量)负载均衡。但目前数据中心的实际情况是:服务器之间内部的流量(简称东西流量)远远大于南北流量。东西流量也可以分成两类:东西二层流量(vlan内流量)和东西三层流量(跨vlan流量);这两种流量的比例由数据中心部署的具体的应用决定,但总体来说差异不大,基本各占50%。可以看出,东西三层流量是非常大的流量,比传统的南北流量要大得多。
大规模数据中心的流量过大的情况下,如果网络设计不合理,导致Trill网络出现大量的流量拥塞的情况,导致大量丢包,而丢包会直接影响业务的性能,导致用户的服务体验下降。这对数据中心而言,是非常致命的缺陷。传统的数据中心组网重点关注南北流量,会把大量的带宽资源部署在南北流量路径上,以保证南北流量不会出现流量拥塞导致的丢包。现在的情况是,数据中心东西流量增长迅速,远远超过了南北流量。这样就会出现Trill网络东西三层流量拥塞丢包。
发明内容
本发明实施例提供了一种基于Trill网络的负载均衡的方法,能够同时保证南北流量和东西三层流量都不会出现拥塞丢包。
一种基于Trill网络的负载均衡的方法,所述网络中多个路由设备作为双网卡服务器的网关与路由桥设备连接,每个双网卡服务器包括外网服务器网卡和内网服务器网卡,该方法包括:
设置第一VRRPE备份组,作为外网服务器网卡的网关;设置第二VRRPE备份组,作为内网服务器网卡的网关;其中,每个VRRPE备份组包括一个主路由设备;
建立第一VRRPE备份组和第二VRRPE备份组之间的关联关系,确保第一VRRPE备份组和第二VRRPE备份组同步切换主路由设备;
配置第一VRRPE备份组中的外网主网关和第二VRRPE备份组中的内网主网关,分别用于承担外网和内网的主流量负载。
本发明实施例还提供了一种路由设备,能够同时保证南北流量和东西三层流量都不会出现拥塞丢包。
一种路由设备,应用于Trill网络中,其中,多个路由设备作为双网卡服务器的网关与路由桥设备连接,每个双网卡服务器包括外网服务器网卡和内网服务器网卡;所述路由设备包括:
VRRPE模块,用于实现多个路由设备间的负载均衡,具体为:用于设置第一VRRPE备份组,作为外网服务器网卡的网关;设置第二VRRPE备份组,作为内网服务器网卡的网关;还用于建立第一VRRPE备份组和第二VRRPE备份组之间的关联关系,确保第一VRRPE备份组和第二VRRPE备份组同步切换主路由设备;还用于配置第一VRRPE备份组中的外网主网关和第二VRRPE备份组中的内网主网关,分别用于承担外网和内网的主流量负载。
本发明实施例利用服务器具有内外网双网卡的特点,对网关进行了新的VRRPE配置,使得部分网关重点为东西三层流量服务,部分网关重点为南北流量服务;重点为东西三层流量服务的内网主网关增加下行带宽资源;重点为南北流量服务的外网主网关增加上行带宽资源。这样能够同时保证南北流量和东西三层流量都不会出现拥塞丢包,并实现网关之间的负载均衡和快速切换。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明的核心思想在于,针对现有的VRRPE无法保证大规模Trill二层网络中东西三层流量拥塞丢包的问题,本发明提出了一种基于Trill网络的负载均衡的方法,对网关进行了新的VRRPE配置,使得部分网关重点为东西三层流量服务,部分网关重点为南北流量服务;重点为东西三层流量服务的内网主网关增加下行带宽资源;重点为南北流量服务的外网主网关增加上行带宽资源。这样能够同时保证南北流量和东西三层流量都不会出现拥塞丢包,并实现网关之间的负载均衡和快速切换。
基于上述思想,本发明一种基于Trill网络的负载均衡的方法,所述网络中多个路由设备作为双网卡服务器的网关与路由桥设备连接,每个双网卡服务器包括外网服务器网卡和内网服务器网卡,如图3所示,该方法包括以下步骤:
步骤31、设置第一VRRPE备份组,作为外网服务器网卡的网关;设置第二VRRPE备份组,作为内网服务器网卡的网关;其中,每个VRRPE备份组包括一个主路由设备;建立第一VRRPE备份组和第二VRRPE备份组之间的关联关系,确保第一VRRPE备份组和第二VRRPE备份组同步切换主路由设备;
步骤32、配置第一VRRPE备份组中的外网主网关和第二VRRPE备份组中的内网主网关,分别用于承担外网和内网的主流量负载。
最后,主路由设备根据对外网主网关和内网主网关的配置分别为组内各路由设备分配流量负载。因为每个备份组都包含一个主路由设备,所以第一VRRPE备份组内的主路由器为组内各路由设备分配外网流量负载,第二VRRPE备份组内的主路由器为组内各路由设备分配内网流量负载。需要注意的是,主路由设备是备份组中选举出的任意一个设备,并不一定是主网关。而主网关可以有多个。
以下结合一个具体的应用场景,对本发明提供的负载均衡方法进行详细说明。如图4所示,为本发明提供的方法应用于Trill组网时的示意图。该Trill网络中作为服务器网关的路由器有四个:路由器A、路由器B、路由器C和路由器D。但在实际应用中,本发明提供的技术方案,路由器的个数可以根据实际需要任意选择,因为要实现多个网关之间的负载均衡,所以只要路由器的个数不少于2个即可。
需要说明的是,本发明实现的是网关间的负载均衡,东西二层流量是不经过网关的,而东西三层流量和南北流量经过网关,所以VRRPE主要对东西三层流量和南北流量进行带宽资源分配。
为了保证数据中心内部的安全需求,大部分数据中心目前都采用了服务器双网卡接入的组网方式,在同一个服务器中,一个网卡部署外网IP地址,对外部用户提供服务(南北流量),对应的网络称为外网;另一个网卡部署内网IP地址,对内部服务器提供服务(东西流量),对应的网络称为内网。外网服务器网卡和内网服务器网卡都分别通过Trill网络的路由桥设备与网关路由器连接。所以路由器A既是外网服务器网关,也是内网服务器网关;同理,路由器B既是外网服务器网关,也是内网服务器网关;路由器C既是外网服务器网关,也是内网服务器网关;路由器D既是外网服务器网关,也是内网服务器网关。
为实现本发明,需要在每个路由器的接口上配置VRRPE,即对路由器A-D进行以下配置:
1)为外网服务器网卡的网关配置VRRPE备份组,作为第一VRRPE备份组,路由器A、路由器B、路由器C和路由器D是第一VRRPE备份组中的成员;
2)为内网服务器网卡的网关配置VRRPE备份组,作为第二VRRPE备份组,路由器A、路由器B、路由器C和路由器D是第二VRRPE备份组中的成员;
3)建立第一VRRPE备份组和第二VRRPE备份组之间的关联关系时要确保第一VRRPE备份组和第二VRRPE备份组同步切换主路由设备,其中,每个VRRPE备份组包括一个主路由设备;如果主路由器异常时,两个备份组内的主路由器能够同时感知到,并同时将其他路由器切换为主路由器。
优选地,配置同一个路由设备在第一VRRPE备份组和第二VRRPE备份组中的优先级相同。也就是说,当主路由器切换时,第一VRRPE备份组和第二VRRPE备份组的主路由器能够切换到同一个路由器网关上。例如,设置路由器A在组一和组二中的优先级参数都为100;设置路由器B在组一和组二中的优先级参数都为90;设置路由器C在组一和组二中的优先级参数都为60;设置路由器D在组一和组二中的优先级参数都为50。那么,在组一中主路由器由A切换成B时,组二中主路由器同时由A切换成B。需要注意的是,上述对路由器在组中的优先级参数设置只是一个简单举例,对于同一个路由器,其在组一和组二中的优先级参数值不一定相同,但一定具有相同的优先级,例如路由器A在组一中的优先级参数为100,在组二中的优先级参数为120,但路由器A在组一和组二中都具有最高优先级。
4)指定第一VRRPE备份组中的路由器A和路由器B作为南北流量的主网关,指定第二VRRPE备份组中的路由器C和路由器D作为东西三层流量的主网关;
具体地,尽量增加路由器A和路由器B上行带宽资源,将其余的带宽资源都部署在下行链路;尽量减少路由器C和路由器D上行带宽资源,将其余的带宽资源都部署在下行链路。具体可以通过为各组的路由器配置带宽分配权重实现,如果带宽分配权重为1/1/1/1,则说明四个路由器的网关流量是均布的。
在第一VRRPE备份组中,为路由器A-D配置不同的带宽分配权重:w11/12/13/14;w11/12建议远大于w13/14,例如:w11=100,w12=100,w13=5,w14=5。这样可以使南北流量尽量通过路由器A和B转发,从而发生拥塞丢包的可能性较小。可以有效提高客户访问的服务质量;
在第二VRRPE备份组中,为路由器A-D配置不同的带宽分配权重:w21/22/w23/24;w21/22建议远小于w23/24,例如:w21=5,w22=5,w23=100,w24=100。这样可以使东西三层流量尽量通过路由器C和D转发,从而发生拥塞丢包的可能性较小。可以有效提高服务器内部通信的服务质量。
另外,本发明实施例可以根据内外网的流量变化特点,动态调整各组的带宽分配权重,从而调整流量分布,提高带宽资源的利用率,同时有效的分离内外网流量,提高内外网流量的转发服务质量。
当外网流量较小的时间段内,内网流量可以适当抢占外网主网关的带宽资源,即减少内网主网关(路由器C和路由器D)和其他网关(路由器A和路由器B)之间的带宽分配权重比例,适当地利用外网主网关(路由器A和路由器B)分担内网流量,
例如:w21=20,w22=20,w23=80,w24=80;其中w23和w24由原来的100减少为80;w21和w22由原来的5增加为20;
当外网流量较大的时间段内,增加内网主网关(路由器C和路由器D)和其他网关(路由器A和路由器B)之间的带宽分配权重比例,
例如:w21=0,w22=0,w23=100,w24=100;其中w21和w22由原来的5减少为0。
上述根据流量变化对带宽分配权重的调整可以基于时间定期调整,也可以手工调整。
最后,基于上述配置,主路由设备根据对外网主网关和内网主网关的配置分别为组内各路由设备分配流量负载。
因为每个备份组都包含一个主路由设备,所以第一VRRPE备份组内的主路由器为组内各路由设备分配外网流量负载,第二VRRPE备份组内的主路由器为组内各路由设备分配内网流量负载,内网和外网流量分离开来,互不干扰,从目前的经验来看,内网流量的优先级通常高于外网流量的优先级。
从图4与图1的对比可以看出,路由器A和路由器B的上行带宽资源增加,路由器C和路由器D的下行带宽资源增加,带宽资源在路由器A-D之间合理分配,实现了网关之间的负载均衡。
对应上述实施例,本发明实施例还提供了一种路由设备,应用于Trill网络中,其中,多个路由设备作为双网卡服务器的网关与路由桥设备连接,每个双网卡服务器包括外网服务器网卡和内网服务器网卡;该路由设备的各个功能模块与方法是相对应的,其结构示意图如图5所示,该路由设备包括:
VRRPE模块51,用于实现多个路由设备间的负载均衡,具体为:用于设置第一VRRPE备份组,作为外网服务器网卡的网关;设置第二VRRPE备份组,作为内网服务器网卡的网关;还用于建立第一VRRPE备份组和第二VRRPE备份组之间的关联关系,确保第一VRRPE备份组和第二VRRPE备份组同步切换主路由设备;还用于配置第一VRRPE备份组中的外网主网关和第二VRRPE备份组中的内网主网关,分别用于承担外网和内网的主流量负载。
所述路由设备还包括:处理模块52,用于当该设备作为主路由设备时,根据VRRPE模块对外网主网关和内网主网关的配置分别为组内各路由设备分配流量负载。
其中,所述VRRPE模块51进一步包括外网主网关配置模块511和内网主网关配置模块512;
所述外网主网关配置模块511,用于设置外网主网关的带宽分配权重远大于其他网关的权重;
所述内网主网关配置模块512,用于设置内网主网关的带宽分配权重远大于其他网关的权重。
所述路由设备进一步包括外网流量监测模块53,用于在外网流量较小时,指示内网主网关配置模块512减少内网主网关和其他网关之间的带宽分配权重比例;在外网流量较大时,指示内网主网关配置模块512增加内网主网关和其他网关之间的带宽分配权重比例。
所述VRRPE模块51还用于配置同一个路由设备在第一VRRPE备份组和第二VRRPE备份组中的优先级相同。
其中,本发明设备的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过使用本发明实施例提供的上述方法和设备,将部分网关配置为外网主网关,另一部分网关配置为内网主网关,同时保证南北流量和东西三层流量都不会出现拥塞丢包,并实现网关之间的负载均衡和快速切换。进一步地,本发明实施例还可以动态调整各组的带宽分配权重,从而调整流量分布,进一步提高带宽资源的利用率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。