CN104852887B - 基于OpenFlow技术的网络流量溯源系统及方法 - Google Patents
基于OpenFlow技术的网络流量溯源系统及方法 Download PDFInfo
- Publication number
- CN104852887B CN104852887B CN201410053000.8A CN201410053000A CN104852887B CN 104852887 B CN104852887 B CN 104852887B CN 201410053000 A CN201410053000 A CN 201410053000A CN 104852887 B CN104852887 B CN 104852887B
- Authority
- CN
- China
- Prior art keywords
- flow
- probe
- module
- source
- issues
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于OpenFlow技术的网络流量溯源系统及方法。其中,所述网络流量溯源系统至少包括:用于在网络拓扑上进行广度优先搜索以确定流量探针的下发位置的搜索模块、用于基于所述搜索模块所确定的下发位置在相应交换机上下发流量探针的探针下发模块、用于进行数据包处理以判断流量探针是否探测到目标流量的探针检验模块、以及用于统筹调度搜索模块、探针下发模块及探针检验模块以实现流量溯源任务的调度模块,由此可以实现在OpenFlow交换机网络中快速高效地进行流量溯源。其中,探针下发模块和探针检验模块都为能够支持多个版本的OpenFlow协议,以实现可以和不同的交换机进行交互。
Description
技术领域
本发明涉及网络流量溯源领域,特别是涉及一种基于OpenFlow技术的网络流量溯源系统及方法。
背景技术
虽然目前已有一些较为成熟的技术可用于阻止部分网络攻击,比如入侵检测系统可以检测网络攻击,防火墙可以阻挡部分攻击,但它们都无法标识出攻击源。另一方面,在DoS攻击技术快速发展的同时,应对它的机制却还只局限于过滤掉可疑流量和通过减轻对受害者的影响来“容忍”攻击。因此人们开始研究另一种解决方法,通过计算机网络定位攻击源头,在源头阻止攻击的发生,这就是计算机网络流量溯源技术。
由于当前的TCP/IP协议对IP包的源地址没有验证机制以及Internet基础设施的无状态性,使得想要追踪数据包的真实起点已不容易,而要查找那些通过多个跳板或反射器等实施攻击的真实源地址就更加困难。目前,网络流量溯源的基本工作方法可以分为两类:前摄追踪(Proactive Tracing)和反应追踪(Reactive Tracing)。前摄追踪是在分组传输过程中记录追踪所需的信息。当需要进行追踪时,参考先前记录的信息即可标识出攻击源。分组标记和通知是两种典型的前摄追踪法。反应追踪是在检测到攻击之后开始进行追踪。这类方法往往从攻击路径的终点开始,沿实际攻击路径的相反方向回溯到攻击源。开发有效的追踪算法和分组匹配技术是目前这类方法面临的最大挑战。然而,现在还没有一种网络流量溯源系统能够真正的部署,因为大部分现有技术要求改变网络,比如增加路由器功能,甚至需要改变分组结构。
作为软件定义网络(SDN)的一项核心技术:OpenFlow,实现了数据层和控制层的分离,其中OpenFlow交换机进行数据层的转发,而控制器(Controller)实现了控制层的功能。Controller通过OpenFlow协议这个标准接口对OpenFlow交换机中的流表进行控制,从而实现对整个网络进行集中控制。因此,OpenFlow技术为开发高效的、可实际部署的网络流量溯源技术提供了一个全新的工具。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于OpenFlow技术的网络流量溯源系统及方法。
为实现上述目的及其他相关目的,本发明提供一种基于OpenFlow技术的网络流量溯源系统,其至少包括:
搜索模块,用于在网络拓扑上进行广度优先搜索以确定流量探针的下发位置;
探针下发模块,用于基于所述搜索模块所确定的下发位置在相应交换机上下发流量探针;
探针检验模块,用于进行数据包处理以判断流量探针是否探测到目标流量;以及
调度模块,用于统筹调度搜索模块、探针下发模块及探针检验模块以实现流量溯源任务。
优选地,所述探针下发模块与所述探针检验模块均为能够支持多个版本的OpenFlow协议的模块。
本发明还提供一种基于OpenFlow技术的网络流量溯源方法,其至少包括:
1)当当前交换机节点发现攻击流量时,则调度模块调度搜索模块进行搜索以确定所述当前交换机节点的所有邻居节点,并将未被访问过的邻居节点作为流量探针的下发位置;
2)所述调度模块调度探针下发模块向所确定的下发位置下发流量探针;
3)所述调度模块调度探针检验模块进行数据包处理以判断流量探针是否探测到目标流量;
4)若所述探针检验模块判断所述流量探针已探测到目标流量,则以所述流量探针所在位置作为当前交换机节点,重复步骤1)至3)。
优选地,所述探针下发模块下发的流量探针为流表项;更为优选地,所述流表项包含匹配域、优先级和动作集合三部分。
如上所述,本发明的基于OpenFlow技术的网络流量溯源系统及方法,具有以下有益效果:不需要改变分组结构,可在OpenFlow交换网络中快速部署,具有灵活、高效、精确等优点。
附图说明
图1显示为本发明的基于OpenFlow技术的网络流量溯源系统示意图。
图2显示为本发明的基于OpenFlow技术的网络流量溯源系统的探针下发模块所下发的流量探针的优选示意图。
图3显示为本发明的基于OpenFlow技术的网络流量溯源方法的流程图。
图4显示为本发明的基于OpenFlow技术的网络流量溯源方法的广度优先搜索策略示意图。
元件标号说明
1 网络流量溯源系统
11 搜索模块
12 探针下发模块
13 探针检验模块
14 调度模块
S1~S6 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1至图4。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,本发明提供一种基于OpenFlow技术的网络流量溯源系统。所述网络流量溯源系统1至少包括:搜索模块11、探针下发模块12、探针检验模块13、以及调度模块14。
所述搜索模块11用于在网络拓扑上进行广度优先搜索以确定流量探针的下发位置。
所述探针下发模块12用于基于所述搜索模块11所确定的下发位置在相应交换机上下发流量探针。
所述流量探针为针对被溯源流量的流表项。每一个OpenFlow交换机都会维护一个或多个由一组流表项构成的流表(Flow Table)。流表项包含匹配域(例如数据包的五元组特性)、优先级和动作集合三部分。当满足某个流表项匹配域的数据包流经交换机时,交换机会执行相应的动作集合。
如图2所示,其为一个优选流量探针示意图;该流量探针的匹配域包括:源地址、目标地址、源端口、目标端口、以太网类型、WLAN ID等项,该流量探针的优先级为0、动作为通知控制器并添加标记。
所述探针下发模块12与交换网络之间以OpenFlow协议进行通信,优选地,所述探针下发模块12为能够支持多个版本的OpenFlow协议的模块。
所述探针检验模块13用于进行数据包处理以判断流量探针是否探测到目标流量。
其中,所述探针检验模块13与交换网络之间也是以OpenFlow协议进行通信,优选地,所述探针下发模块12也为能够支持多个版本的OpenFlow协议的模块。
所述调度模块14用于统筹调度搜索模块11、探针下发模块12及探针检验模块13以实现流量溯源任务。
上述网络流量溯源系统1的工作过程如图3所示:
在步骤S1中,当当前交换机节点发现攻击流量时,则溯源开始,也就是调度模块14调度搜索模块11。
在步骤S2中,搜索模块11进行搜索以确定所述当前交换机节点的所有邻居节点,并判断邻居节点是否被访问过。
例如,如图4所示,搜索模块11搜索溯源起点(即交换机E)的所有邻居节点,即交换机D与交换机C。
在步骤S3中,如果搜索模块11确定已访问过所述当前交换机节点的所有邻居节点,则结束,否则将未被访问过的邻居节点作为流量探针的下发位置。
如图4所示,搜索模块11确定未访问过交换机E的邻居节点,即交换机C与交换机D,则搜索模块11将交换机C与交换机D作为流量探针的下发位置,由此,交换机C和D成为首轮流量探针的下发位置。
接着,在步骤S4中,所述调度模块14调度探针下发模块12向所确定的下发位置下发流量探针。
例如,如图4所示,探针下发模块12向交换机C和D下发如图2所示的流量探针。
接着,在步骤S5中,所述调度模块14调度探针检验模块13进行数据包处理以判断流量探针是否探测到目标流量,如果否,则结束;否则进入步骤S6。
接着,在步骤S6中,以所述流量探针所在位置作为当前交换机节点,返回步骤S2。
由上所述可见,本发明的网络流量溯源系统即可用于自治域内的流量溯源,也可用来做域间的流量溯源,与传统的IP溯源不同的是,本发明的网络流量溯源系统不仅仅可以对IP地址做溯源,而且可以对由数据包的任意属性(例如五元组,十元组特性)定义的网络流量进行溯源,甚至可以包含通配符,因此有着更为广泛的适用范围。相对于现有的IP溯源系统,本发明的网络流量溯源系统做了如下几方面的改进:
1)部署简单,不需要改变网络数据包结构和交换机功能。
2)基于开放的OpenFlow协议,可以进行跨域的溯源。
3)网络流量探针为OpenFlow交换机的流表项(参加图2),可充分利用交换机的强大的包转发能力进行流量的高效探测。
4)通过在网络拓扑上做广度优先搜索(参加图4),可以迅速的对流量的所有传播路径和源头进行溯源定位。
在传统的IP溯源系统中,当交换设备检测到流量后,需要对数据包进行标记或是发消息通知溯源系统;而OpenFlow交换机对这两种方式都可以进行完全的支持,只需要在流量探针所对应的动作集合中设定相应的动作即可。当OpenFlow交换机中存在多余一个流表时(版本1.0.0以上),流量探针被添加在Table ID=0即第一个流表中。若需要探测的交换机的流表中存在和探针匹配域相同的流表项,且根据此流表项的统计信息(例如最后经过的数据包的时间)可以判断出在目标时间段内有流量发生时,可不进行探测而直接判断当前交换机位于流量路径上,从而加快溯源的过程;否则,则在其动作集合中添加相应的动作。若没有在现有的流表中发现和探针匹配域相同的流表项,为了不会对原有网络流量的处理流程造成干扰,添加新的探针需要解决以下问题:
当添加探针以后,当被探测流量发送时,交换机所对应的控制器可能需要向其添加正常的流表项,那么交换机中就会存在两个完全相同的流表项,需要保证这两个流表项中的动作都可以被执行。
对这个问题有两种情况需要进行考虑,一种是情况是只需要一个包就可以进行流量的判定,那么把流量探针删除即可;第二种情况是流量探针还需要存在一段时间以进行多个包的检测(例如需要对流量的速度进行测定),那么就需要把两个流表项的动作集合进行合并。这两种方式都需要控制器的配合处理,因此在下发流量探针时,探针下发模块需要通知控制器需要做什么流量的探测。由于网络流量溯源系统是作为控制器的一个应用存在的,在域内进行溯源时和控制器之间的接口容易实现;但是,在域间做溯源时,所有的控制器之间应该定义统一的流量溯源接口协议以进行溯源信息的传递。
综上所述,本发明的基于OpenFlow技术的网络流量溯源系统及方法不需要改变分组结构,可在OpenFlow交换网络中快速部署,具有灵活、高效、精确等优点。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种基于OpenFlow技术的网络流量溯源系统,其特征在于,所述基于OpenFlow技术的网络流量溯源系统至少包括:
搜索模块,用于在网络拓扑上进行广度优先搜索溯源起点的所有邻居节点,以确定流量探针的下发位置;
探针下发模块,用于基于所述搜索模块所确定的下发位置,并判断邻居节点是否被访问过,将未被访问过的邻居节点作为流量探针的下发位;溯源包括对IP地址,由数据包的任意属性定义的网络流量、以及通配符进行溯源;在相应交换机上下发流量探针;
探针检验模块,用于进行数据包处理以判断流量探针是否探测到目标流量,当检测到目标流量时,以所述流量探针所在位置作为当前交换机节点;以及
调度模块,用于统筹调度搜索模块、探针下发模块及探针检验模块以实现流量溯源任务。
2.根据权利要求1所述的基于OpenFlow技术的网络流量溯源系统,其特征在于:所述探针下发模块下发的流量探针为流表项。
3.权利要求2所述的基于OpenFlow技术的网络流量溯源系统,其特征在于:所述流表项包含匹配域、优先级和动作集合三部分。
4.权利要求1或2所述的基于OpenFlow技术的网络流量溯源系统,其特征在于:所述探针下发模块为能够支持多个版本的OpenFlow协议的模块。
5.根据权利要求1所述的基于OpenFlow技术的网络流量溯源系统,其特征在于:所述探针检验模块为能够支持多个版本的OpenFlow协议的模块。
6.一种基于OpenFlow技术的网络流量溯源方法,其特征在于,所述基于OpenFlow技术的网络流量溯源方法至少包括:
1)当当前交换机节点发现攻击流量时,则调度模块调度搜索模块对溯源起点的所有邻居节点进行搜索,以确定所述当前交换机节点的所有邻居节点,并将未被访问过的邻居节点作为流量探针的下发位置,并判断邻居节点是否被访问过,将未被访问过的邻居节点作为流量探针的下发位;溯源包括对IP地址,由数据包的任意属性定义的网络流量进行溯源,以及通配符进行溯源;
2)所述调度模块调度探针下发模块向所确定的下发位置下发流量探针;
3)所述调度模块调度探针检验模块进行数据包处理以判断流量探针是否探测到目标流量;
4)若所述探针检验模块判断所述流量探针已探测到目标流量,当检测到目标流量时,则以所述流量探针所在位置作为当前交换机节点,重复步骤1)至3)。
7.根据权利要求6所述的基于OpenFlow技术的网络流量溯源方法,其特征在于:所述探针下发模块下发的流量探针为流表项。
8.根据权利要求7所述的基于OpenFlow技术的网络流量溯源方法,其特征在于:所述流表项包含匹配域、优先级和动作集合三部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410053000.8A CN104852887B (zh) | 2014-02-17 | 2014-02-17 | 基于OpenFlow技术的网络流量溯源系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410053000.8A CN104852887B (zh) | 2014-02-17 | 2014-02-17 | 基于OpenFlow技术的网络流量溯源系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104852887A CN104852887A (zh) | 2015-08-19 |
CN104852887B true CN104852887B (zh) | 2019-03-15 |
Family
ID=53852247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410053000.8A Active CN104852887B (zh) | 2014-02-17 | 2014-02-17 | 基于OpenFlow技术的网络流量溯源系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104852887B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102149531B1 (ko) * | 2015-11-09 | 2020-08-31 | 한국전자통신연구원 | 넷플로우 기반 연결 핑거프린트 생성 및 경유지 역추적 방법 |
CN105407046A (zh) * | 2015-11-25 | 2016-03-16 | 国网智能电网研究院 | 一种在软件定义网络中获取网络设备转发状态的方法 |
US10630575B2 (en) * | 2016-01-05 | 2020-04-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Mechanism to detect control plane loops in a software defined networking (SDN) network |
CN106302006B (zh) * | 2016-08-05 | 2019-06-25 | 南京理工大学 | 一种基于sdn的ip欺骗数据包的动态溯源方法 |
CN107070895B (zh) * | 2017-03-17 | 2020-05-22 | 中国科学院信息工程研究所 | 一种基于sdn的数据流溯源方法 |
CN107196939B (zh) * | 2017-05-22 | 2020-02-21 | 南京邮电大学 | 一种适用于sdn网络的混合包标记溯源系统和方法 |
CN109962879B (zh) * | 2017-12-22 | 2021-12-03 | 中国电信股份有限公司 | 针对分布式反射拒绝服务DRDoS的安全防御方法和控制器 |
CN108768876B (zh) * | 2018-06-05 | 2022-01-11 | 清华大学深圳研究生院 | 一种面向机器学习框架的流量调度方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302705B1 (en) * | 2000-08-30 | 2007-11-27 | International Business Machines Corporation | Method and apparatus for tracing a denial-of-service attack back to its source |
CN101212338A (zh) * | 2006-12-30 | 2008-07-02 | 上海复旦光华信息科技股份有限公司 | 基于监控探针联动的网络安全事件溯源系统与方法 |
CN101447916A (zh) * | 2008-12-25 | 2009-06-03 | 中国电子科技集团公司第五十四研究所 | 多协议标记交换网络的双向复合信源定位方法 |
CN103491095A (zh) * | 2013-09-25 | 2014-01-01 | 中国联合网络通信集团有限公司 | 流量清洗架构、装置及流量牵引、流量回注方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130017333A (ko) * | 2011-08-10 | 2013-02-20 | 한국전자통신연구원 | 응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법 |
-
2014
- 2014-02-17 CN CN201410053000.8A patent/CN104852887B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302705B1 (en) * | 2000-08-30 | 2007-11-27 | International Business Machines Corporation | Method and apparatus for tracing a denial-of-service attack back to its source |
CN101212338A (zh) * | 2006-12-30 | 2008-07-02 | 上海复旦光华信息科技股份有限公司 | 基于监控探针联动的网络安全事件溯源系统与方法 |
CN101447916A (zh) * | 2008-12-25 | 2009-06-03 | 中国电子科技集团公司第五十四研究所 | 多协议标记交换网络的双向复合信源定位方法 |
CN103491095A (zh) * | 2013-09-25 | 2014-01-01 | 中国联合网络通信集团有限公司 | 流量清洗架构、装置及流量牵引、流量回注方法 |
Non-Patent Citations (2)
Title |
---|
Lightweight DDOS Flooding Attack Detection Using NOX/OpenFlow;Rodrigo Braga等;《35th Annual IEEE Conference on Local Computer Networks》;20101231;全文 |
Practical network support for IP traceback;Stefan Savage等;《SIGCOMM’00 Proceeding of the conference on Applications, Technologies, Architectures, and Protocols for Computer Communication》;20000901;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN104852887A (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104852887B (zh) | 基于OpenFlow技术的网络流量溯源系统及方法 | |
KR102163280B1 (ko) | 엣지 컴퓨팅 기반 네트워크 모니터링 방법, 장치 및 시스템 | |
Harrison et al. | Network-wide heavy hitter detection with commodity switches | |
Cui et al. | SD-Anti-DDoS: Fast and efficient DDoS defense in software-defined networks | |
CN108289104B (zh) | 一种工业SDN网络DDoS攻击检测与缓解方法 | |
CN106100999B (zh) | 一种虚拟化网络环境中镜像网络流量控制方法 | |
Wang et al. | An entropy-based distributed DDoS detection mechanism in software-defined networking | |
CN106664261B (zh) | 一种配置流表项的方法、装置和系统 | |
CN105991334B (zh) | 一种网络拓扑自发现方法及装置 | |
CN105812340B (zh) | 一种虚拟网络访问外网的方法和装置 | |
CN104937879B (zh) | 用于在网络中放置服务的方法和设备 | |
CN109962903A (zh) | 一种家庭网关安全监控方法、装置、系统和介质 | |
CN106605392A (zh) | 用于使用控制器在网络上进行操作的系统和方法 | |
CN107566192B (zh) | 一种异常流量处理方法及网管设备 | |
US8924787B2 (en) | Network debugging | |
CN107465565A (zh) | 链路测试方法和装置及系统 | |
CN107347033A (zh) | 一种sdn架构中实现快速保护倒换的方法及装置 | |
CN108632099A (zh) | 一种链路聚合的故障检测方法及装置 | |
CN105379210B (zh) | 一种数据流处理方法及装置 | |
CN107645472A (zh) | 一种基于OpenFlow的虚拟机流量检测系统 | |
CN108768714A (zh) | 一种数据中心综合管理系统及其网络安全实现方法 | |
CN104734907A (zh) | 一种主动测量OpenFlow网络端到端路径性能的方法及其所采用的系统 | |
CN106533777A (zh) | 基于矩阵行列的智能变电站信息流路径确定方法及系统 | |
CN105763347B (zh) | 用于获取参数的方法、网络设备及系统 | |
CN109391525A (zh) | 环路定位方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |