一种基于sdn的ip源地址验证方法
【专利摘要】本发明公开了一种基于SDN的IP源地址验证方法及系统,其方法包括以下步骤:A1、SDN控制器将域内网络拓扑转化成一棵以边界网关设备为根节点的数据包转发视图树;A2、SDN控制器对数据包转发视图树上的每个节点进行分析,找出部署节点并部署为SDN节点,用SDN交换机替代部署节点上的传统交换机,A3、SDN控制器计算转发规则并部署于SDN交换机上;A4、SDN交换机根据转发规则,对到达的数据包进行匹配。本方法达到了在域内网络中部署少量的SDN设备,实现最大化的IP源地址验证的效果,有利于系统的增量部署以及有效地减少前期投资。
【专利说明】
-种基于SDN的IP源地址验证方法
技术领域
[0001] 本发明设及IP源地址验证的网络安全领域,特别是设及一种基于软件定义网络 (SDN)的IP源地址验证的方法。
【背景技术】
[0002] 由于当前互联网仅按数据包的目的地址进行转发寻址,并不关屯、发送用户及发送 主机的IP源地址,而互联网体系结构本身又缺乏对数据包IP源地址的认证机制,运就导致 了数据包IP源地址欺骗、W及由源地址欺骗所引发的相关攻击行为的产生,而事后仅W数 据包IP源地址为依据却难W定位攻击源或误溯源。许多攻击行为(如拒绝服务攻击等)正是 利用运一漏桐,对受害者发起攻击而无需承担责任,运给互联网的可信性及可追责性造成 了极大损害,运也成为互联网的开放性与互联网用户对互联网可信性需求之间的矛盾。数 据包真实的IP源地址是互联网可信的必要条件,确保数据包IP源地址的可靠性是有效减少 网络攻击行为、增加网络安全可信的重要手段。
[0003] 已有研究主要从源地址加密、协议重设计、主机协议找/路由器软件修改、数据包 过滤W及部署SDN设备方案等展开。源地址加密方案主要通过对数据包的源地址采用对称 或非对称的加密算法予W加密,从而实现在接收端主机验证数据包源地址合法性的目的, 但该机制不但会影响源地址作为判断条件的应用(如流分类应用),同时密钥协商及分发机 制在某种程度上加大了系统开销;协议重设计方案利用IP协议包头中较少使用的字段,插 入自定义特定的标记并在接收端识别运些标记从而判断源地址的真伪,但运种机制可能会 影响到质量服务保证(QoS)在内的其他协议或服务,同时恶意用户也可W通过仿冒标记达 到冒充其他主机的目的;主机协议找/路由器软件修改方案是指通过修改主机TCP/IP协议 找或路由器操作系统实现IP源地址验证的目的。例如,主机标识协议化IP)方案就在IP层和 传输层之间建立一个"主机身份"的中间层,通过加密和映射机制,保证主机身份标识与IP 地址映射的关联性及可靠性。但运种机制的缺点在于方案的实施及部署代价较大;数据包 过滤方案是指通过在数据包的转发路径设备上(如二层交换机、路由器、防火墙等)预先设 定规则从而达到过滤非法数据包的目的,但该机制在过滤精度上还存在着假阳性(误判)或 假阴性(漏判)的不足;最后,一般的SDN部署方案通过在全部子网内部署SDN设备,如 化enRouter路由器、OpenFlow交换机等,利用控制器集中计算转发规则并下发至SDN设备, 从而达到对数据包IP源地址验证的目标。该方法对部署率要求高,需要全部子网部署SDN设 备才能达到100%的过滤效果。
【发明内容】
[0004] 本发明的目的在于提供一种基于SDN的IP源地址验证方法及系统,通过在域内网 络中部署少量的SDN设备,实现IP源地址验证效果的最大化,同时对网络拓扑的变化也具有 较好的适应性。
[0005] 本发明提供一种基于SDN的IP源地址验证方法,包括W下步骤:
[0006] A1、SDN控制器将域内网络拓扑转化成一棵w边界网关设备为根节点的数据包转 发视图树;
[0007] A2、SDN控制器对数据包转发视图树上的每个节点进行分析,找出部署节点并部署 SDN节点,用SDN交换机替代部署节点上的传统交换机;
[000引A3、SDN控制器计算转发规则并部署于SDN交换机上;
[0009] A4、SDN交换机根据转发规则,对到达的数据包进行匹配。
[0010] 优选地,步骤A1中,若网络中只有一个边界网关设备,则W此设备为根节点;若网 络中有多个边界网关设备,则找出其共同且最近的设备作为根节点,同时将设备间存在的 多条链路视为一条链路。
[OOW 优选地,步骤A1包括:SDN控制器根据域内路由表或单源最短路径算法,将域内网 络拓扑转化为一棵W边界网关设备为根节点的数据包转发视图树。
[0012] 进一步地优选,步骤A1中单源最短路径算法为DUkstra算法。
[0013] 优选地,步骤A2中包括:SDN控制器根据效用函数对数据包转发视图树上每个节点 的效用值进行计算,并将节点按效用值由高到底的顺序进行排序;按照节点排序结果,依次 选取节点,根据启发式算法找出SDN节点。
[0014] 进一步地优选,效用函数选用如下的公式(1)对数据包转发视图树上每个节点的 效用值m进行计算,并将节点按效用值由高到低的顺序进行排序。
[0015]
[0016] 其中,pci:整数,i节点所覆盖的IP前缀数目(包括i节点子树中的所有前缀对数W 及i节点本身的前缀对数);m:整数,i节点为SDN节点时可检测的假冒前綴效用值,即不可 伪造的IP前缀对数量;化ild[i]:整数数组,i节点的所有孩子节点的编号。
[0017] 对任意节点,其效用值即所有经过该节点的前缀对集合的大小。
[0018] 按照节点效用值的降序排序结果,根据启发式算法依次选择节点并累计节点效用 值,同时去除效用重复,即对当前节点所覆盖的前缀对集合与已选节点所覆盖的前缀对集 合的交集部分进行剔除,直到已选择累计效用值满足用户设定的过滤效果需求。
[0019] 至此,W上筛选出的节点即为所部署的SDN节点,节点选定的顺序即为SDN节点的 部署顺序,用SDN交换机替代部署节点上的传统交换机。
[0020] 进一步地优选,步骤A2中启发式算法为:
[0021]
[0022] 其中,λ:分数,网络或用户对不可伪造 IP前缀比例的最低需求;N:整数,节点的总 数目,等同于|V|;Distinct():函数,当多个节点同时部署时,消除重复产生的效用。
[0023] 优选地,步骤A3包括:SDN控制器根据步骤A1所生成的数据包转发视图树和A2步骤 中的SDN节点位置、W及SDN节点所覆盖的子网前缀集合,生成执行转发的合法转发规则集、 W及执行丢弃的非法转发规则集,一并下发至对应的SDN节点。
[0024] 优选地,步骤A4包括:在数据包到达SDN交换机后,SDN交换机根据A3步骤下发的转 发规则对数据包进行匹配;匹配成功,则执行命中转发规则所定义的转发或丢弃操作。当转 发规则更新有延迟,或因策略路由导致匹配不成功,则将数据包转交SDN控制器,由SDN控制 器分析其合法性并下发转发规则。
[0025]当网络拓扑发生变化时,SDN控制器采用预计算和实时计算的方式重新下发转发 规则,实现拓扑变化的自适应。预计算是指系统预先计算在单结点或单链路失效的情况下, 各SDN节点上对应的转发规则,从而节省拓扑变化时的计算时间;实时计算是指在拓扑变化 超出预计算设定情况,则根据拓扑实时计算SDN节点上的转发规则。
[00%]本发明还提供一种基于SDN的IP源地址验证系统,该系统包括转化模块、部署SDN 节点模块、计算转发规则模块和数据包匹配模块;其中,转化模块用于:SDN控制器将域内网 络拓扑转化成一棵W边界网关设备为根节点的数据包转发视图树;部署SDN节点模块用于: SDN控制器对数据包转发视图树上的每个节点进行分析,找出并部署SDN节点,用SDN交换机 替代部署节点上的传统交换机;计算转发规则模块用于:SDN控制器计算转发规则并部署于 SDN交换机上;数据包匹配模块用于:SDN交换机根据转发规则,对到达的数据包进行匹配。 [0027]本发明的有益效果:本发明的方法通过步骤A1将网络拓扑进行转化,步骤A2中找 出关键节点并对其进行SDN节点部署,再通过步骤A3和A4的转发规则和数据包匹配,实现部 署较少的SDN节点,达到最大化的过滤效果,从而实现域内IP源地址的验证目标。
[00%]与现有其他源地址验证的方法及系统相比,本发明可W在不修改主机协议找及现 有互联网协议的前提下,实现域内数据包源地址检测的同时,有效地减少了部署开销,可实 现性高,网络变化自适应性好,达到了部署代价与源地址验证效果的最优化,并有利于增量 部署。本发明能够有效地减少互联网源地址假冒及相关攻击行为的产生,对构建安全可信 的互联网具有积极意义。
【附图说明】
[0029] 图la为SD的受备部署前整体机制示意图,图化为SD的受备部署后整体机制示意图。
[0030] 图2为SDN节点选择算法流程图。
【具体实施方式】
[0031] 下面结合附图与具体实施例对本发明进行详细说明。
[0032] 图la为SDN设备部署前整体机制示意图,图lb为SDN设备部署后整体机制示意图。 H1、肥为合法主机,ΗΓ为假冒主机,A、B、C为传统交换机,A'为SDN交换机,D为SDN控制器。
[0033] 假冒主机化'假冒合法主机H1的IP地址发送假冒数据包,在SDN设备部署前,网络 无法检测并过滤W上假冒数据包,在域内拓扑节点A上部署SDN设备后,通过SDN控制器下发 的流控规则,网络就能够检测并过滤W上假冒数据包。
[0034] 本发明提供一种基于SDN的IP源地址验证方法,具体包括W下步骤:
[0035] A1、域内网络中有多个边界网关设备,找出该网络中多边界网关设备共同且最近 的设备作为根节点,同时将设备间存在的多条链路视为一条链路。
[0036] 根据网络拓扑连接矩阵信息G(V,E)(V为域内所有Ξ层转发节点集合,E为W上Ξ 层节点间的链路权值情况),SDN控制器采用Dijkstra算法,将该网络拓扑转化成一棵数据 包转发视图树。
[0037] A2、根据公式(1)计算每个节点的效用值m,即包括i节点子树中的所有前缀对数 W及i节点本身的前缀对数,并将节点按效用值由高到低的顺序进行排序。
[00;3 引
[0039] 其中,pci:整数,i节点所覆盖的IP前缀数目(包括i节点子树中的所有前缀对数W 及i节点本身的前缀对数);m:整数,i节点为SDN节点时可检测的假冒前綴效用值,即不可 伪造的IP前缀对数量;化ild[i]:整数数组,i节点的所有孩子节点的编号。
[0040] 按照节点的效用值的降序排序结果,依次选择节点并根据公式(2)累计节点效用 值,同时去除效用重复,即对当前节点所覆盖的前缀对集合与已选节点所覆盖的前缀对集 合的交集部分进行剔除,直到已选择累计效用值满足用户设定的过滤效果需求。
[0041]
[0042] 其中,λ:分数,网络或用户对不可伪造 IP前缀比例的最低需求;N:整数,节点的总 数目,等同于|V|;Distinct():函数,当多个节点同时部署时,消除重复产生的效用。
[0043] 至此,W上筛选出的节点即为所部署的SDN节点,节点选定的顺序即为SDN节点的 部署顺序,用SDN交换机替代该节点上的传统交换机。
[0044] SDN节点选择算法具体如下所示,其流程图如图2所示。
[0045] Algorithm 1 SDN 节点选择算法
[0046] Input:
[0047] Μ为N*脚石扑邻接矩阵;
[004引 Output:
[0049] α为SDN节点占所有节点的比率;
[(K)加]
[0051] A3、管理员通过SDN控制器对部署节点予w修改或确认。
[0052] SDN控制器针对每个部署节点位置,计算该节点下所有端口所允许的前綴对,即允 许合法前綴对间的通信转发(源IP =源IP前綴/子网掩码,目的IP=目的IP前綴/子网掩码, output(端口)),同时阻止其他非法前綴对间的通信。
[0053] SDN控制器将W上规则合并后下发至SDN节点。
[0054] A4、数据包到达SDN设备端口时,SDN设备将根据所转发规则对数据包进行匹配,匹 配成功,则执行匹配规则所定义的动作指令;否则转交给控制器处理。其他传统节点功能不 变,对数据包按照路由表转发,不受SDN控制器的控制和影响,也不参与数据包的过滤。
[0055] 基于上述IP源地址验证方法的系统,包括转化模块、部署SDN节点模块、计算转发 规则模块和数据包匹配模块;其中,转化模块用于:SDN控制器将域内网络拓扑转化成一棵 W边界网关设备为根节点的数据包转发视图树;部署SDN节点模块用于:SDN控制器对数据 包转发视图树上的每个节点进行分析,找出部署节点并部署SDN节点,用SDN交换机替代部 署节点上的传统交换机;计算转发规则模块用于:SDN控制器计算转发规则并部署于SDN交 换机上;数据包匹配模块用于:SDN交换机根据转发规则,对到达的数据包进行匹配。
【主权项】
1. 一种基于SDN的IP源地址验证方法,其特征在于,包括以下步骤: A1、SDN控制器将域内网络拓扑转化成一棵以边界网关设备为根节点的数据包转发视 图树; A2、SDN控制器对数据包转发视图树上的每个节点进行分析,找出部署节点并部署为 SDN节点,用SDN交换机替代部署节点上的传统交换机; A3、SDN控制器计算转发规则并部署于SDN交换机上; A4、SDN交换机根据转发规则,对到达的数据包进行匹配。2. 如权利要求1所述的方法,其特征在于,步骤A1包括:若网络中只有一个边界网关设 备,则以此设备为根节点;若网络中有多个边界网关设备,则找出其共同且最近的设备作为 根节点,同时将设备间存在的多条链路视为一条链路。3. 如权利要求1所述的方法,其特征在于,步骤A1包括:SDN控制器根据域内路由表或单 源最短路径算法,将域内网络拓扑转化成一棵以边界网关设备为根节点的数据包转发视图 树。4. 如权利要求3所述的方法,其特征在于,所述单源最短路径算法为Dijkstra算法。5. 如权利要求1所述的方法,其特征在于,步骤A2包括:SDN控制器根据效用函数对数据 包转发视图树上每个节点的效用值进行计算,并将节点按效用值由高到底的顺序进行排 序;按照节点排序结果,依次选取节点,根据启发式算法找出SDN节点。6. 如权利要求4所述的方法,其特征在于,步骤A2中所述效用函数为如下公式:其中,pCl:i节点所覆盖的IP前缀数目;m:i节点为SDN节点时可检测的假冒前綴效用 值,即不可伪造的IP前缀对数量;Child[i]:i节点的所有孩子节点的编号。7. 如权利要求4所述的方法,其特征在于,步骤A2中所述启发式算法为:其中,λ:网络或用户对不可伪造 IP前缀比例的最低需求;N:节点的总数目;Distinct 0:当多个节点同时部署时,消除重复产生的效用。8. 如权利要求1所述的方法,其特征在于,步骤A3包括:SDN控制器生成执行转发的合法 转发规则集和执行丢弃的非法转发规则集。9. 如权利要求1所述的方法,其特征在于,步骤A4包括:SDN交换机根据A3步骤下发的转 发规则对数据包进行匹配;匹配成功,则执行命中转发规则所定义的转发或丢弃操作;匹配 不成功,则将数据包转交SDN控制器,由SDN控制器分析其合法性并下发转发规则。10. 如权利要求1所述的方法的系统,其特征在于,该系统包括转化模块、部署SDN节点 模块、计算转发规则模块和数据包匹配模块; 其中,转化模块用于:SDN控制器将域内网络拓扑转化成一棵以边界网关设备为根节点 的数据包转发视图树; 部署SDN节点模块用于:SDN控制器对数据包转发视图树上的每个节点进行分析,找出 部署节点并部署SDN节点,用SDN交换机替代部署节点上的传统交换机; 计算转发规则模块用于:SDN控制器计算转发规则并部署于SDN交换机上; 数据包匹配模块用于:SDN交换机根据转发规则,对到达的数据包进行匹配。
【文档编号】H04L29/06GK106060015SQ201610332912
【公开日】2016年10月26日
【申请日】2016年5月18日
【发明人】胡光武, 陈国龙, 张平安, 孔令晶, 李清, 肖喜
【申请人】深圳信息职业技术学院