一种基于SDN的负载均衡装置及其方法与流程

文档序号:12494862阅读:561来源:国知局
本发明涉及一种负载均衡装置及其方法,特别是一种基于SDN的负载均衡装置及其方法。
背景技术
::目前现网运行的负载均衡设备,由于应用场景的特殊性,均为专网专用设备,软硬件需要单独设计、研发,成本较为高昂;同时为了满足现网流量的爆发性增长,软硬件也需要持续不断的升级,设备厂家需要长期投入人力物力来保证负载均衡设备的稳定运行及持续优化升级。由于不同厂家的负载均衡实现方案差异,每个设备厂家都有一套自己的维护管理系统和负载均衡算法,降低了网络效率,带来了各种维护不便,加大了维护管理成本,而且跨厂家的多设备级联也因此无法实现。技术实现要素:本发明所要解决的技术问题是提供一种基于SDN的负载均衡装置及其方法,实现多设备互通级联。为解决上述技术问题,本发明所采用的技术方案是:一种基于SDN的负载均衡装置,其特征在于:包含一个负载均衡控制器和多个负载均衡交换机,多个负载均衡交换机通过其base平面与负载均衡控制器连接建立openflow通道,负载均衡控制器用于分流决策和负载监控,负载均衡交换机根据所述的负载均衡控制器下发的指令对数据流量进行解析并转发或丢弃。进一步地,所述负载均衡交换机内设置有三级流表,流表零用于业务流量识别,流表一用于本设备流量的均衡转发,流表二用于互联设备的流量转发。进一步地,所述流表一为负载均衡转发表,流表项以数据流ID在报文中的起始位置及长度、数据流ID为match匹配字段,Action字段为修改目的Mac地址、修改目的Ip、output输出端口。进一步地,所述流表二为互联转发表,流表项以目的ip为match匹配字段,action字段为output动作,输出端口为连接某个级联负载均衡交换机的端口。一种使用权利要求1所述的一种基于SDN的负载均衡装置的基于SDN的负载均衡方法,其特征在于包含以下步骤:步骤一:在负载均衡控制器1端配置后端节点ip,负载均衡控制器1首先通过向所有负载均衡交换机下发封装查询节点mac地址的arp报文的packetout消息方式,获取后端节点mac地址和端口映射关系;然后负载均衡控制器定期的通过携带icmp或snmp报文的packetout消息获取后端节点的负载权重,并在负载均衡控制器按特定的排序算法生成分流均衡组表;步骤二:负载均衡交换机支持三级流表,通过负载均衡控制器向负载均衡交换机流表零中添加基于目的ip转发的流表项,目的地址是本机虚拟ip的进包跳转到流表一,目的地址不是本机虚拟ip的进包跳转到流表二,其他报文如arp、icmp等报文则封装成packetin消息上报负载均衡控制器,剩下的则丢弃;步骤三:进入流表一的报文匹配流表项,如果命中则按对应的action指令进行转发,不命中则将报文封装到packetin消息上报负载均衡控制器,负载均衡控制器从分流均衡组表中选择一个负载低的节点作为报文输出,构造FlowMod消息下发流表规则到流表一;步骤四:进入流表二的报文首先匹配流表项,命中,则按该流表action进行转发,不命中,则将报文封装成packetin消息上报负载均衡控制器,控制器根据报文的目的IP地址,再结合控制器的全网连接拓扑图,计算出该报文的转发路径,依次给转发路径上的负载均衡下发流表二流表项。进一步地,负载均衡控制器和负载均衡交换机在openflow1.3.4只支持到L4匹配的基础上添加对payload部分匹配的支持,包含指定匹配payload偏移和数据长度。进一步地,所述负载均衡交换机对入端口数据包进行识别,匹配流表规则的报文,则按流表项的action字段进行操作,不命中的报文,则按tablemiss配置的action操作。本发明与现有技术相比,具有以下优点和效果:本发明基于SDN设计思想将负载均衡设备控制平面和转发平面分流,降低了负载均衡系统的复杂性,提升了系统可维护性,实现多设备互通级联,降低了开发生产成本;本发明将原架构中由硬件实现的业务功能转变为纯软件实现,可有效降低原负载均衡设备的软硬件开发成本;同时SDN特性决定了负载均衡控制器拥有网络整体的拓扑能力,负载均衡控制器可统一调度、管理整个网络中的所有设备、流量分布形态;负载均衡交换机由于只作数据识别和转发用途,降低了软硬件复杂度,也减少了相应地开发维护成本。附图说明图1是本发明的一种基于SDN的负载均衡装置的示意图。具体实施方式下面结合附图并通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。如图1所示,本发明的一种基于SDN的负载均衡装置,包含一个负载均衡控制器1和多个负载均衡交换机2,多个负载均衡交换机2通过其base平面与负载均衡控制器1连接建立openflow通道3,负载均衡控制器1用于分流决策和负载监控,负载均衡交换机2根据负载均衡控制器1下发的指令对数据流量进行解析并转发或丢弃。负载均衡交换机2内设置有三级流表,流表零4用于业务流量识别,流表一5用于本设备流量的均衡转发,流表二6用于互联设备的流量转发。流表一5为负载均衡转发表,流表项以数据流ID在报文中的起始位置及长度、数据流ID为match匹配字段,Action字段为修改目的Mac地址、修改目的Ip、output输出端口7。流表二6为互联转发表,流表项以目的ip为match匹配字段,action字段为output动作,输出端口为连接某个级联负载均衡交换机的端口8。一种基于SDN的负载均衡方法,包含以下步骤:步骤一:在负载均衡控制器1端配置后端节点ip,负载均衡控制器1首先通过向所有负载均衡交换机下发封装查询节点mac地址的arp报文的packetout消息方式,获取后端节点mac地址和端口映射关系;然后负载均衡控制器定期的通过携带icmp或snmp报文的packetout消息获取后端节点的负载权重,并在负载均衡控制器按特定的排序算法生成分流均衡组表;步骤二:负载均衡交换机支持三级流表,通过负载均衡控制器向负载均衡交换机流表零中添加基于目的ip转发的流表项,目的地址是本机虚拟ip的进包跳转到流表一,目的地址不是本机虚拟ip的进包跳转到流表二,其他报文如arp、icmp等报文则封装成packetin消息上报负载均衡控制器,剩下的则丢弃;步骤三:流表一5为负载均衡转发表,流表项以数据流ID在报文中的起始位置及长度、数据流ID为match匹配字段,Action字段为修改目的Mac地址、修改目的Ip、output输出端口。进入流表一的报文匹配流表项,如果命中则按对应的action指令进行转发,不命中则将报文封装到packetin消息上报负载均衡控制器,负载均衡控制器从分流均衡组表中选择一个负载低的节点作为报文输出,构造FlowMod消息下发流表规则到流表一;步骤四:流表二6为互联转发表,流表项以目的ip为match匹配字段,action字段为output动作,输出端口为连接某个级联负载均衡交换机的端口。进入流表二的报文首先匹配流表项,命中,则按该流表action进行转发,不命中,则将报文封装成packetin消息上报负载均衡控制器,控制器根据报文的目的IP地址,再结合控制器的全网连接拓扑图,计算出该报文的转发路径,依次给转发路径上的负载均衡下发流表二流表项。负载均衡控制器和负载均衡交换机在完全遵循openflow1.3.4协议的基础上,根据负载均衡的业务特点,有针对性地进行定制,在openflow1.3.4只支持到L4匹配的基础上添加了对payload部分匹配的支持,包含指定匹配payload偏移和数据长度。负载均衡控制器将包含现有规范中的大部分业务功能,将原架构中由硬件实现的业务功能转变为纯软件实现,可有效降低原负载均衡设备的软硬件开发成本。同时SDN特性决定了负载均衡控制器拥有网络整体的拓扑能力,负载均衡控制器可统一调度、管理整个网络中的所有设备、流量分布形态。负载均衡交换机由于只作数据识别和转发用途,降低了软硬件复杂度,也减少了相应地开发维护成本。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1