CN105827628A - 一种基于软件定义网络的防源地址欺骗的方法 - Google Patents
一种基于软件定义网络的防源地址欺骗的方法 Download PDFInfo
- Publication number
- CN105827628A CN105827628A CN201610283953.2A CN201610283953A CN105827628A CN 105827628 A CN105827628 A CN 105827628A CN 201610283953 A CN201610283953 A CN 201610283953A CN 105827628 A CN105827628 A CN 105827628A
- Authority
- CN
- China
- Prior art keywords
- address
- source
- defined network
- software defined
- message
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
Abstract
本发明提供一种基于软件定义网络的防源地址欺骗的方法,应用于由多个软件定义网络交换机和与软件定义网络交换机连接的控制器构成的软件定义网络中,包括步骤:软件定义网络交换机上报未匹配流表的报文至控制器;控制器提取报文的源IP地址、源物理地址、入端口身份以及目的IP地址;控制器根据软件定义交换机信息计算网络拓扑;提供一地址绑定关系表,判断报文是否匹配地址绑定关系表,若是,根据目的IP地址以及网络拓扑,获取转发路径,并退出;否则,丢弃报文。该方法基于软件定义网络构架,整个防源地址欺骗策略集中在控制器上,实现了在入口的软件定义交换机上杜绝源地址欺骗的发生。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于软件定义网络的防源地址欺骗的方法。
背景技术
现有的软件定义网络(SDN,SoftwareDefinedNetwork)中,通常使用传统的URPF(UnicastReversePathForwarding,单播反向路由查找技术)检查技术,URPF是本地的,链路层检查模式先根据报文源IP地址查找路由表获取报文下一跳地址,并且根据报文下一跳IP地址查找ARP(AddressResolutionProtocol,地址解析协议)表项,获取ARP表中的物理地址,并根据该物理地址和源物理地址进行比较,如果相等则URPF检查通过;否则检查失败。而这整个计算过程是分布式的,算法复杂且无法实现全网的防源地址欺骗策略。因此,提供一种高效且能够全网防源地址欺骗的策略,成为目前亟待解决的问题。
发明内容
鉴于上述问题,本申请记载了一种基于软件定义网络的防源地址欺骗的方法,应用于由多个软件定义网络交换机和与所述软件定义网络交换机连接的控制器构成的所述软件定义网络中,所述方法包括步骤:
步骤S1、所述软件定义网络交换机上报未匹配流表的报文至所述控制器;
步骤S2、所述控制器提取所述报文的源IP地址、源物理地址、入端口身份以及目的IP地址;
步骤S3、所述控制器根据所述软件定义交换机信息计算网络拓扑;
步骤S4、提供一地址绑定关系表,根据所述源IP地址、所述源物理地址以及所述目的IP地址判断所述报文是否匹配所述地址绑定关系表,若是,执行步骤S5;否则,执行步骤S6;
步骤S5、根据所述目的IP地址以及所述网络拓扑,获取转发路径,并退出;
步骤S6、丢弃所述报文。
较佳的,在所述步骤S6中,丢弃所述报文的同时向所述软件定义网络交换机下发相应的所述流表,所述软件定义网络交换机根据所述流表丢弃后续与所述流表相对应的所述报文。
较佳的,在所述步骤S1中,所述软件定义网络交换机还发送所述软件定义网络交换机的物理地址至所述控制器,所述控制器根据所述物理地址下发所述流表。
较佳的,所述地址绑定关系表中存储有多个关系条目,每个所述关系条目包括一一对应的源IP地址、源物理地址以及入端口身份。
较佳的,在所述步骤S3和所述步骤S4之间还包括步骤:
步骤S01、判断是否在所述地址绑定关系表中找到所述报文的所述源IP地址,若能,执行所述步骤S4;若不能,执行步骤S02;
步骤S02、所述控制器学习并将所述报文的所述源IP地址、所述源物理地址以及所述目的IP地址写入所述地址绑定关系表中,再执行所述步骤S5。
较佳的,所述步骤S4包括步骤:
步骤S41、判断所述报文的所述源物理地址是否与所述地址绑定关系表中所述源IP地址对应的所述关系条目中的源IP地址是否相同,若相同,执行步骤S42;若不相同,判定所述报文与所述地址绑定关系表不匹配,执行所述步骤S6;
步骤S42、判断所述报文的所述入端口身份是否与所述地址绑定关系表中的所述源IP地址对应的所述关系条目中的入端口身份是否相同,若相同,判定所述报文与所述地址绑定关系表匹配,执行所述步骤S5;否则,判定所述报文与所述地址绑定关系表不匹配,执行所述步骤S6。
较佳的,所述软件定义网络交换机向所述控制器上报信息之前先建立与所述控制器之间的连接通道。
较佳的,在所述软件定义网络交换机与所述控制器之间建立连接通道为基于开放流标准的接口通道。
较佳的,所述软件定义网络交换机与所述控制器之间通过Experimenter报文进行信息的传递。
较佳的,所述流表为支持扩展的OpenFlow流表。
上述技术方案具有如下优点或有益效果:通过本发明提出的方法,该方法基于软件定义网络构架,整个防源地址欺骗策略集中在控制器上,实现了在入口的软件定义交换机上杜绝源地址欺骗的发生。此外,整个实现方式简单高效。
附图说明
参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
图1为本发明一种基于软件定义网络的防源地址欺骗的方法的流程示意图一;
图2为本发明一种基于软件定义网络的防源地址欺骗的方法的流程示意图二;
图3为本发明一种基于软件定义网络的防源地址欺骗的方法的流程示意图三。
具体实施方式
下面结合附图和具体实施例对本发明一种基于软件定义网络的防源地址欺骗的方法进行详细说明。
如图1所示,一种基于软件定义网络的防源地址欺骗的方法,应用于由多个软件定义网络交换机和与软件定义网络交换机连接的控制器构成的软件定义网络,包括步骤:
S1、软件定义网络交换机上报未匹配流表的报文以及软件定义网络交换机的MAC(物理)地址给控制器;
S2、控制器提取该报文的源IP地址、源物理地址、入端口身份和目的物理地址、目的IP地址等信息;
S3、控制器根据软件定义网络交换机的物理地址和端口身份,计算网络拓扑;
S4、根据源IP地址、源物理地址以及目的IP地址判断所述报文是否匹配地址绑定关系表,若匹配,执行S5;否则,执行S6;
S5、根据目的IP地址和网络拓扑等信息,获取转发路径,并退出;
S6、丢弃报文,并向软件定义网络交换机下发流表,以控制软件定义网络交换机丢弃后续与该流表对应的报文。
具体来说,本实施例提出的基于软件定义网络防源IP地址欺骗的方法,该方法应用于由多个软件定义网络交换机和与该软件定义网络交换机连接的控制器构成的软件定义网络。在该方法中,在软件定义网络交换机获取没有流表与之匹配的报文后,将该报文上报给控制器。除此之外,为了后续的过程,软件定义网络交换机还同时上报了自己的物理地址给控制器。之后,控制器会根据该软件定义网络交换机的物理地址,计算相应的网络拓扑。然后,根据源IP地址、源物理地址以及目的IP地址匹配地址绑定关系表,以判断控制器从报文中获取的信息是否能够与该地址绑定关系表相匹配。若匹配了,则根据目的物理地址、目的IP地址和网络拓扑等信息,获取转发路径;若不匹配,则丢弃该报文,并向软件定义网络交换机下发相应的流表,以控制软件定义网络交换机丢弃后续与该流表匹配的报文。
近一步来讲,在控制器中还预先存储一地址绑定关系表,在该地址绑定关系表中,存储有多个关系条目,每个关系条目中包括一一对应的源IP地址、源物理地址以及入端口身份。所以在进行匹配的过程中,若是匹配,则说明报文的源IP地址、源物理地址以及目的IP地址与某一关系条目完全相符合。
近一步来讲,如图2所示,在步骤S3和步骤S4之间,还包括步骤:
S01、判断是否能在地址绑定关系表中找到报文的源IP地址,若能,执行步骤S4;若不能,执行S02;
S02:控制器学习该报文的源IP地址、源物理地址以及目的IP地址信息,并将这些信息写入地址绑定关系表,之后再执行步骤S5。
具体来说,因为在实际应用中,地址绑定关系表中并不一定写入所有的正常报文对应的关系条目,所以在本实施例提出的方法中,除了在软件定义网络交换机处丢弃非法报文外,还包括对地址绑定关系表的更新。即在实际应用中,若控制器发现一报文的源IP地址并不存在于防地址绑定关系表中,则控制器学习该报文的源IP地址、源物理地址以及目的IP地址信息,并将这些信息写入地址绑定关系表中,进而实现了对地址绑定关系表的更新过程。此外,除了更新地址绑定关系表,还需要根据该报文的目的物理地址、目的IP地址和网络拓扑等信息,获取该报文对应的转发路径。
进一步来讲,如图3所示,判断报文是否与地址绑定关系表相匹配(步骤S4)的过程包括步骤:
S41:判断该报文的源MAC地址是否与地址绑定关系表中该源IP地址对应的关系条目中的源IP地址是否相同,若相同,执行步骤S42;若不相同,判定报文与地址绑定关系表不匹配,执行步骤S6;
S42:继续判断该报文的入端口身份是否与地址绑定关系表中该源IP地址对应的关系条目中的入端口身份是否相同,若相同,判定报文与地址绑定关系表匹配,执行步骤S5;否则,判定报文与地址绑定关系表不匹配,执行步骤S6。
具体来说,发现地址绑定关系表中能够找到报文的源IP地址之后,需要对该报文是否与地址绑定关系表相匹配进行判断。在该判断过程中,首先要判断该报文的源MAC地址是否与地址绑定关系表中该源IP地址对应的关系条目对应的源IP地址是否相同,若不相同,则说明报文与地址绑定关系表不匹配,不需要进行后续的判断过程了,直接判定该报文是非法报文,执行步骤S6,丢弃报文,并向软件定义网络交换机下发流表,以控制软件定义网络交换机丢弃后续与该流表匹配的报文;若匹配,则还不能够判定报文的合法性,还需要继续对报文的入端口身份进行验证。所以,在步骤S41中,继续判断该报文的入端口身份是否与地址绑定关系表中该源IP地址对应的关系条目中的入端口身份相同,若相同,判定该报文与该地址绑定关系表匹配,则说明该报文合法,并根据目的物理地址、目的IP地址和网络拓扑等信息,获取转发路径;若不相同,直接判定该报文是非法报文,执行步骤S6,丢弃报文,并向软件定义网络交换机下发流表,以控制软件定义网络交换机丢弃后续与该流表匹配的报文。
进一步来讲,在本实施例提出的方法中,还需要向转发路径上的所有软件定义网络交换机下发流表。
进一步来讲,本实施例提出的软件定义网络交换机和控制器均支持扩展OF(OpenFlow)流表,流表包括四级流表项:第一级为匹配源IP地址;第二级为匹配源MAC地址;第三级为匹配入端口身份;第四级为匹配目的IP地址。表1为扩展OF流表的定义:
表1扩展OF流表定义
进一步来讲,在步骤S1之前,还包括步骤:
S001、在软件定义网络交换机和控制器之间建立通道。
值得指出的是,在所述软件定义网络交换机与所述控制器之间建立连接通道为基于开放流标准的接口通道(OpenFlow通道),软件定义网络交换机通过私有的Experimenter报文上报自己的物理地址。其中,交换机的物理地址可以作为交换机的标识符。其中,表2为私有的Experimenter报文示意图:
表2私有的Experimenter报文示意图
其中,Experimenter值为255需要向ONF组织申请。Experimentertype值为1表明是从SDN交换机方向到控制器。上报的端口号最大支持128个。
传统的URPF检查技术是本地的,链路层检查模式先根据报文源IP地址查找路由表获取下一跳地址,并且根据下一跳IP地址查找ARP表项,获取ARP表中的物理地址,并根据该物理地址和源物理地址进行比较,如果相等则URPF检查通过;否则检查失败。而这整个计算过程是分布式的,算法复杂且无法实现全网的防源地址欺骗策略。所以,通过上述技术方案提出的方法,该方法基于软件定义网络构架,整个防源地址欺骗策略集中在控制器上,实现了在入口的软件定义交换机上杜绝源地址欺骗的发生。此外,整个实现方式简单高效。
对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。
Claims (10)
1.一种基于软件定义网络的防源地址欺骗的方法,应用于由多个软件定义网络交换机和与所述软件定义网络交换机连接的控制器构成的所述软件定义网络中,其特征在于,所述方法包括步骤:
步骤S1、所述软件定义网络交换机上报未匹配流表的报文至所述控制器;
步骤S2、所述控制器提取所述报文的源IP地址、源物理地址、入端口身份以及目的IP地址;
步骤S3、所述控制器根据所述软件定义交换机信息计算网络拓扑;
步骤S4、提供一地址绑定关系表,根据所述源IP地址、所述源物理地址以及所述目的IP地址判断所述报文是否匹配所述地址绑定关系表,若是,执行步骤S5;否则,执行步骤S6;
步骤S5、根据所述目的IP地址以及所述网络拓扑,获取转发路径,并退出;
步骤S6、丢弃所述报文。
2.根据权利要求1所述的基于软件定义网络的防源地址欺骗的方法,其特征在于,在所述步骤S6中,丢弃所述报文的同时向所述软件定义网络交换机下发相应的所述流表,所述软件定义网络交换机根据所述流表丢弃后续与所述流表相对应的所述报文。
3.根据权利要求2所述的基于软件定义网络的防源地址欺骗的方法,其特征在于,在所述步骤S1中,所述软件定义网络交换机还发送所述软件定义网络交换机的物理地址至所述控制器,所述控制器根据所述物理地址下发所述流表。
4.根据权利要求1所述的基于软件定义网络的防源地址欺骗的方法,其特征在于,所述地址绑定关系表中存储有多个关系条目,每个所述关系条目包括一一对应的源IP地址、源物理地址以及入端口身份。
5.根据权利要求4所述的基于软件定义网络的防源地址欺骗的方法,其特征在于,在所述步骤S3和所述步骤S4之间还包括步骤:
步骤S01、判断是否在所述地址绑定关系表中找到所述报文的所述源IP地址,若能,执行所述步骤S4;若不能,执行步骤S02;
步骤S02、所述控制器学习并将所述报文的所述源IP地址、所述源物理地址以及所述目的IP地址写入所述地址绑定关系表中,再执行所述步骤S5。
6.根据权利要求5所述的基于软件定义网络的防源地址欺骗的方法,其特征在于,所述步骤S4包括步骤:
步骤S41、判断所述报文的所述源物理地址是否与所述地址绑定关系表中所述源IP地址对应的所述关系条目中的源IP地址是否相同,若相同,执行步骤S42;若不相同,判定所述报文与所述地址绑定关系表不匹配,执行所述步骤S6;
步骤S42、判断所述报文的所述入端口身份是否与所述地址绑定关系表中的所述源IP地址对应的所述关系条目中的入端口身份是否相同,若相同,判定所述报文与所述地址绑定关系表匹配,执行所述步骤S5;否则,判定所述报文与所述地址绑定关系表不匹配,执行所述步骤S6。
7.根据权利要求1所述的基于软件定义网络的防源地址欺骗的方法,其特征在于,所述软件定义网络交换机向所述控制器上报信息之前先建立与所述控制器之间的连接通道。
8.根据权利要求7所述的基于软件定义网络的防源地址欺骗的方法,其特征在于,在所述软件定义网络交换机与所述控制器之间建立连接通道为基于开放流标准的接口通道。
9.根据权利要求7所述的基于软件定义网络的防源地址欺骗的方法,其特征在于,所述软件定义网络交换机与所述控制器之间通过Experimenter报文进行信息的传递。
10.根据权利要求1所述的基于软件定义网络防源地址欺骗的方法,其特征在于,所述流表为支持扩展的OpenFlow流表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610283953.2A CN105827628A (zh) | 2016-04-29 | 2016-04-29 | 一种基于软件定义网络的防源地址欺骗的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610283953.2A CN105827628A (zh) | 2016-04-29 | 2016-04-29 | 一种基于软件定义网络的防源地址欺骗的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105827628A true CN105827628A (zh) | 2016-08-03 |
Family
ID=56529008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610283953.2A Pending CN105827628A (zh) | 2016-04-29 | 2016-04-29 | 一种基于软件定义网络的防源地址欺骗的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105827628A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453367A (zh) * | 2016-10-27 | 2017-02-22 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的防地址扫描攻击的方法及系统 |
CN110351193A (zh) * | 2019-07-05 | 2019-10-18 | 京信通信系统(中国)有限公司 | 一种路由更新方法及装置、计算机装置及可读存储介质 |
CN111416887A (zh) * | 2020-03-31 | 2020-07-14 | 清华大学 | 地址检测的方法、装置、交换机及存储介质 |
CN112637188A (zh) * | 2020-12-18 | 2021-04-09 | 浙江农林大学暨阳学院 | 一种基于虚地址形成的交换机帧转发方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080170567A1 (en) * | 2007-01-16 | 2008-07-17 | Min-Kyu Joo | Packet switch apparatus and method thereof |
CN104869125A (zh) * | 2015-06-09 | 2015-08-26 | 上海斐讯数据通信技术有限公司 | 基于sdn的动态防mac地址欺骗方法 |
CN105099920A (zh) * | 2014-04-30 | 2015-11-25 | 杭州华三通信技术有限公司 | 一种设置sdn流表项的方法和装置 |
CN105430113A (zh) * | 2015-11-03 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | Sdn网络arp报文处理方法、系统、控制器及交换机 |
-
2016
- 2016-04-29 CN CN201610283953.2A patent/CN105827628A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080170567A1 (en) * | 2007-01-16 | 2008-07-17 | Min-Kyu Joo | Packet switch apparatus and method thereof |
CN105099920A (zh) * | 2014-04-30 | 2015-11-25 | 杭州华三通信技术有限公司 | 一种设置sdn流表项的方法和装置 |
CN104869125A (zh) * | 2015-06-09 | 2015-08-26 | 上海斐讯数据通信技术有限公司 | 基于sdn的动态防mac地址欺骗方法 |
CN105430113A (zh) * | 2015-11-03 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | Sdn网络arp报文处理方法、系统、控制器及交换机 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453367A (zh) * | 2016-10-27 | 2017-02-22 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的防地址扫描攻击的方法及系统 |
CN110351193A (zh) * | 2019-07-05 | 2019-10-18 | 京信通信系统(中国)有限公司 | 一种路由更新方法及装置、计算机装置及可读存储介质 |
CN111416887A (zh) * | 2020-03-31 | 2020-07-14 | 清华大学 | 地址检测的方法、装置、交换机及存储介质 |
CN112637188A (zh) * | 2020-12-18 | 2021-04-09 | 浙江农林大学暨阳学院 | 一种基于虚地址形成的交换机帧转发方法 |
CN112637188B (zh) * | 2020-12-18 | 2022-07-08 | 浙江农林大学暨阳学院 | 一种基于虚地址形成的交换机帧转发方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590116B2 (en) | Method for forwarding multicast message in network communication | |
EP1858212B1 (en) | A MAC Frame Transfer Method, an edge bridge, and a system for reducing flooding | |
US7450527B2 (en) | Method and apparatus for implementing multiple portals into an Rbridge network | |
CN104243270B (zh) | 一种建立隧道的方法和装置 | |
US20170134266A1 (en) | Spanning tree in fabric switches | |
US10075394B2 (en) | Virtual link aggregations across multiple fabric switches | |
US20130279504A1 (en) | Efficient control packet replication in data plane | |
CN105827628A (zh) | 一种基于软件定义网络的防源地址欺骗的方法 | |
EP2911355B1 (en) | Method and device for flow path negotiation in link aggregation group | |
US10250489B2 (en) | Multi-chassis link aggregation learning on standard ethernet links | |
US9838298B2 (en) | Packetmirror processing in a stacking system | |
US20190109902A1 (en) | Automated Mirroring and Remote Switch Port Analyzer (RSPAN) Functions Using Fabric Attach (FA) Signaling | |
US20110022726A1 (en) | Method and apparatus for traffic forwarding in a stacking apparatus | |
CN111935004B (zh) | 基于SR Policy的自动引流扩展方法、路由器及系统 | |
JP2013503580A (ja) | ブロードキャストパケット/マルチキャスト制御メッセージ処理方法及び装置 | |
US8861339B2 (en) | Packet forwarding function of a mobility switch deployed as routed SMLT (RSMLT) node | |
US9774543B2 (en) | MAC address synchronization in a fabric switch | |
CN107615710A (zh) | Sdn交换机中的直接回复动作 | |
CN100382541C (zh) | 一种基于mac学习的虚拟电路交换方法 | |
CN108737273B (zh) | 一种报文处理方法和装置 | |
US20160043878A1 (en) | Multicast communications method and aggregation switch | |
CN105075196A (zh) | 控制器、通信系统、路径切换方法和程序 | |
JP5449548B2 (ja) | マルチキャスト処理方法及び装置 | |
CN109525492B (zh) | 一种不依赖路由协议或算法的ip数据备份传输方法 | |
CN110958502A (zh) | 一种实现同一pon内不同onu之间互通的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160803 |