IP报文分发方法、集群系统和负载均衡器技术方案

技术编号:3541379 阅读:255 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种IP报文分发方法、集群系统和负载均衡器。该方法包括接收外部客户设备发送的IP报文;根据所述IP报文确定所述IP报文目的MAC地址;将所述IP报文直接通过链路层发送给所述目的MAC地址对应的服务器;接收所述服务器发送的所述IP报文的响应报文,将所述响应报文发送给所述客户设备。通过本发明专利技术实施例可以实现具有较高吞吐量且组网较简单的集群系统。

【技术实现步骤摘要】

本专利技术涉及网络技术,特别涉及一种IP报文分发方法、集群系统和负载均衡器
技术介绍
由于客户/服务器模型的简单性、易管理性和易维护性,客户/服务器计算模式在网上被大量采用。随着用户量和流量的大幅增长,单一的服务器已不能满足需求。同时,为了满足电信业新的需求,基础平台开始由嵌入式操作系统向Linux操作系统迁移。为此,针对高可伸缩、高可用网络服务的需求及操作系统向Linux操作系统的迁移,出现了Linux虚拟服务器(Linux Virtual Server,LVS)。LVS是一种集群系统,其将一组真实服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。一组真实服务器通过高速的局域网或者地理分布的广域网相互连接,在它们的前端有一个负载均衡器。负载均衡器能无缝地将网络请求调度到真实服务器上,从而使得服务器集群的结构对客户是透明的,客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样。LVS包括基于网络地址转换的虚拟服务器(Virtual Server via Network Address Translation,VS-NAT)、基于直接路由的虚拟服务器(Virtual Server via Direct Routing,VS-DR)和基于IP隧道的虚拟服务器(Virtual Server via IP Tunneling,VS-TUN)。专利技术人在实现本专利技术的过程中发现现有技术至少存在如下问题:VS-NAT需要进行IP地址转换,VS-TUN需要进行IP地址封装,造成这两种方式的吞吐量不够大;VS-DR的每个真实服务器的出口直接通过网络-->与客户端连接,组网较复杂。
技术实现思路
本专利技术提供一种IP报文分发方法、集群系统和负载均衡器,解决现有吞吐量较小及组网较复杂的问题。本专利技术实施例提供了一种IP报文分发方法,包括:接收外部客户设备发送的IP报文;根据所述IP报文确定所述IP报文目的介质接入控制地址;将所述IP报文发送给所述目的介质接入控制地址对应的服务器;接收所述服务器发送的所述IP报文的响应报文,将所述响应报文发送给所述客户设备。本专利技术实施例提供了一种集群系统,包括:一负载均衡器,与外部的客户设备连接,用于接收客户设备发送的IP报文,根据所述IP报文获取目的介质接入控制地址,将所述IP报文发送给所述目的介质接入控制地址对应的服务器;至少一服务器,分别与负载均衡器连接,用于处理负载均衡器发送的IP报文得到该IP报文的响应报文,并将所述IP报文的响应报文通过所述负载均衡器发送给所述客户设备。本专利技术实施例提供了一种负载均衡器,包括:第一模块,用于接收外部客户设备发送的IP报文;第二模块,用于根据第一模块得到的所述IP报文确定所述IP报文的目的介质接入控制地址;第三模块,用于将所述IP报文直接通过链路层发送给第二模块得到的所述目的介质接入控制地址对应的服务器;第四模块,用于接收所述服务器发送的所述IP报文的响应报文,将所述响应报文发送给所述客户设备。-->由上述技术方案可知,本专利技术实施例通过目的MAC转发IP报文,无需对IP报文进行IP地址转换或IP封装,可以提高吞吐量;并且,本专利技术实施例通过将服务器发送的响应报文再通过负载均衡器转发给客户设备,无需每个服务器单独设置一个出口与客户设备连接,可以简化组网结构。附图说明图1为本专利技术第一实施例的方法流程示意图;图2为本专利技术第二实施例的方法流程示意图;图3为本专利技术第三实施例的转发表的示意图;图4为本专利技术第四实施例的特征值与服务器的对应关系的示意图;图5为本专利技术第五实施例的集群系统的结构示意图;图6为本专利技术第六实施例的负载均衡器的结构示意图;图7为本专利技术第七实施例的负载均衡器的结构示意图;图8为本专利技术第八实施例的集群系统的结构示意图;图9为本专利技术第九实施例的负载均衡器的结构示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。图1为本专利技术第一实施例的方法流程示意图,包括:步骤101:负载均衡器接收外部客户设备发送的IP报文。其中,该IP报文中包含五元组及上层协议,五元组包括源IP地址、目的IP地址、源端口号、目的端口号和协议。步骤102:负载均衡器根据该IP报文确定该IP报文的目的介质接入控制(Media Access Control,MAC)地址。其中,采用固定转发模式时,可以直接根据五元组确定目的MAC地址,采用特征转发模式时,可以根据上层协议得到IP报文的特征值,根据特征值确定目的MAC地址。-->步骤103:负载均衡器将所述IP报文直接通过链路层(二层)发送给所述目的MAC地址对应的服务器。相比于现有的IP地址转换或IP地址封装方法:由于MAC地址的处理位于网络架构的第二层,IP地址的处理位于第三层,因此,通过获取MAC地址,并根据MAC地址直接在二层转发IP报文,可以提高转发速度,提高吞吐量。步骤104:负载均衡器接收所述服务器发送的所述IP报文的响应报文,将所述响应报文转发给所述客户设备。具体可以为,服务器内部的转发模块将响应报文转发给负载均衡器内的转发模块,再由负载均衡器内部的转发模块转发给客户设备。相比于现有的服务器从入口侧接收IP报文,从出口侧返回响应报文:由于从出口侧返回响应报文,需要在每个服务器设置出口,并且需要布置连线连接该出口与客户设备,而本实施例无需另外设备出口,复用入口线路,可以简化组网结构,降低成本。本实施例通过目的MAC直接在二层转发IP报文,无需对IP报文进行IP地址转换或IP封装,可以提高吞吐量;并且,本专利技术实施例通过将服务器发送的响应报文再通过负载均衡器转发给客户设备,无需每个服务器单独设置一个出口与客户设备连接,可以简化组网结构,降低成本。图1的实施例描述了IP报文的总体流程,即采用MAC地址转发负载均衡器接收的IP报文,响应报文同样从负载均衡器返回给客户设备。图2描述了Linux系统的IP报文转发流程的一个实施例。图2为本专利技术第二实施例的方法流程示意图,包括:步骤201:负载均衡器的Linux内核空间接收外部客户设备发送的IP报文,获取所述IP报文的五元组及应用层协议。出于安全方面的考虑,Lin系统中包括内核空间和用户空间,运行于内核空间的程序可以直接访问任意硬件出口,运行于用户空间的程序需要一些特定的机制才能访问一定的硬件出口。外部客户端向负载均衡器发送IP包,该IP包会到达该负载均衡器的内核的Netfilter钩子(PREROUTING)处。可以在该Netfilter钩子-->处设置一个模块用于获取该IP报文。之后执行步骤202。步骤202:负载均衡器的Linux内核空间根据该五元组判断是采用固定转发模式还是特征转发模式,若是固定转发模式,执行步骤203,否则,执行步骤205。其中,五元组中的端口号可以作为判断是固定转发模式还是特征转发模式的依据,例如,当端口号对于系统来讲是足够安全的可以采用固定转发模式,再例如,当端口号为上网端口号(如80)时,可以采用特征转发模式。在集群系统中可以包括固定转发模式和特征转发模式。固定转发模式是指在负载均衡器内预先配置转发表,该转发表中固定设置五元组与目的服务器的对应关系,五元组相同的IP报文被同一个服务器处理;特征转发模式是本文档来自技高网
...

【技术保护点】
一种IP报文分发方法,其特征在于,包括: 接收外部客户设备发送的IP报文; 根据所述IP报文确定所述IP报文的目的介质接入控制地址; 将所述IP报文直接通过链路层发送给所述目的介质接入控制地址对应的服务器; 接收所述 服务器发送的所述IP报文的响应报文,将所述响应报文发送给所述客户设备。

【技术特征摘要】
1、一种IP报文分发方法,其特征在于,包括:接收外部客户设备发送的IP报文;根据所述IP报文确定所述IP报文的目的介质接入控制地址;将所述IP报文直接通过链路层发送给所述目的介质接入控制地址对应的服务器;接收所述服务器发送的所述IP报文的响应报文,将所述响应报文发送给所述客户设备。2、根据权利要求1所述的方法,其特征在于,所述根据所述IP报文确定目的介质接入控制地址包括:获取所述IP报文的五元组;根据所述五元组判断是采用固定转发模式还是采用特征转发模式;在采用固定转发模式时,根据预先配置的转发表确定与所述五元组对应的目的介质接入控制地址;在采用特征转发模式时,根据所述IP报文得到所述IP报文的特征值,确定与所述特征值对应的目的介质接入控制地址。3、根据权利要求2所述的方法,其特征在于,所述根据所述IP报文得到所述IP报文的特征值包括:Linux内核空间的进程将所述IP报文通过内核态到用户态通信机制发送给Linux用户空间;Linux用户空间的进程通过特征值提取函数,得到所述IP报文的特征值。4、根据权利要求2或3所述的方法,其特征在于,所述确定与所述特征值对应的目的介质接入控制地址包括:判断是否存在所述特征值与服务器之间的对应关系;当存在所述对应关系时,根据所述特征值和对应关系确定所述目的介质接入控制地址;当不存在所述对应关系时,动态选择一个可用的服务器,将所述可用的服务器的介质接入控制地址作为目的介质接入控制地址,并新建所述特征值与所述可用的服务器之间的对应关系。5、根据权利要求1所述的方法,其特征在于,所述将所述IP报文直接通过链路层发送给所述目的介质接入控制地址对应的服务器包括:当采用特征转发模式时,通过Linux用户空间的二层报文发送接口,将所述IP报文发送给所述目的介质接入控制地址对应的服务器;当采用固定转发模式时,在Linux内核空间中直接使用网络设备驱动接口将所述IP报文发送给所述目的介质接入控制地址对应的服务器。6、根据权利要求1所述的方法,其特征在于,还包括:当负载均衡器需要切换时,切换后备升主的主负载均衡器将自身的MAC地址广播给所述外部客户设备,用于所述外部客户设备根据切换后的负载均衡器的MAC地址,将所述IP报文发送给切换后的负载均衡器。7、一种集群系统,其特征在于,包括:主用负载均衡器,与外部的客户设备连接,用于接收客户设备发送的IP报文,根据所述IP报文获取目的介质接入控制地址,将所述IP报文直接通过链路层发送给所述目的介质接入控制地址对应的服务器;至少一服务器,分别与所述主用负载均衡器连接,用于接收所述主用负载均衡器发送的IP报文,并将所述IP报文的响应报文通过所述主用负载均衡器发送给所述客户设备。8、根据权利要求7所述的系统,其特征在于,所述主用负载均衡器包括:接收模块,用于接收外部客户端发送的IP报文;确定模块,用于根据所述IP报文确定所述IP报文的目的介质接入控制地址;发送模块,用于将所述IP报文直接通过链路层发送给所述目的介质接入控制地址对应的服务器。9、根据权利要求8所述的系统,其特征在于,所述确定模块包括:获取单元,用于获取所述IP报文的五元组;判断单元,用于根据所述五元组判断是采用固定转发模式还是采用特征转发模式;第一确定单元,用于在采用固定转发模式时,根据预先配置的转发表确定与所述...

【专利技术属性】
技术研发人员:袁学文
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1