一种在芯片中实现虚拟化负载均衡的方法及芯片设备的制造方法

文档序号:8383672阅读:481来源:国知局
一种在芯片中实现虚拟化负载均衡的方法及芯片设备的制造方法
【技术领域】
[0001]本发明涉及负载均衡领域,尤其涉及一种在芯片中实现虚拟化负载均衡的方法及芯片设备。
【背景技术】
[0002]VXLAN (Virtual extensible Local Area Network)协议定义了一个在四层协议UDP (User Datagram Protocol)之上的二层网络框架,并实现上层的二层网络转发域的隔离,主要用于数据中心的虚拟化。
[0003]如图1所示,在虚拟化的数据中心中,物理服务器被虚拟化成多台虚拟机。如图2所示,虚拟机的数据包流量在出物理服务器网卡时,会被加上“外层MAC头+外层IP头+外层UDP头+VXLAN头”的隧道封装。其中,VXLAN网关可以为特定流量封装提供特定VXLAN隧道头部。公有云应用场景下,VXLAN存在一种应用,用以连接数据中心内部的资源,并提供对数据中心外公共服务的连接;提供该功能的设备可称为VXLAN负载均衡器(Load-Balancer),这种 VXLAN 负载均衡的需求包含 NAT (Network Address Translat1n)功能、加VXLAN报文头功能以及ECMP (Equal-cost mult1-path)功能这三步。
[0004]目前,在一些现有技术中,可通过多台设备或多个器件分别实现NAT功能、加VXLAN报文头功能和ECMP功能,该种方法成本较高;在其他一些现有技术中,可通过先做NAT功能后循环回芯片再走一遍整个处理流程去加VXLAN封装并做ECMP的方式实现,该种方法循环过程占用的带宽是正常处理包时的两倍,芯片通常无法满带宽线速转发。

【发明内容】

[0005]本发明的目的在于提供一种在芯片中实现虚拟化负载均衡的方法及芯片设备。
[0006]为实现上述发明目的之一,本发明一实施方式提供一种在芯片中实现虚拟化负载均衡的方法,包含步骤:
接收报文;
解析所述报文,查表得到对应所述报文的ECMP成员索引,并根据所述ECMP成员索引取得物理出口和编辑动作索引;
根据所述编辑动作索引取得NAT编辑动作和VXLAN编辑动作;
根据所述ECMP成员索引取得外层二层头编辑动作;
根据所述NAT编辑动作、所述VXLAN编辑动作及所述外层二层头编辑动作编辑所述报文;
从所述物理出口发送所述报文。
[0007]作为本发明一实施方式的进一步改进,步骤“根据所述编辑动作索引取得NAT编辑动作和VXLAN编辑动作”具体包括:
所述编辑动作索引对应的编辑动作实体包括依次执行的第一级子编辑索引及第二级子编辑索引,根据所述第一级子编辑索引取得所述NAT编辑动作,根据所述第二级子编辑索引取得到所述VXLAN编辑动作。
[0008]作为本发明一实施方式的进一步改进,步骤“根据所述ECMP成员索引取得外层二层头编辑动作”具体包括:
所述第二级子编辑索引对应的第二级子编辑实体包括第三级子编辑索引,当所述第三级子编辑索引等于特征值时,根据所述ECMP成员索引取得所述外层二层头编辑动作;当所述第三级子编辑索引不等于所述特征值时,根据所述第三级子编辑索引取得所述外层二层头编辑动作。
[0009]作为本发明一实施方式的进一步改进,步骤“当所述第三级子编辑索引等于特征值时,根据所述ECMP成员索引取得所述外层二层头编辑动作”具体包括:
当所述第三级子编辑索引等于所述特征值时,根据所述ECMP成员索引得到第四级子编辑索引,并根据所述第四级子编辑索引得到所述外层二层头编辑动作。
[0010]作为本发明一实施方式的进一步改进,步骤“解析所述报文,得到对应所述报文的ECMP成员索引和编辑动作索引”具体包括:
解析所述报文,当所述报文的源端口为路由端口时,查找路由表,得到对应所述报文的ECMP成员端口和所述编辑动作索引;当所述报文的源端口为非路由端口时,不按照查找所述路由表的方式处理所述报文。
[0011]作为本发明一实施方式的进一步改进,所述NAT编辑动作包括将所述报文的TTL减去I。
[0012]为实现上述发明目的之一,本发明一实施方式提供一种实现虚拟化负载均衡的芯片设备,包括接收模块、解析模块、执行模块、编辑模块及发送模块,接收模块用于接收报文;解析模块用于解析所述报文,并查表得到对应所述报文的ECMP成员索引,并根据ECMP成员索引取得物理出口和编辑动作索引;执行模块用于根据所述编辑动作索引取得NAT编辑动作和VXLAN编辑动作,以及根据所述ECMP成员索引取得外层二层头编辑动作;编辑模块用于根据所述NAT编辑动作、所述VXLAN编辑动作及所述外层二层头编辑动作编辑所述报文;发送模块用于从所述物理出口发送所述报文。
[0013]作为本发明一实施方式的进一步改进,所述执行模块包括对应所述编辑动作索引的编辑动作实体,所述编辑动作实体包括依次执行的第一级子编辑索引及第二级子编辑索弓I,所述执行模块用于根据所述第一级子编辑索引取得所述NAT编辑动作,且所述执行模块根据所述第二级子编辑索引取得到所述VXLAN编辑动作。
[0014]作为本发明一实施方式的进一步改进,所述执行模块还包括对应所述第二级子编辑索引的第二级子编辑实体,所述第二级子编辑实体包括第三级子编辑索引及特征值,当所述第三级子编辑索引等于所述特征值时,所述执行模块用于根据所述ECMP成员索引取得所述外层二层头编辑动作;当所述第三级子编辑索引不等于所述特征值时,所述执行模块用于根据所述第三级子编辑索引取得所述外层二层头编辑动作。
[0015]作为本发明一实施方式的进一步改进,当所述第三级子编辑索引等于所述特征值时,所述执行模块用于根据所述ECMP成员索引得到第四级子编辑索引,且所述执行模块根据所述第四级子编辑索引得到所述外层二层头编辑动作。
[0016]与现有技术相比,本发明的有益效果在于:本发明可以在芯片中直接完成NAT功能、加VXLAN报文头功能以及ECMP功能,无需多个器件,且不占用多余带宽,大大降低虚拟化负载均衡的实现成本。
【附图说明】
[0017]图1是本发明现有技术的虚拟化的数据中心示意图;
图2是本发明现有技术的数据包流量在出物理服务器网关时的示意图;
图3是本发明一实施方式的在芯片中实现虚拟化负载均衡的方法流程图;
图4是本发明一实施方式的负载均衡功能示意图;
图5是本发明一实施方式的实现虚拟化负载均衡的芯片设备框图;
图6是本发明一具体示例的虚拟化的数据中心示意图;
图7是本发明一具体示例的在芯片中实现虚拟化负载均衡的方法示意图。
【具体实施方式】
[0018]以下将结合附图所示的【具体实施方式】对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
[0019]参图3及图4,本发明一实施方式的在芯片中实现虚拟化负载均衡的方法包括步骤:
接收报文;
解析所述报文,查表得到对应所述报文的ECMP成员索引M,并根据所述ECMP成员索引M取得物理出口和编辑动作索引A ;
根据所述编辑动作索引A取得NAT编辑动作和VXLAN编辑动作;
根据所述ECMP成员索引M取得外层二层头编辑动作;
根据所述NAT编辑动作、所述VXLAN编辑动作及所述外层二层头编辑动作编辑所述报文;
从所述物理出口发送所述报文。
[0020]在本实施方式中,将数据中心虚拟化部署中的负载均衡直接集成到一个芯片中,即在该芯片中可以同时完成NAT功能、加VXLAN报文头功能以及ECMP功能,如此,无需多个器件,且不占用多余带宽,大大降低虚拟化负载均衡的实现成本。
[0021]具体的,本发明获取物理出口和编辑动作索引A的具体流程为:解析接收到的报文,并得到所述报文中的MAC地址和IP地址,按照IP地址进行查找路由表,得到一个ECMP组,按照一定的规则在ECMP组中选取特定成员,得到
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1