公开/公告号CN112968978A
专利类型发明专利
公开/公告日2021-06-15
原文格式PDF
申请/专利权人 南京烽火星空通信发展有限公司;
申请/专利号CN202110547307.3
申请日2021-05-19
分类号H04L29/08(20060101);H04L12/801(20130101);H04L12/813(20130101);
代理机构32200 南京经纬专利商标代理有限公司;
代理人陆志斌
地址 210019 江苏省南京市建邺区云龙山路88号烽火科技大厦A栋26F
入库时间 2023-06-19 11:26:00
技术领域
本发明涉及互联网流量分流技术领域,尤其涉及一种基于SDN技术的互联网流量分流方法。
背景技术
近年来,随着5G技术的逐渐成熟,针对物联网网络的业务发展迅速。相应的互联网流量会急剧增长,入侵检测系统(IntrusionDetection System,以下简称IDS)的流量处理压力在不断加大,单一业务节点已不能满足要求,需对接入的互联网流量进行分流处理,负载均衡到多台业务节点上。
目前通用的流量分流方法是采用交换机的2/3层网络交换技术,这种交换技术基本以人工配置方式,把互联网流量按照MAC、IP、端口、协议等进行分类。随着流量的不断加大,使用具有TRILL(多链路透明互联)标准的设备进行互联,实现跨设备的流量分分流工作。
现有的流量分流技术主要人工的方式配置交换网络的各个环节,无法应对业务需求变化频繁的场景,且分流方式不够精细化,很难做到根据业务节点的处理能力进行动态流量分配。随着互联网流量的增长,接入到互联网的终端设备越来越多,相对应的流量中的报文源MAC已经达到千万级以上,当前的交换机的MAC表空间有限,无法满足此分流需求。当某台分析计算设备出现故障后,其相应的处理流量也会丢失,需人工操作恢复。
发明内容
本发明所要解决的技术问题是针对背景技术的不足提供一种基于SDN技术的互联网流量分流方法,且在SDN控制器上分析各业务节点流量阀值,结合交换机的MAC地址学习原理,为各业务节点动态计算流量权重,充分利用硬件资源,当SDN控制器感知到某台业务节点出现故障后,会把对应的流量迁移到其他正常的业务节点上,避免流量长时间丢失。
本发明为解决上述技术问题采用以下技术方案:
一种基于SDN技术的互联网流量分流方法,具体包含如下步骤;
步骤1,流量划分:根据报文的五元组的某几个元组相互组合,通过固定HASH算法把互联网流量分成N份,其中,0 步骤2,业务节点流量权重计算:承担接收互联网流量业务分析和处理的服务器,根据其硬件配置来确定流量阀值; 步骤3,业务节点流量权重调度:对SDN交换网络统一调度,对业务节点的互联网流量处理权重进行动态调度; 步骤4,业务节点注册到SDN交换网:识别数据包的MAC地址,把进入交换机的伪造报文源MAC地址和IP地址记录到MAC表中,根据进入的报文的DMAC地址或者IP查询MAC表,找到最终的物理出口; 步骤5,SDN网络控制:SDN网络包括控制层、转发层; 其中,控制层包含SDN控制器,用于对SDN网络中的硬件设备管理和控制,负责网络内的交换路径和边界业务路由的生成,同时负责处理网路状态变化事件; 转发层包含由硬件SDN交换机相互连接的网络构成基础转发网络,用于执行用户数据的转发,且转发的控制流表由控制层生成; 步骤6,业务节点异常流量迁移:以业务节点 作为本发明一种基于SDN技术的互联网流量分流方法的进一步优选方案,在步骤1中,HASH结果,具体计算如下; HASH结果=hash(源IP,宿IP,源端口,宿端口,传输层协议)%N+1。作为本发明一种基于SDN技术的互联网流量分流方法的进一步优选方案,所述步骤2具体如下; 设备A的硬件配置的CPU为2颗Intel® Xeon® Gold 6126 Processor,内存为256G,网卡为双口万兆光卡的设备,则流量阀值为800Mbps; 设备B的硬件配置的CPU为2颗Intel® Xeon® Silver4110 Processor,内存为128G,网卡为双口万兆光卡的设备,则流量阀值为400Mbps。 作为本发明一种基于SDN技术的互联网流量分流方法的进一步优选方案,所述步骤3具体如下; 步骤3.1,业务节点 步骤3.2,SDN控制器接收到所有的业务节点的 其中,业务节点总数我们用M表示,且N>=M。 作为本发明一种基于SDN技术的互联网流量分流方法的进一步优选方案,所述步骤3.2具体如下; 1)计算基准权重: 根据当前各业务节点流量阀值
其中,j表示业务节点,且j = 1,2,3…M;且每台业务节点的流量阀值均需满足: 2)计算各节点的权重: 根据所有业务节点的流量阀值
其中,j表示业务节点,且j = 1,2,3…M, 根据当前各节点流量阀值
即要求所有业务节点的权重总和要等于N; 3)分配权重: SDN控制器计算完毕各业务节点的权重,之后会把N份流量分别分配到各业务节点上,每一份流量用一个流量HASH结果表示,若N值为1000,那么总共有1000个HASH结果,HASH结果用宿MAC表示为00:00:00:00:00:01~00:00:00:00:03:E8。 作为本发明一种基于SDN技术的互联网流量分流方法的进一步优选方案,在步骤6中,业务节点异常流量迁移,具体迁移过程如下: 步骤6.1,SDN控制器回收 步骤6.2,SDN控制器轮询检索所有正常的业务处理节点,检测当前处理的实际流
量S加上1个基准权重 步骤6.3,正常业务节点接收到新分配的HASH结果值后,向SDN网络定期发送对应的伪造ARP报文,让SDN网络识别到HASH结果值对应的流量目的地变更,SDN网络识别到后,把流量转发给此业务节点处理; 步骤6.4,SDN控制器检测到异常节点 本发明采用以上技术方案与现有技术相比,具有以下技术效果: 1、本发明引入了SDN技术的交换网络,解决自动化网络组网问题,在频繁变化的业务定制需求上尽量减少人工的参与。使用业界成熟的流量划分设备把流量均分成N份,精准定位报文在SDN网络中的目的地。在SDN控制器上分析各业务节点流量阀值,结合交换机的MAC地址学习原理,为各业务节点动态计算流量权重,充分利用硬件资源,当SDN控制器感知到某台业务节点出现故障后,会把对应的流量迁移到其他正常的业务节点上,避免流量长时间丢失; 2、本发明在IDS的旁路环境下,借助流量划分设备和支持SDN技术的硬件,通过获取每台业务节点的最大处理性能(流量阀值),把互联网流量能精确分流给各台业务节点处理,最大化利用硬件资源,并且当某些台业务节点出现故障后,对应的流量能保持继续处理不丢失,分流的策略完全由用户控制,可根据需求随时进行更改;相比市面上的同类技术更加灵活,流量分流更精细,更贴合用户使用。 附图说明 图1是本发明技术流程图; 图2是本发明ARP协议的报文格式示意图; 图3是本发明OpenFlow规范的简化后的流表示意图。 具体实施方式 下面结合附图对本发明的技术方案做进一步的详细说明: 本发明提出一种基于SDN技术的互联网流量分流方法。引入了SDN技术的交换网络,可解决自动化网络组网问题,在频繁变化的业务定制需求上尽量减少人工的参与。使用业界成熟的流量划分设备把流量均分成N份,精准定位报文在SDN网络中的目的地。在SDN控制器上分析各业务节点流量阀值,结合交换机的MAC地址学习原理,为各业务节点动态计算流量权重,充分利用硬件资源,当SDN控制器感知到某台业务节点出现故障后,会把对应的流量迁移到其他正常的业务节点上,避免流量长时间丢失。具体如下: 如图1所示。 1、流量划分: 流量划分设备业界比较常见,其流量划分策略一般根据报文的五元组(源IP、宿IP、源端口、宿端口、传输层协议值)的某几个元组相互组合,通过固定HASH算法把互联网流量分成N(0 HASH结果=hash(源IP,宿IP,源端口,宿端口,传输层协议)%N+1。 上述算法中,hash函数内容本文不做要求,下面给出了一种较简单的算法: HASH结果=(源IP+宿IP+源端口+宿端口+传输层协议)%N+1。 携带了HASH结果的报文宿MAC格式为:00:00:00:00:ab:cd,其中ab:cd为HASH结果的十六进制值0xabcd(大字节序)。 2、业务节点流量权重计算: 业务节点指承担接收互联网流量业务分析和处理的服务器,每台服务器的流量处理能力(以下均称为流量阀值)不同,操作人员一般根据业务节点硬件配置来确定流量阀值。例如:设备A的硬件配置的CPU为2颗Intel® Xeon® Gold 6126 Processor,内存为256G,网卡为双口万兆光卡的设备,流量阀值为800Mbps;设备B的硬件配置的CPU为2颗Intel® Xeon® Silver4110 Processor,内存为128G,网卡为双口万兆光卡的设备,流量阀值为400Mbps。 业务节点在处理业务之前需把本节点的流量阀值通过socket通信机制注册到SDN控制器,由其对各业务节点的处理权重统一调度。 3、业务节点流量权重调度: SDN控制器是一台x86架构服务器,除了负责对SDN交换网络统一调度外,也会对业
务节点 业务节点 计算基准权重: 根据当前各业务节点流量阀值 计算出基准权重:
其中j表示业务节点,j = 1,2,3…M。 每台业务节点的流量阀值均需满足: 计算各节点的权重: 根据所有业务节点的流量阀值
其中j表示业务节点,j = 1,2,3…M, 根据当前各节点流量阀值
即要求所有业务节点的权重总和要等于N。 分配权重: SDN控制器计算完毕各业务节点的权重,之后会把N份流量分别分配到各业务节点
上,每一份流量用一个流量HASH结果表示,如果N值为1000,那么总共有1000个HASH结果,
HASH结果用宿MAC表示为00:00:00:00:00:01~00:00:00:00:03:E8。假如一台业务节点 4、业务节点注册到SDN交换网(发送ARP报文): 业务节点注册到SDN交换网络使用了交换机的二层交换技术,即识别数据包的MAC地址,把进入交换机的报文源MAC地址和IP地址记录到MAC表中,根据进入的报文的DMAC地址或者IP查询MAC表,找到最终的物理出口。 互联网报文被流量划分设备分成了N份,且宿MAC地址均被修改为00:00:00:00:ab:cd,业务节点需要处理这些流量,就需要向SDN网络注册这些宿MAC地址,而业务节点设备的网卡MAC地址和流量的宿MAC地址不同,因此,业务节点需定期(防止MAC被SDN交换机老化)向SDN网络发送伪造的ARP请求报文,请求报文中携带这些宿MAC和对应IP。ARP协议的报文格式如图2所示: 伪造ARP报文将封装如表1所示: 表1
5、SDN网络控制: SDN网络主要包括控制层、转发层。控制层主要由SDN控制器承担,控制软件以开源Open Daylight平台为基础深度定制,也能自主研发,主要负责对SDN网络中的硬件设备管理和控制,负责网络内的交换路径和边界业务路由的生成,同时负责处理网路状态变化事件,例如当网络某个节点出现故障或者拥塞时,会主动调整交换路径,保证网络始终正常运作。转发层主要由硬件SDN交换机相互连接的网络构成基础转发网络,负责执行用户数据的转发,转发的控制流表由控制层生成。 IDS在旁路的使用场景比较特殊,互联网流量均是单方向的分流给各业务节点分析,因此数据转发网络不具备双向性,如图1所示,流量从流量划分设备向业务节点传输,称为流量接口;流量的转发控制流表从SDN控制器向SDN网络传输,称为控制接口。控制接口的实现方式一般是REST API,满足REST设计规范或者架构风格称之为RESTful,遵循RESTful设计的API称之为REST API。 流量接口指转发流量的流表,需满足OpenFlow协议规范的硬件交换机支持,OpenFlow规范的简化后的流表主要包含如下字段如图3所示: 图3中,“入端口”指流量接入的物理端口ID,“指令”指报文匹配到流时需执行的指令,指令集有Write-Action、Goto-Table等,无Goto-Table指令时,将会执行相关联的动作集,动作集有:转发、丢弃、转组表等。 SDN控制器会采用预分配的方式使用REST API向SDN网络上传要转发的流表,上传的流表格式用xml格式简单描述如下:
说明:destination-host格式“0-111.111.0.6” 为Open Daylight自定义格式,0表示tenant,111.111.0.6表示业务节点上传的伪造 IP(参见上一小节的表1)。 6、业务节点异常流量迁移: 以业务节点 1)SDN控制器回收 K=10; 2)SDN控制器轮询检索所有正常的业务处理节点,检测当前处理的实际流量 S加上1个基准权重 3)q正常业务节点接收到新分配的HASH结果值后,向SDN网络定期发送对应 的伪造ARP报文,让SDN网络识别到HASH结果值对应的流量目的地变更,SDN网络识别到后,把流量转发给此业务节点处理。 SDN控制器检测到异常节点
机译: 一种基于令牌的互联网流量控制方法
机译: 一种基于流量的互联网业务分组生成装置及其方法
机译: 一种基于流量的互联网业务分组生成装置及其方法