一种软件定义网络的拓扑保护方法技术

技术编号:19486865 阅读:35 留言:0更新日期:2018-11-17 11:32
本发明专利技术公开了一种软件定义网络的拓扑保护方法,包括:初始化并维护每一个存活交换机端口的端口信息;根据收集到的Packet‑in消息,进行主机状态检测,然后根据主机状态检测结果及所维护的端口信息对LLDP报文进行分类;针对不同类型的LLDP报文,采用相应的攻击检测方法进行攻击检测;若检测到攻击报文,则将攻击报文的报文规则实时记录在控制器的过滤规则中,从而通过报文规则过滤的方式实现攻击防御;持续收集数据平面的Packet‑in消息并根据收集到的Packet‑in消息更新所维护的端口信息,同时重复执行攻击检测和防御的步骤。本发明专利技术能够有效并全面地实现对四类拓扑污染攻击都进行有效的检测与防御,同时保障SDN网络的性能。

【技术实现步骤摘要】
一种软件定义网络的拓扑保护方法
本专利技术属于软件定义网络安全领域,更具体地,涉及一种软件定义网络的拓扑保护方法。
技术介绍
软件定义网络(SoftwareDefinedNetwork,SDN)通过解耦网络控制和数据转发功能,能够实现集中式网络管理和流量调度,因而获得了广泛的应用。网络拓扑发现是软件定义网络集中式管理的基础,在多租户的云数据中心网络中,接入终端和交换机等网络单元逐渐虚拟化,云平台内部潜在的恶意节点容易通过漏洞利用、身份伪造等手段控制接入终端和交换机等资源,进而发动网络拓扑污染攻击,瘫痪整个网络。当前所有的SDN控制器链路发现均采用OFDP(OpenFlowDiscoveryProtocol,OpenFlow拓扑发现协议)协议,OFDP底层是基于链路层发现协议报文实现数据交换。根据OFDP的原理可知,SDN控制器一旦接收到LLDP(LinkLayerDiscoveryProtocol,链路层发现协议)报文就会更新链路信息,而没有任何机制确保LLDP的合法性与完整性。因此,攻击者可以很容易地注入伪造的LLDP报文进入网络,或者直接将发往某一交换机的LLDP包重放到另一个目本文档来自技高网...

【技术保护点】
1.一种软件定义网络的拓扑保护方法,其特征在于,包括:(1)初始化并维护每一个存活交换机端口的端口信息,所述端口信息包括端口类型、所连接主机的MAC地址、所连接主机的状态以及消息时间戳;(2)根据收集到的Packet‑in消息,进行主机状态检测,得到与交换机端口相连的主机的状态,然后根据主机状态检测结果及所维护的端口信息对LLDP报文进行分类;(3)针对不同类型的LLDP报文,采用相应的攻击检测方法进行攻击检测;若检测到攻击报文,则将攻击报文的报文规则实时记录在控制器的过滤规则中,从而通过报文规则过滤的方式实现攻击防御;(4)持续收集数据平面的Packet‑in消息并根据收集到的Packet‑...

【技术特征摘要】
1.一种软件定义网络的拓扑保护方法,其特征在于,包括:(1)初始化并维护每一个存活交换机端口的端口信息,所述端口信息包括端口类型、所连接主机的MAC地址、所连接主机的状态以及消息时间戳;(2)根据收集到的Packet-in消息,进行主机状态检测,得到与交换机端口相连的主机的状态,然后根据主机状态检测结果及所维护的端口信息对LLDP报文进行分类;(3)针对不同类型的LLDP报文,采用相应的攻击检测方法进行攻击检测;若检测到攻击报文,则将攻击报文的报文规则实时记录在控制器的过滤规则中,从而通过报文规则过滤的方式实现攻击防御;(4)持续收集数据平面的Packet-in消息并根据收集到的Packet-in消息更新所维护的端口信息,同时重复执行步骤(2)~(3),以实现对软件定义网络拓扑的保护。2.如权利要求1所述的软件定义网络拓扑保护方法,其特征在于,所述步骤(1)中,初始化并维护每一个存活端口的端口信息,包括如下步骤:(11)收集数据平面的Packet-in消息;(12)对于其中一条Packet-in消息,从其中解析出消息的上发交换机端口;(13)若该Packet-in消息封装了LLDP报文,且其上发交换机端口的端口信息未被初始化,则将该交换机端口的端口类型设置为第一端口类型,用于表示该交换机端口与交换机内部链路相连,从而初始化该交换机端口的端口信息;若该Packet-in消息封装了主机流表项请求数据包,且其上发交换机端口的端口信息未被初始化,则将该交换机端口的端口类型设置为第二端口类型,用于表示该交换机端口与主机相连,同时从主机流表项请求数据包中解析出数据包的源MAC地址,并获取请求时间,然后分别记录在该交换机端口所连接主机的MAC地址和消息时间戳中,从而初始化该交换机端口的端口信息;(14)对于收集到的每一条Packet-in消息,分别执行步骤(12)~(13),以初始化每一个存活端口的端口信息。3.如权利要求1所述的软件定义网络拓扑保护方法,其特征在于,所述步骤(2)中,根据收集到的Packet-in消息,进行主机状态检测,包括如下步骤:(21)若Packet-in消息封装了主机流表项请求数据包,则从该Packet-in消息中解析出消息的上发交换机端口,并进一步获得该交换机端口的端口信息中记录的消息时间戳time_stamp,并转入步骤(22);否则,检测结束;(22)从该Packet-in消息所封装的主机流表项请求数据包中解析出源MAC地址,从而定位与该交换机端口相连的主机;(23)根据当前时刻time_now、交换机主机流表项最大存活时间max_time_out以及所述消息时间戳time_stamp,计算该主机的超时时间time_out,计算公式如下:time_out=max_time_out-(time_now-time_stamp);(24)若time_out>0,则判定该主机的状态为存活;否则,判定该主机的状态为休眠。4.如权利要求1所述的软件定义网络拓扑保护方法,其特征在于,所述步骤(2)中,根据主机状态检测结果及所维护的端口信息对LLDP报文进行分类,包括:若Packet-in消息没有封装LLDP报文,则不做处理;若Packet-in消息封装了LLDP报文,则根据所维护的端口信息获得该Packet-in消息的上发交换机端口的类型;若该Packet-in消息的上发交换机端口类型为第一端口类型,则将其中封装的LLDP报文的类型划分为第一报文类型;若该Packet-in消息的上发交换机端口类型为第二端口类型,且该交换机端口所连接主机的状态为存活,则将其中封装的LLDP报文的类型划分为第二报文类型;若该Packet-in消息的上发交换机端口类型为第二端口类型,且该交换机端口所连接主机的状态为休眠,则将其中封装的LLDP报文的类型划分为第三报文类型;其中,第一端口类型的交换...

【专利技术属性】
技术研发人员:于俊清王兴李冬
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1