首页> 中国专利> 一种基于SDN技术的互联网流量分流方法

一种基于SDN技术的互联网流量分流方法

摘要

本发明公开了一种基于SDN技术的互联网流量分流方法,本发明涉及互联网流量分流技术领域,本发明引入了SDN技术的交换网络,可解决自动化网络组网问题,在频繁变化的业务定制需求上尽量减少人工的参与。使用业界成熟的流量划分设备把流量均分成N份,精准定位报文在SDN网络中的目的地。在SDN控制器上分析各业务节点流量阀值,结合交换机的MAC地址学习原理,为各业务节点动态计算流量权重,充分利用硬件资源,当SDN控制器感知到某台业务节点出现故障后,会把对应的流量迁移到其他正常的业务节点上,避免流量长时间丢失。

著录项

  • 公开/公告号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控制器检测到异常节点

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号