CN106302006B - 一种基于sdn的ip欺骗数据包的动态溯源方法 - Google Patents

一种基于sdn的ip欺骗数据包的动态溯源方法 Download PDF

Info

Publication number
CN106302006B
CN106302006B CN201610640025.7A CN201610640025A CN106302006B CN 106302006 B CN106302006 B CN 106302006B CN 201610640025 A CN201610640025 A CN 201610640025A CN 106302006 B CN106302006 B CN 106302006B
Authority
CN
China
Prior art keywords
source
data packet
tracing
interchanger
sdn
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.)
Expired - Fee Related
Application number
CN201610640025.7A
Other languages
English (en)
Other versions
CN106302006A (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.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
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 Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201610640025.7A priority Critical patent/CN106302006B/zh
Publication of CN106302006A publication Critical patent/CN106302006A/zh
Application granted granted Critical
Publication of CN106302006B publication Critical patent/CN106302006B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/146Tracing the source of attacks

Landscapes

  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于SDN的IP欺骗数据包的动态溯源方法,步骤为:在软件定义网络(SDN)框架下通过控制器向网络中相关的SDN交换机中添加探测流表项;探测流表项与被溯源数据包匹配,具有最高优先级,动作是发送Packet‑in消息给控制器;当被溯源数据包到达添加了探测流表项的交换机时,该交换机会向控制器发送Packet‑in消息,控制器通过该消息得知被溯源数据包经过该交换机。本发明解决了由于SDN交换机中流表项的匹配精度不高,无法仅通过流表项准确推测出发送数据包的源主机或入口交换机的问题,且不会影响网络中其它的正常数据流的转发。

Description

一种基于SDN的IP欺骗数据包的动态溯源方法
技术领域
本发明涉及数字信息传输技术领域,特别是一种基于SDN的IP欺骗数据包的动态溯源方法。
背景技术
SDN是一种数据控制分离、软件可编程的新型网络体系架构。SDN采用了集中式的控制平面和分布式的转发平面,两个平面相互分离,控制平面利用控制-转发通信接口对转发平面上的网络设备的数据转发行为进行集中式控制,并提供灵活的可编程能力。SDN的主流控制接口协议是OpenFlow协议。
IP地址欺骗是指发送者伪造自身的IP地址向目标系统发送请求。IP地址欺骗常用于DoS攻击中。由于使用了伪造的源IP地址,往往难以找到真正的攻击流量发送者。IP地址欺骗同样存在于SDN网络中。目前在SDN网络中,对于查找发送IP欺骗数据包源主机的研究比较少,有的查找发送源主机的方法是控制器通过查询交换机中的流表项找到源主机。但由于SDN网络中可能存在多个控制器,交换机流表项的状态频繁改变,流表项的匹配精度不确定,找到的IP欺骗数据包的发送源通常是一个集合,不能准确的找到发送IP欺骗数据包的源主机或入口交换机。
发明内容
本发明的目的在于提供一种基于SDN的IP欺骗数据包的动态溯源方法,在SDN框架下,找到发送一类数据包的源主机,这一类数据包应具有足以与其它类数据包区分开的特征,如目的IP地址、使用的协议类型、目的端口号等。
实现本发明目的的技术解决方案为:一种基于SDN的IP欺骗数据包的动态溯源方法,包括以下步骤:
步骤1,控制器收到溯源请求者提出的溯源请求,请求内容中包含溯源起点交换机在SDN中的DPID、要求溯源的IP数据包的样本集,以及相邻到达的被溯源数据包间的平均间隔时间;
步骤2,控制器将溯源起点交换机的DPID加入溯源交换机队列,并构建被溯源数据包特征集和探测流表项;
步骤3,设置溯源交换机队列中的队尾交换机为当前交换机;
步骤4,控制器向与当前交换机相邻的且不在溯源交换机队列的交换机添加探测流表项,重置计时器;
步骤5,控制器监听新添加的探测流表项的触发情况,所述触发情况即在添加了探测流表项的交换机上被溯源的数据包触发的Packet-in消息;
步骤6,若监听到相应的Packet-in消息,控制器查看发送该消息的交换机的流表,若流表中有转发被溯源数据包至当前交换机的流表项,控制器记录该Packet-in消息中的in_port值,并将发送该消息的交换机的DPID插入到溯源交换机队列尾部,即为前一跳交换机,删除下发的探测流表项,然后返回步骤3;若没监听到相应的Packet-in消息,继续等待直至计时器超时,然后进入步骤7;
步骤7,若计时器超时,最后加入溯源交换机队列的交换机就是被溯源数据包的入口交换机,该入口交换机记录的端口即最后记录的in_port值连接的主机就是发送被溯源数据包的源主机,溯源交换机队列中记录的交换机从队尾到队头,就是被溯源数据包依次经过的交换机。
进一步地,步骤1中所述的起点交换机为提出溯源请求的SDN主机所直接连接的被溯源数据包的来源交换机,或者是提出溯源请求的SDN交换机。
进一步地,步骤2所述构建被溯源数据包特征集,即根据溯源数据包的样本集构造特征集,构造方法是:在Openflow1.0中,称流表项匹配域的12元组为匹配项,若样本集中与匹配项对应的值是唯一的,该值作为特征集中的元素。
进一步地,步骤2所述探测流表项的匹配域是特征集,具有最高优先级,动作是发送Packet-in消息给控制器。
进一步地,步骤6所述相应的Packet-in消息,是指通过溯源数据包的特征集判断该Packet-in消息由被溯源数据包触发。
进一步地,步骤6所述计时器超时,是指若计时器记录的时间超过溯源数据包间平均间隔时间的2倍,即为超时。
本发明与现有技术相比,其显著优点为:(1)不会影响正常数据流的转发;(2)SDN交换机中流表项的匹配精度高,仅通过流表项即能够准确推测出发送数据包的源主机;(3)根据被溯源数据包的实际转发情况动态查找被溯源数据包的转发路径,准确率高。
附图说明
图1为本发明基于SDN的IP欺骗数据包的动态溯源方法的流程图。
图2为本发明中第一例网络拓扑示意图。
图3为本发明中第二例网络拓扑示意图。
图4为本发明中第三例网络拓扑示意图。
图5为本发明实施例中应用场景的实施方法示例图。
具体实施方式
IP地址欺骗是指采用伪造的源IP地址向目标系统发送IP数据包的行为。由于发送者使用了伪造的IP源地址,数据包接收者及中间交换机往往无法直接查明真正的数据包来源。本发明在软件定义网络(SDN)框架下提出了一种通过控制器向网络中相关的SDN交换机中添加探测流表项的方法,用以找到发送IP欺骗数据包的主机。本发明所述IP数据包溯源模块位于控制器中,控制器中有全局网络拓扑视图。本发明的溯源流程图如图1所示,具体过程如下:
(1)控制器收到请求者提出的溯源请求,请求中包含溯源起点交换机的DPID、IP数据包样本集和相邻到达的被溯源数据包间的平均间隔时间。
(2)控制器将溯源起点交换机的DPID加入溯源交换机队列中,并构建特征集,以此构造探测流表项。
(3)当前溯源路径队列中队尾交换机为当前交换机。若不存在与当前交换机相邻的交换机(已在溯源交换机队列中的除外),进入(9)。
(4)控制器向与当前交换机相邻的交换机(已在溯源交换机队列中的除外)添加探测流表项。
(5)控制器重置探测计时器。
(6)控制器监听探测流表项触发的Packet-in消息。若监听到该消息,控制器查询发送该Packet-in消息的交换机的流表,若流表中有转发被溯源数据包到当前交换机的流表项,则进入(8)。
(7)若计时器超时,进入(9)。否则进入(6)。
(8)控制器清除下发的探测流表项,记录该Packet_in消息中的in_port值,将发送该Packet-in消息的交换机的DPID加入队列尾部,进入(3)。
(9)最后加入溯源交换机队列的交换机为入口交换机,若入口交换机和溯源起点交换机不是同一个交换机,进入(11)。
(10)向入口交换机下发探测流表项,监听被溯源的数据包触发的Packet-in消息,记录该Packet-in消息中in_port值。
(11)入口交换机的记录端口(最后记录的in_port值)连接的主机是发送该IP欺骗数据包的源主机。溯源交换机队列中记录的交换机从队尾到队头就是被溯源数据包依次经过的交换机。
下面是对以上过程的说明:
第(2)步中,控制器通过样本集获得被溯源数据包的特征集,过程是:以OpenFlow1.0为例,将流表项匹配域的12元组称为匹配项,若样本集中与某个匹配项相关的值是唯一的,则该值作为特征集中的元素。
第(4)步中,探测流表项的匹配域是溯源数据包的特征集,具有最高优先级,动作是发送Packet-in消息给控制器。
第(6)步中,通过溯源数据包的特征集判断一条Packet-in消息是否是由被溯源数据包触发。
第(6)步中,之所以要查看发送该Packet-in消息的交换机的流表,是为了保证溯源交换机队列中记录的交换机是被溯源数据包依次经过的交换机。考虑到如图2所示情况(图中粗线表示被溯源数据包实际转发路径),假设被溯源数据包的转发路径是S3->S2->S1,若此时已溯源到S1,此时应向S2、S3中添加探测流表项,被溯源数据包应在S3触发Packet-in消息,但S3并不是S1的上一跳,所以第(6)步中通过查看发送Packet-in消息的交换机中的流表,确定发送对应Packet-in消息的交换机是不是当前交换机的上一跳。
第(7)步中,计时器超时是指计时器记录的时间超过溯源数据包间平均间隔时间的2倍。
第(10)步中,向入口交换机下发探测流表项,是考虑到源主机与目的主机之间只有一个交换机的情形。如图3所示,H1向H2发送数据包,只经过S。S是溯源起点交换机,会被直接加入到溯源交换机队列,由于没有溯源到其他交换机,程序会到此结束,但没有获得入口交换机通过哪个端口与源主机相连的信息,为了获得该信息,给入口交换机添加探测流表项,使其触发Packet_in消息,从而得到该信息。
使用添加探测流表项的方法可以解决由于流表项的匹配精度低,无法仅通过查看交换机中流表项的方法确定发送源的问题。如图4所示(图中粗线表示被溯源数据包实际转发路径),被溯源数据包实际转发路径为H2->S2->S4->H4,此时溯源至S4,若交换机中流表项的匹配域仅为目的IP地址,若H1、H3都曾向H4发送过数据,S1、S3中应都有可以转发被溯源数据包的流表项,此时若仅通过查看流表项的方法无法判断出S4的上一跳是S1、S2还是S3。而通过添加探测流表项的方法,可以知道只有S2会发送由被溯源数据包触发的Packet-in消息,从而得知S4的上一跳是S2。
为使本发明的技术方案更加清楚明了,下面结合具体实施例并参照附图,对本发明做进一步详细说明。
实施例1
图5给出了本发明的一个应用场景的实施方法示例图。
图5中,主机Attacker使用伪造的IP地址给主机Victim发送消息,数据包的发送路径为Attacker->S4->S3->S2->S1->Victim。假设主机Attacker向主机Victim发送了不止一个此类数据包。此时溯源请求者想要追踪这类数据包的发送源,溯源请求者给出了溯源起点交换机为S1、数据包样本集和平均间隔时间,控制器通过数据包样本集得到特征集,假设为:目的IP地址(Victim的IP地址)、IP协议号、传输层目的端口号。且这3个特征项足以将这类数据包与其它数据包区分开,控制器将这3个特征项作为探测流表项的匹配域。
图中假设S4、S5、S6中都有可以转发该类数据包的流表项(转发路径用粗线表示)。原因是交换机中的流表项匹配精度不够高(假设对应的流表项的匹配域仅为目的IP地址,若Attacker、H2、H4都曾向Victim发送过数据,则S4、S5、S6中都有可以转发被溯源数据包的流表项)。此时,若是仅仅查看流表,则会发现S4、S5、S6都有可能转发过该数据包,本发明采用了图1所述算法,解决了该问题。
从S1开始,使用图1所述算法,可知道S2、S3在转发路径上。接着控制器向S4、S5、S6下发探测流表项,当该类数据包到达S4时会与此探测流表项匹配,发送一条Packet-in消息给控制器,控制器查看S4中流表,知道有流表项可以发送被溯源数据包到S3,则S4为S3的上一跳。由于探测流表项的匹配域匹配精度较高,即使S5、S6发送了到Victim的消息,也不会由于探测流表项触发Packet-in消息,添加探测流表项解决了由于流表项的匹配精度不高,无法准确知道发送源的问题且不会影响其它的正常数据流的转发。
接下来控制器记录该Packet-in消息中in_port的值,并删除原来下发的探测流表项,向S7添加一条探测流表项,控制器不会收到由被溯源的数据包触发的Packet-in消息,计时器会超时,控制器得知入口交换机是S4,S4的记录端口(最后记录的in_port值)连接的主机Attacker是发送IP欺骗数据包的源主机,且溯源交换机队列中记录的交换机从队尾到队头是被溯源数据包依次经过的交换机。
本实施例在SDN框架下提供了一种通过添加探测流表项找到发送IP欺骗数据包的源主机的方法,解决了由于流表项的匹配精度不高,无法准确知道发送源的问题,且溯源过程中不会影响其它的正常数据流的转发。
上述实施方式对本发明的内容作了详细的示范介绍,但相应的应用示例不作为对本发明的限制。本发明的保护范围由所附的权利要求来限定。

Claims (6)

1.一种基于SDN的IP欺骗数据包的动态溯源方法,其特征在于,包括以下步骤:
步骤1,控制器收到溯源请求者提出的溯源请求,请求内容中包含溯源起点交换机在SDN中的DPID、要求溯源的IP数据包的样本集,以及相邻到达的被溯源数据包间的平均间隔时间;
步骤2,控制器将溯源起点交换机的DPID加入溯源交换机队列,并构建被溯源数据包特征集和探测流表项;
步骤3,设置溯源交换机队列中的队尾交换机为当前交换机;
步骤4,控制器向与当前交换机相邻的且不在溯源交换机队列的交换机添加探测流表项,重置计时器;
步骤5,控制器监听新添加的探测流表项的触发情况,所述触发情况即在添加了探测流表项的交换机上被溯源的数据包触发的Packet-in消息;
步骤6,若监听到相应的Packet-in消息,控制器查看发送该消息的交换机的流表,若流表中有转发被溯源数据包至当前交换机的流表项,控制器记录该Packet-in消息中的in_port值,并将发送该消息的交换机的DPID插入到溯源交换机队列尾部,即为前一跳交换机,删除下发的探测流表项,然后返回步骤3;若没监听到相应的Packet-in消息,继续等待直至计时器超时,然后进入步骤7;
步骤7,若计时器超时,最后加入溯源交换机队列的交换机就是被溯源数据包的入口交换机,该入口交换机记录的端口即最后记录的in_port值连接的主机就是发送被溯源数据包的源主机,溯源交换机队列中记录的交换机从队尾到队头,就是被溯源数据包依次经过的交换机。
2.根据权利要求1所述的基于SDN的IP欺骗数据包的动态溯源方法,其特征在于,步骤1中所述的起点交换机为提出溯源请求的SDN主机所直接连接的被溯源数据包的来源交换机,或者是提出溯源请求的SDN交换机。
3.根据权利要求1所述的基于SDN的IP欺骗数据包的动态溯源方法,其特征在于,步骤2所述构建被溯源数据包特征集,即根据溯源数据包的样本集构造特征集,构造方法是:在Openflow1.0中,称流表项匹配域的12元组为匹配项,若样本集中与匹配项对应的值是唯一的,该值作为特征集中的元素。
4.根据权利要求1所述的基于SDN的IP欺骗数据包的动态溯源方法,其特征在于,步骤2所述探测流表项的匹配域是特征集,具有最高优先级,动作是发送Packet-in消息给控制器。
5.根据权利要求1所述的基于SDN的IP欺骗数据包的动态溯源方法,其特征在于,步骤6所述相应的Packet-in消息,是指通过溯源数据包的特征集判断该Packet-in消息由被溯源数据包触发。
6.根据权利要求1所述的基于SDN的IP欺骗数据包的动态溯源方法,其特征在于,步骤6所述计时器超时,是指若计时器记录的时间超过溯源数据包间平均间隔时间的2倍,即为超时。
CN201610640025.7A 2016-08-05 2016-08-05 一种基于sdn的ip欺骗数据包的动态溯源方法 Expired - Fee Related CN106302006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610640025.7A CN106302006B (zh) 2016-08-05 2016-08-05 一种基于sdn的ip欺骗数据包的动态溯源方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610640025.7A CN106302006B (zh) 2016-08-05 2016-08-05 一种基于sdn的ip欺骗数据包的动态溯源方法

Publications (2)

Publication Number Publication Date
CN106302006A CN106302006A (zh) 2017-01-04
CN106302006B true CN106302006B (zh) 2019-06-25

Family

ID=57666105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610640025.7A Expired - Fee Related CN106302006B (zh) 2016-08-05 2016-08-05 一种基于sdn的ip欺骗数据包的动态溯源方法

Country Status (1)

Country Link
CN (1) CN106302006B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107070895B (zh) * 2017-03-17 2020-05-22 中国科学院信息工程研究所 一种基于sdn的数据流溯源方法
CN109962879B (zh) * 2017-12-22 2021-12-03 中国电信股份有限公司 针对分布式反射拒绝服务DRDoS的安全防御方法和控制器
CN110177060B (zh) * 2019-05-15 2020-12-08 华中科技大学 一种面向sdn网络的时序侧信道攻击的主动防御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447694A (zh) * 2011-11-03 2012-05-09 富春通信股份有限公司 一种IPv6网络虚假源地址数据包追溯方法和装置
CN104852887A (zh) * 2014-02-17 2015-08-19 上海宽带技术及应用工程研究中心 基于OpenFlow技术的网络流量溯源系统及方法
CN105812372A (zh) * 2016-03-23 2016-07-27 东北大学 基于标签交换的单包溯源方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8059551B2 (en) * 2005-02-15 2011-11-15 Raytheon Bbn Technologies Corp. Method for source-spoofed IP packet traceback

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447694A (zh) * 2011-11-03 2012-05-09 富春通信股份有限公司 一种IPv6网络虚假源地址数据包追溯方法和装置
CN104852887A (zh) * 2014-02-17 2015-08-19 上海宽带技术及应用工程研究中心 基于OpenFlow技术的网络流量溯源系统及方法
CN105812372A (zh) * 2016-03-23 2016-07-27 东北大学 基于标签交换的单包溯源方法

Also Published As

Publication number Publication date
CN106302006A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
US11075824B2 (en) In-line performance monitoring
CN106330602B (zh) 一种云计算虚拟租户网络监控方法及系统
CN104243318B (zh) Vxlan网络中的mac地址学习方法及装置
WO2017114181A1 (zh) 链路检测方法、装置及网络设备、控制器
US20130282867A1 (en) Information system, control apparatus, method of providing virtual network, and program
US20060126517A1 (en) Loop detection method and device
CN106302006B (zh) 一种基于sdn的ip欺骗数据包的动态溯源方法
CN103262472A (zh) 计算机系统、控制器、控制器管理器和通信路由分析方法
WO2018001154A1 (zh) 流路径的探测
US20230006909A1 (en) Cluster wide packet tracing
CN103609070A (zh) 网络流量检测方法、系统、设备及控制器
CN103840976B (zh) 通信方法、光设备和网络设备
CN104283808B (zh) 拥塞控制方法、设备及系统
RU2014128900A (ru) Способ резервирования для сетей связи
CN105634857A (zh) 链路连通性检测方法及装置
US20110264795A1 (en) Communication network managment system, method and program, and management computer
US20160127227A1 (en) Information processing system, method, and apparatus
JP2021528906A (ja) 産業用イーサネットに基づく制御方法および装置
WO2021217540A1 (zh) 通信链路的检测方法、装置、系统和可移动平台
WO2013189414A2 (zh) 网络拓扑自动获取方法及系统、网络查询及管理系统
CN110300057A (zh) 多宿主网络中的代理通告
CN107465621A (zh) 一种路由器发现方法、sdn控制器、路由器和网络系统
CN103812797A (zh) 传输数据分组的方法及发送和接收数据分组的通信模块
US10003524B2 (en) Routing loop determining method and device
CN106656656A (zh) 一种网络设备抓包方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190625

CF01 Termination of patent right due to non-payment of annual fee