CN104468403B - 一种基于nacc对数据包进行网络流分类的sdn控制器 - Google Patents

一种基于nacc对数据包进行网络流分类的sdn控制器 Download PDF

Info

Publication number
CN104468403B
CN104468403B CN201410645992.3A CN201410645992A CN104468403B CN 104468403 B CN104468403 B CN 104468403B CN 201410645992 A CN201410645992 A CN 201410645992A CN 104468403 B CN104468403 B CN 104468403B
Authority
CN
China
Prior art keywords
nacc
packet
stream
classification
grader
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410645992.3A
Other languages
English (en)
Other versions
CN104468403A (zh
Inventor
李巍
李国君
于秀芬
李丽辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201410645992.3A priority Critical patent/CN104468403B/zh
Publication of CN104468403A publication Critical patent/CN104468403A/zh
Application granted granted Critical
Publication of CN104468403B publication Critical patent/CN104468403B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于NACC对数据包进行网络流分类的SDN控制器,是在现有SDN控制器中增加了采用并行处理方式的NACC分类器线程;通过对OFPAK协议数据包进行去消息头、特征向量提取、分类器调度后,应用多个NACC分类器线程得到分类结果,最后将分类结果写入流表中并下发到OpenFlow交换机中。本发明通过集中部署方式,有效避免了流量分类产品软件的部署次数,只需要在网络中一次部署,所有支持openflow协议的交换机都可以完成对流量分类的功能,从而实现在线的流量分类。

Description

一种基于NACC对数据包进行网络流分类的SDN控制器
技术领域
本发明涉及一种SDN控制器,更特别地说,是指一种利用基于最近应用簇的分类方法(Nearest Application Cluster based Classifier,NACC)来进行数据包快速分类的SDN控制器。
背景技术
2013年9月第1次印刷,电子工业出版社,《SDN核心技术剖析和实战指南》雷葆华等编著。在第15页图1-6公开的SDN核心技术体系图中(记为图1),介绍了在SDN架构的每一层次上都具有很多核心技术,其目标是有效地分离控制层面与转发层面,支持逻辑上集中化的统一控制,提供灵活的开发接口等。其中,控制层是整个SDN的核心,系统中的南向接口与北向接口也是以它为中心进行命名的。转发层面通过一个Packet_in消息将数据包(Packet,也称为报文)发送给控制层面。SDN(Sofeware Defined Networking,软件定义网络)是一种新兴的基于软件的网络架构及技术,其最大的特点在于具有松耦合的控制平面与数据平面、支持集中化的网络状态控制、实现底层网络设施对上层应用的透明。正如SDN的名字所言,它具有灵活的软件编程能力,使得网络的自动化管理和控制能力获得了空前的提升,能够有效地解决当前网络系统所要面临的资源规模扩展受限、组网灵活性差、难以快速满足业务需求等问题。
网络流量分类技术在现代网络安全和管理方面起着很重要的作用。近年,基于机器学习方法的流量分类技术得到广泛的研究。根据是否需要经验知识,机器学习方法大致分为两大类:监督学习方法和无监督学习方法。请参考《网络流量分类方法与实践》汪立东,钱丽萍主编,2013年10月第1版,第51-68页的内容。考虑对流量进行聚类,当今应用的行为变得越来越负载,应用的表征方式可以使用应用流量的簇中心点(离平均点最近的实际簇内点,参考2012年9月第1版的《大数据:互联网大规模数据挖掘与分布式处理》,王斌,译文的第179页)表征分类结果广泛应用于网络规划,服务质量分析,入侵检测,用户收费等网络管理方面。另一方面,也可应用于用户的行为分析,流量分类技术对于服务提供商而言可以更好的理解用户的行为从而提供更具个性化的服务来提高用户的满意度。
OpenFlow是一种新提出的网络架构,OpenFlow交换机将原来完全由交换机/路由器控制的报文转发过程转化为由OpenFlow交换机(OpenFlow Switch)和控制服务器(Controller)来共同完成,从而实现了数据转发和路由控制的分离。控制器可以通过事先规定好的接口操作来控制OpenFlow交换机中的流表,从而达到控制数据转发的目的。结合SDN/OpenFlow的特性,应用识别变得更加重要。从网络流量中识别一个应用的名字或者类型正变得越来越重要。
网络流,在一段时间内,一个源IP地址和目的IP地址之间传输的单向报文流,所有报文具有相同的源端口号srcPort、目的端口号dstPort、协议号tran、源IP地址srcIP和目的IP地址dstIP,即五元组内容相同。
目前设计的SDN/OpenFlow控制器不具有对网络流进行流量分类,也不能对网络数据包进行控制,因此不能应用于基于流量分类的网络服务。
发明内容
为了解决在SDN架构下对流量进行分类,本发明将NACC分类器线程做为一个控制模块部署到SDN控制器中。当一个数据包进入到SDN网络中,首先会存储在支持openflow交换机处,交换机收到该数据包,会结合本交换机的流表对流进行匹配,若找到匹配项,则直接进行转发,否则,递交给控制器中的分类器模块,对流进行特征处理,分类得到流的类别之后,根据流的类别和对应的策略,下发到openflow交换机中。后续的数据包则在openflow交换机这一数据层直接转发。本发明通过集中部署方式,有效避免了流量分类产品软件的部署次数,只需要在网络中一次部署,所有支持openflow协议的交换机都可以完成对流量分类的功能,从而实现在线的流量分类。
本发明设计了一种基于NACC对数据包进行网络流分类的SDN控制器,是在现有SDN控制器中增加了输入控制模块、分类器处理模块和流表下发模块,所述分类器处理模块采用并行处理方式,即通过修改OpenFlow协议,基于NACC的SDN控制器和网络交换机通信获取数据包,然后将特征向量分发给NACC分类器做分类,并下发流表到交换机来控制后续数据包的转发;
所述输入控制模块包括有去消息头模块、特征向量提取模块、分类器调度模块;
所述分类器处理模块包括有第一个NACC分类器、第二个NACC分类器、第N个NACC分类器;
所述流表下发模块包括有以表格形式存在的应用-策略表和流表;
当一个数据包进入到SDN网络中,首先会存储在支持openflow交换机处,交换机收到该数据包,会结合本交换机的流表对流进行匹配,若找到匹配项,则直接进行转发,否则,递交给控制器中的分类器模块,对流进行特征处理,分类得到流的类别之后,根据流的类别和对应的应用-策略表,下发到openflow交换机中;后续的数据包则在openflow交换机这一数据层直接转发。
本发明基于NACC的SDN控制器的优点在于:
①本发明将NACC部署到SDN架构的控制层中,通过流量分类信息可用于网络智能化部署,也可通过北向API传输到应用层以供使用。
②本发明通过更改OpenFlow协议,使得NACC能够在SDN控制层部署,而无需在各个交换机节点部署NACC,降低成本。
③本发明中基于流连接(connection-level)并行NACC方法使得各个处理线程负载均衡,数据流的分组调度更加符合实际流量特点。
④使用应用流量聚类得到的簇中心点表征应用,提高了应用的检测精确度。
附图说明
图1是传统的SDN控制器的体系结构图。
图2是本发明基于NACC对数据包进行网络流分类的SDN控制器的结构框图。
图3是采用本发明增加了NACC分类器进行分类结果的流程图。
图4是本发明的分类器线程的的处理流程图。
具体实施方式
下面将结合附图和实施例对本发明做进一步的详细说明。
NACC是指Nearest Application Cluster based Classifier,译文为基于最近应用簇的分类方法。
在本发明中,通过NACC方法对SDN/OpenFlow控制器中的流量进行分类,得到NACC分类器。
参见图1、图2所示,本发明是一种基于NACC对数据包进行网络流分类的SDN控制器,该基于NACC的SDN控制器是在现有SDN控制器中增加了输入控制模块、分类器处理模块和流表下发模块,所述分类器处理模块采用并行处理方式,即通过修改OpenFlow协议,基于NACC的SDN控制器和网络交换机通信获取数据包,然后将特征向量分发给NACC分类器做分类,并下发流表到交换机来控制后续数据包的转发。
所述输入控制模块包括有去消息头模块、特征向量提取模块、分类器调度模块。
所述分类器处理模块包括有第一个NACC分类器、第二个NACC分类器、第N个NACC分类器。
所述流表下发模块包括有以表格形式存在的应用-策略表和流表。
当一个数据包进入到SDN网络中,首先会存储在支持openflow交换机处,交换机收到该数据包,会结合本交换机的流表对流进行匹配,若找到匹配项,则直接进行转发,否则,递交给控制器中的分类器模块,对流进行特征处理,分类得到流的类别之后,根据流的类别和对应的应用-策略表,下发到openflow交换机中。后续的数据包则在openflow交换机这一数据层直接转发。
为了更好地理解本发明及其优点,下面结合附图以及具体的示例对本发明做进一步详细的说明。
(一)去消息头模块
去消息头模块用于将接收到的OFPAK协议数据包OFPAK={(head,op1),(head,op2),…,(head,opZ)}进行去除OpenFlow协议头head,得到原始数据包OP={op1,op2,…,opZ}。
op1表示去除了OpenFlow协议头的第一个数据包;
op2表示去除了OpenFlow协议头的第二个数据包;
opZ表示去除了OpenFlow协议头的最后一个数据包,为了普识性说明,opZ也称为任意一个数据包,Z表示数据包的标识号。
在本发明中,任意一个数据包opZ包含有源端口号srcPort、目的端口号dstPort、协议号tran、源IP地址srcIP和目的IP地址dstIP的五元组内容opZ={srcPort,dstPort,tran,srcIP,dstIP}。
(二)特征向量提取模块
特征向量提取模块对接收到的任意一个数据包opZ进行相同五元组内容的拾取,找出所述任意一个数据包opZ对应的流的流连接ctB
在本发明中,SDN控制器中存在有多个的流连接,所述流连接采用集合形式表达为CT={ct1,ct2,…,ctB},ct1表示SDN控制器中的第一条流连接,ct2表示SDN控制器中的第二条流连接,ctB表示SDN控制器中的最后一条流连接,为了普识性说明,ctB也称为任意一条流连接,B表示流连接的标识号。所述的任意一条流连接ctB中包含有流连接标识号ID、数据包的个数packetnum、流连接的长度flen、源IP地址srcIP、目的IP地址dstIP、源端口号srcPort、目的端口号dstPort和协议号tran,采用集合形式表达为ctB={ID,packetnum,flen,srcIP,srcPort,dstIP,dstPort,tran}。
在本发明中,SDN控制器中可能存在多个原始数据包OP={op1,op2,…,opZ}对应同一条流连接ctB,也可能一个数据包opZ对应一条流连接ctB
在本发明中,每一条流连接ctB对应一个流特征向量featureB,所述其中:
pl1表示属于流连接ctB的第一个数据包的负载字节长度;
pl2表示属于流连接ctB的第二个数据包的负载字节长度;
pl3表示属于流连接ctB的第三个数据包的负载字节长度;
pl4表示属于流连接ctB的第四个数据包的负载字节长度;
pl5表示属于流连接ctB的第五个数据包的负载字节长度;
pl6表示属于流连接ctB的第六个数据包的负载字节长度;
pl7表示属于流连接ctB的第七个数据包的负载字节长度;
pl8表示属于流连接ctB的第八个数据包的负载字节长度;
pl9表示属于流连接ctB的第九个数据包的负载字节长度;
pl10表示属于流连接ctB的第十个数据包的负载字节长度;
le1表示属于流连接ctB的第一个数据包的报文字节长度;
le2表示属于流连接ctB的第二个数据包的报文字节长度;
le3表示属于流连接ctB的第三个数据包的报文字节长度;
le4表示属于流连接ctB的第四个数据包的报文字节长度;
le5表示属于流连接ctB的第五个数据包的报文字节长度;
le6表示属于流连接ctB的第六个数据包的报文字节长度;
le7表示属于流连接ctB的第七个数据包的报文字节长度;
le8表示属于流连接ctB的第八个数据包的报文字节长度;
le9表示属于流连接ctB的第九个数据包的报文字节长度;
le10表示属于流连接ctB的第十个数据包的报文字节长度;
ti1表示属于流连接ctB中的第一个数据包与第二个数据包的时间间隔;
ti2表示属于流连接ctB中的第二个数据包与第三个数据包的时间间隔;
ti3表示属于流连接ctB中的第三个数据包与第四个数据包的时间间隔;
ti4表示属于流连接ctB中的第四个数据包与第五个数据包的时间间隔;
ti5表示属于流连接ctB中的第五个数据包与第六个数据包的时间间隔;
ti6表示属于流连接ctB中的第六个数据包与第七个数据包的时间间隔;
ti7表示属于流连接ctB中的第七个数据包与第八个数据包的时间间隔;
ti8表示属于流连接ctB中的第八个数据包与第九个数据包的时间间隔;
ti9表示属于流连接ctB中的第九个数据包与第十个数据包的时间间隔;
所有流连接的流特征向量采用集合形式表达为FEA={feature1,feature2,…,featureB},feature1表示ct1的流特征向量,feature2表示ct2的流特征向量,featureB表示ctB的流特征向量。
(三)分类器调度模块
分类器调度模块采用先进先出方式对接收到的所有流连接的流特征向量FEA={feature1,feature2,…,featureB}进行分类器的分配,即将先进入的第一个流连接的流特征向量先分配给第一个NACC分类器进行处理,然后是顺次进行流连接的流特征向量与分类器的分配。
假定,feature1第一个到达分类器调度模块,则记为第一个待分类特征向量;featureB第二个到达分类器调度模块,则记为第二个待分类特征向量;feature2第三个到达分类器调度模块,则记为第三个待分类特征向量。在分类器处理模块中,处理顺序为feature1→featureB→feature2。为了方便说明,将featureB称为任意一个待分类特征向量。
(四)分类器处理模块
分类器处理模块中的各个NACC分类器依据自身是否处理完成了上一次的任务来索取下一次的任务进行处理。若上一次的任务已经完成,则直接从分类器调度模块中索取任务来进行;若本次任务未完成,则等待完成后再索取下一次的任务。
分类器处理模块中的所有NACC分类器记为NT,且NT={nt1,nt2,…,ntC},nt1表示第一个NACC分类器的处理线程,nt2表示第二个NACC分类器的处理线程,ntC表示最后一个NACC分类器的处理线程,为了方便说明,ntC也称为任意一个NACC分类器的处理线程,C表示NACC分类器的标识号。
在本发明中,对于任意一个应用prB(例如,微信、微博、QQ等常见的应用)都以应用的表征形式M来表示该应用prB,则应用的表征形式M={mj:Cj∈prB}。对于应用的表征形式记为M,所述M中的类型标识记为i,则属于某一类型应用表征形式时记为M(i)。应用的表征形式M的簇内中心点记为m,属于M(i)中的第j个簇内中心点记为mj,属于M(i)中的第j个簇记为Cj
在本发明中,对于任意一个待分类特征向量featureB的分类结果应该满足分类规则y表示属于应用PR={pr1,pr2,…,prB}中的某一个。
第N个NACC分类器第一方面用于接收待分类特征向量featureB
第N个NACC分类器第二方面依据分类规则对待分类特征向量featureB进行处理,得到分类结果,即应用prB
在本发明中,所有流连接CT={ct1,ct2,…,ctB}对应的应用记为PR={pr1,pr2,…,prB},pr1表示ct1的应用,pr2表示ct2的应用,prB表示ctB的应用。
(五)流表构建模块
在本发明中,流表构建模块包括有应用-策略表和流表;所述应用-策略表是将接收到的应用PR按照应用-策略表形式填入相关项,得到分类结果;然后对分类结果应用策略表得到对应执行动作PBCT,最后将执行动作PBCT填入流表的指令项中。
在本发明中,写流表是将接收到的协议信息PR按照流表形式填入相关项的动作,进而得到流表,然后将流表输出给网络设备。
(一)策略表
应用PR 执行动作PBCT
在本发明中,分类器处理模块给出了哪个流属于哪个应用PR。
在本发明中,策略表是用来约束应用PR所对应的流是否转发、丢弃的处理手段,即执行动作PBCT
(二)流表的格式如下:
本发明中引用的流表主体请参考《SDN核心技术剖析和实战指南》,第42页内容,“Cookie”注文为储存在用户本地终端上的数据。不同之处在于:增加了“标记”,所述“标记”是指进入交换机中的流量是否传送到控制器,是一种标记为传送或者不传送的指定。
本发明提出的一种基于NACC对数据包进行网络流分类的SDN控制器,其接收来自多个交换机(即网络设备)递送的OpenFlow数据包,交换机将没有对应流表的数据包作为数据封装在OpenFlow协议数据包中,去除OpenFlow协议头,得到原始数据包,并对其进行预处理;利用五元组信息将数据包封装为流以建立流连接,若当前流连接为新的,则为其分配空间并将其加入连接队列CT,并调用数据包调度程序将其分配给分类器处理模块,进入NACC分类器处理队列中。流表构建收集所有NACC分类器处理结果,对每个流连接根据其处理后的应用得到关联的策略表,然后利用丢弃、转发等方式对流表中相应的指令字段进行更改,并下发流表到所有交换机。
在本发明中,NACC技术在SDN网络架构下具有重要意义。主要表现在以下几个方面:
(1)SDN和基于NACC的技术结合可以实现集中策略和安全控制。基于NACC的技术可以为SDN控制器提供网络状态和流量的详细数据。这样SDN就可以将网络看作是一个整体的资源,而不是一系列单个设备(如交换机、安全性和其它4-7层元素)。基于NACC的技术可以为所有相关功能(控制器、策略、安全性等)提供信息帮助,而不是目前各个性能设备的系统各自拥有其专属DPI技术。
(2)基于NACC的技术和SDN技术结合以提高网络安全性。DPI技术确保IT管理员和安全官员可以制定打击恶意软件和其它威胁的策略,并将其在所有层级实施,包括应用层和用户层。基于NACC的技术和SDN技术的结合能使网络安全遍布在整个网络,而不仅仅是特定的端点,比如防火墙。
(3)基于NACC的技术和SDN技术结合可以在网络管理方面应用大数据。基于NACC的技术在为网络健康和性能提供关键信息方面扮演着重要的角色。结合SDN的DPI技术将引领当前网络走向更容易管理、更安全、运营成本更低的自动化网络。
实施例1
以下给出本发明的一个实施例,说明本发明数据包调度的过程(如图3、图4所示),具体数据包调度步骤如下:
步骤S1:支持OpenFlow协议的交换机接受到来自网络中设备发送的数据包封装成OpenFlow协议数据包记为OFPAK={(head,op1),(head,op2),…,(head,opZ)},然后将OFPAK={(head,op1),(head,op2),…,(head,opZ)}发送给本发明改进的控制器,即基于NACC的SDN控制器;
步骤S2:在基于NACC的SDN控制器中,将OFPAK={(head,op1),(head,op2),…,(head,opZ)}中的每个协议数据包的包头去除,得到OP={op1,op2,…,opZ};
根据任意一个数据包opZ的五元组信息,得到具有相同五元组信息的数据包所属的连接记为CT={ct1,ct2,…,ctB},且B≤Z,其中ctB={ID,packetnum,flen,srcIP,srcPort,dstIP,dstPort,tran};
ID表示连接标识号;
packetnum表示数据包的个数;
flen表示连接的长度;
srcIP表示源IP地址;
dstIP表示目的IP地址;
srcPort表示源端口号;
dstPort表示目的端口号;
tran表示传输层协议;
根据NT={nt1,nt2,…,ntC}中NACC分类器的空闲状态,从流连接CT={ct1,ct2,…,ctB}中选取被执行的流连接特征向量。
图4中展示步骤S3中的关于特征向量提取模块和NACC分类器处理线程模块具体的步骤如下:
S301:从步骤S2获得原始数据包opZ
S302:判断该数据包是否有效,若无效,则丢弃,从新执行S301,否则执行S303
S303:提取数据包opZ的头部五元组信息srcPort,dstPort,tran,srcIP,dstIP;所述五元组包括源IP地址、源端口、目的IP地址、目的端口和传输层协议;然后根据五元组信息判断该数据包opZ信息是否对应的新的流连接ctB;如果流连接表中不存在该标识流连接条目,则执行S308,创建该数据包所属的流连接;如果已经存在该流连接条目ctB,则继续执行S304;
S304:判断流连接数据包个数是否大于10,若否,则执行S309,数据包加入到对应的流连接;若是,则执行S305提取特征向量;
S305:提取数据包个数大于10流连接,得到流连接特征向量,加入到流特征向量中FEA={feature1,feature2,…,featureB}中,转入执行步骤S306;
S306:NACC分类器处理线程获取流特征向量中FEA={feature1,feature2,…,featureB}的某个流特征向量featureB,进行分类处理,转入执行步骤S307;
S307:将分类结果返还给S4。
步骤S4:流表下发模块收到所有NACC分类器处理线程NT={nt1,nt2,…,ntC}的分类结果PR,根据PR和系统设定的策略表,得到当前流的执行动作PBCT,将执行动作PBCT填入流表的指令项中,将1填入流表的标记字段中,并下发流表到所有交换机。

Claims (2)

1.一种基于NACC对数据包进行网络流分类的SDN控制器,所述NACC是指最近应用簇的分类方法,该基于NACC的SDN控制器是在现有SDN控制器中增加了输入控制模块、分类器处理模块和流表下发模块,所述分类器处理模块采用并行处理方式,即通过修改OpenFlow协议,基于NACC的SDN控制器和网络交换机通信获取数据包,然后将特征向量分发给NACC分类器做分类,并下发流表到交换机来控制后续数据包的转发;
所述输入控制模块包括有去消息头模块、特征向量提取模块、分类器调度模块;
所述分类器处理模块包括有第一个NACC分类器、第二个NACC分类器、第N个NACC分类器;
所述流表下发模块包括有以表格形式存在的应用-策略表和流表;
当一个数据包进入到SDN网络中,首先会存储在支持openflow交换机处,交换机收到该数据包,会结合本交换机的流表对流进行匹配,若找到匹配项,则直接进行转发,否则,递交给控制器中的分类器处理模块,对流进行特征处理,分类得到流的类别之后,根据流的类别和对应的应用-策略表,下发到openflow交换机中;后续的数据包则在openflow交换机这一数据层直接转发;
其特征在于:
去消息头模块用于将接收到的OpenFlow协议数据包OFPAK={(head,op1),(head,op2),…,(head,opZ)}进行去除OpenFlow协议头head,得到原始数据包OP={op1,op2,…,opZ};
特征向量提取模块对接收到的任意一个数据包opZ进行相同五元组内容的拾取,找出所述任意一个数据包opZ对应的流的流连接ctB;每一条流连接ctB对应一个流特征向量featureB
分类器调度模块采用先进先出方式对接收到的所有流连接的流特征向量FEA={feature1,feature2,…,featureB}进行分类器的分配,即将先进入的第一个流连接的流特征向量先分配给第一个NACC分类器进行处理,然后是顺次进行流连接的流特征向量与分类器的分配;
分类器处理模块中的各个NACC分类器依据自身是否处理完成了上一次的任务来索取下一次的任务进行处理;若上一次的任务已经完成,则直接从分类器调度模块中索取任务来进行;若本次任务未完成,则等待完成后再索取下一次的任务;
流表下发模块包括有应用-策略表和流表;所述应用-策略表是将接收到的应用PR按照应用-策略表形式填入相关项,得到分类结果;然后对分类结果应用到所述应用-策略表得到对应执行动作PBCT,最后将执行动作PBCT填入流表的指令项中;
应用-策略表格式为:
流表的格式为:
2.根据权利要求1所述的基于NACC对数据包进行网络流分类的SDN控制器,其特征在于基于NACC对数据包进行网络流分类的步骤如下:
步骤S1:支持OpenFlow协议的交换机接受到来自网络中设备发送的数据包封装成OpenFlow协议数据包记为OFPAK={(head,op1),(head,op2),…,(head,opZ)},然后将OFPAK={(head,op1),(head,op2),…,(head,opZ)}发送给基于NACC的SDN控制器;
步骤S2:在基于NACC的SDN控制器中,将OFPAK={(head,op1),(head,op2),…,(head,opZ)}中的每个OpenFlow协议数据包的协议头head去除,得到OP={op1,op2,…,opZ};
根据任意一个数据包opZ的五元组信息,得到具有相同五元组信息的数据包所属的连接记为CT={ct1,ct2,…,ctB},且B≤Z,其中ctB={ID,packetnum,flen,srcIP,srcPort,dstIP,dstPort,tran};
ID表示连接标识号;
packetnum表示数据包的个数;
flen表示连接的长度;
srcIP表示源IP地址;
dstIP表示目的IP地址;
srcPort表示源端口号;
dstPort表示目的端口号;
tran表示传输层协议;
根据NT={nt1,nt2,…,ntC}中NACC分类器的空闲状态,从流连接CT={ct1,ct2,…,ctB}中选取被执行的流连接特征向量;
关于特征向量提取模块和NACC分类器处理线程模块具体的步骤如下:
S301:从步骤S2获得原始数据包opZ
S302:判断该数据包是否有效,若无效,则丢弃,从新执行S301,否则执行S303
S303:提取数据包opZ的头部五元组信息srcPort,dstPort,tran,srcIP,dstIP;所述五元组包括源IP地址、源端口、目的IP地址、目的端口和传输层协议;然后根据五元组信息判断该数据包opZ信息是否对应的新的流连接ctB;如果流连接表中不存在该标识流连接条目,则执行S308,创建该数据包所属的流连接;如果已经存在该流连接条目ctB,则继续执行S304;
S304:判断流连接数据包个数是否大于10,若否,则执行S309,数据包加入到对应的流连接;若是,则执行S305提取特征向量;
S305:提取数据包个数大于10流连接,得到流连接特征向量,加入到流特征向量中FEA={feature1,feature2,…,featureB}中,转入执行步骤S306;
S306:NACC分类器处理线程获取流特征向量中FEA={feature1,feature2,…,featureB}的某个流特征向量featureB,进行分类处理,转入执行步骤S307;
S307:将分类结果返还给S4;
步骤S4:流表下发模块收到所有NACC分类器处理线程NT={nt1,nt2,…,ntC}的分类结果PR,根据PR和系统设定的应用-策略表,得到当前流的执行动作PBCT,将执行动作PBCT填入流表的指令项中,将所述PR填入流表的标记字段中,并下发流表到所有交换机。
CN201410645992.3A 2014-11-14 2014-11-14 一种基于nacc对数据包进行网络流分类的sdn控制器 Active CN104468403B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410645992.3A CN104468403B (zh) 2014-11-14 2014-11-14 一种基于nacc对数据包进行网络流分类的sdn控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410645992.3A CN104468403B (zh) 2014-11-14 2014-11-14 一种基于nacc对数据包进行网络流分类的sdn控制器

Publications (2)

Publication Number Publication Date
CN104468403A CN104468403A (zh) 2015-03-25
CN104468403B true CN104468403B (zh) 2017-10-13

Family

ID=52913799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410645992.3A Active CN104468403B (zh) 2014-11-14 2014-11-14 一种基于nacc对数据包进行网络流分类的sdn控制器

Country Status (1)

Country Link
CN (1) CN104468403B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107070700B (zh) * 2017-03-07 2020-01-21 浙江工商大学 一种基于身份自动识别的网络服务提供方法
CN107317758B (zh) * 2017-06-12 2020-06-26 西安交通大学 一种高可靠性的细粒度sdn流量监控架构
CN108650221B (zh) * 2018-03-29 2020-12-15 烽火通信科技股份有限公司 一种sptn设备的控制报文提取装置及方法
CN113098735B (zh) * 2021-03-31 2022-10-11 上海天旦网络科技发展有限公司 面向推理的应用流量和指标向量化方法及系统
CN113965524A (zh) * 2021-09-29 2022-01-21 河海大学 一种网络流量分类方法以及基于该方法的流量控制系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103236944A (zh) * 2013-04-08 2013-08-07 北京天地互连信息技术有限公司 基于OpenFlow网络的QoS集中管理系统
CN103326884A (zh) * 2013-05-30 2013-09-25 烽火通信科技股份有限公司 Sdn网络中结合流检测和包检测的业务流感知系统及方法
EP2680540A1 (en) * 2012-06-27 2014-01-01 Juniper Networks, Inc. Feedback Loop for Service Engineered Paths
CN103873361A (zh) * 2014-03-04 2014-06-18 杭州华三通信技术有限公司 一种报文转发装置和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2680540A1 (en) * 2012-06-27 2014-01-01 Juniper Networks, Inc. Feedback Loop for Service Engineered Paths
CN103236944A (zh) * 2013-04-08 2013-08-07 北京天地互连信息技术有限公司 基于OpenFlow网络的QoS集中管理系统
CN103326884A (zh) * 2013-05-30 2013-09-25 烽火通信科技股份有限公司 Sdn网络中结合流检测和包检测的业务流感知系统及方法
CN103873361A (zh) * 2014-03-04 2014-06-18 杭州华三通信技术有限公司 一种报文转发装置和方法

Also Published As

Publication number Publication date
CN104468403A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN104468403B (zh) 一种基于nacc对数据包进行网络流分类的sdn控制器
CN105721535B (zh) 用于对服务功能链中的服务功能进行并行处理的计算设备、方法以及机器可读存储介质
CN108259367B (zh) 一种基于软件定义网络的服务感知的流策略定制方法
CN103346922B (zh) 基于sdn的确定网络状态的控制器及其确定方法
CN104518984B (zh) 一种基于多重分类器对数据包进行流量分类的sdn控制器
CN104158753B (zh) 基于软件定义网络的动态流调度方法及系统
CN104579962B (zh) 一种区分不同报文的QoS策略的方法及装置
DE602005006070T2 (de) Interner Lastausgleich in einem Datenschalter mit verteiltem Netzwerkprozess
US6831893B1 (en) Apparatus and method for wire-speed classification and pre-processing of data packets in a full duplex network
CN108471389B (zh) 一种基于服务功能链的交换机系统
CN108353029A (zh) 用于管理计算网络中的数据业务的方法和系统
CN104394090A (zh) 一种采用dpi对数据包进行网络流分类的sdn控制器
CN107682258A (zh) 一种基于虚拟化的多路径网络传输方法及装置
CN109831386A (zh) 一种sdn下基于机器学习的最优路径选择算法
US8284789B2 (en) Methods and apparatus for providing dynamic data flow queues
CN108540559B (zh) 一种支持IPSec VPN负载均衡的SDN控制器
CN106341330A (zh) 一种sdn控制器的拓扑发现方法及系统
CN109905329B (zh) 一种虚拟化环境下任务类型感知的流队列自适应管理方法
DE10296945T5 (de) System und Verfahren zum differenzierten Warteschlangenbilden in einem Routing-System
CN106162754A (zh) 一种业务流的识别方法、装置及系统
CN116668380B (zh) 汇聚分流器设备的报文处理方法及装置
CN107547334A (zh) 一种报文转发方法及装置
CN107846341A (zh) 调度报文的方法、相关装置和系统
CN103685057B (zh) 流量统计方法和装置
Jia et al. Reducing and balancing flow table entries in software-defined networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant