一种基于代理的软件定义网络分布式多粒度控制器安全通信方法技术

技术编号:14166355 阅读:92 留言:0更新日期:2016-12-12 13:33
本发明专利技术涉及一种基于代理的软件定义网络分布式多粒度控制器安全通信方法,属于多域SDN网络的域间通信安全技术领域。该方法通过设计分布式多粒度安全控制器架构,包括控制器之间的消息数据包格式,利用控制器域和域间代理的连接、域间代理之间的连接建立通信隧道,完成控制器之间的邻居发现、两步身份认证和加密传输以实现多域网络控制器之间直接通信。在该通信方法中,基础设施基于安全控制器和域间代理,通过域间代理把控制平面的消息下发到数据平面传输,解决了独立控制平面之间的通信问题;同时,基于挑战响应机制和DTLS协议给出了控制器通信的两步认证方案,可以防御拒绝服务供给并完成身份认证,提高了安全性。

【技术实现步骤摘要】

本专利技术属于多域SDN网络的域间通信安全
,涉及一种基于代理的软件定义网络分布式多粒度控制器安全通信方法
技术介绍
近几年越来越多的研究者开始着手在SDN大规模部署中存在的问题,包括控制平面中多控制器的协作、控制器管理区域的划分和负载均衡等。而在多个SDN自治域的情况下,自治域之间的路由问题也尤为受到关注。在域内控制平面的扩展方面,有DIFANE、DevoFlow、HyperFlow、Onix等研究成果。DIFANE针对控制器在实时流表处理方面的性能瓶颈,使用主被动同时进行的方式向交换机添加流表。在DIFANE中,一部分交换机可以具有一定的流表管理权力,称为权威交换机。与权威交换机在同一区域的交换机可以向它请求流表,由于权威交换机的缓存中存储着控制器下发的高优先级流表,所以可以为控制器分担处理压力。DIFANE的交换机区域划分是根据数据流的地址、协议、端口等信息进行分类,进而形成流空间。DevoFlow考虑到了控制器与交换机之间的带宽消耗,采用带有特殊标记的流表来通配一类流量,在交换机中为流量细分流表项。并可以为通配流表项设定可能的多个流出端口,根据概率分布转发实现多路径路由。HyperFlow和Onix从多控制器分布式控制上解决单点控制器无法逾越的性能制约。HyperFlow将交换机划分给不同的控制器管理,控制器之间共享网络拓扑信息。控制器之间的信息共享采用不定期发布的方式,消息通过不同的信道进行发送。信息的更新以分布式文件系统WheelFS的形式实现。不过HyperFlow只能实现一些实时性要求不高的非频繁信息共享。Onix设计了一种基于分布式控制的SDN架构,主要采用分布式哈希表技术作为网络信息共享和同步的基础,然后利用可靠的分发机制实现响应迅速的同步控制。文献Virtual routers as a service:the RouteFlow approach leveraging software-defined networks提出了RouteFlow:一种SDN中的路由架构。RouteFlow在控制器中将物理交换机转换为虚拟交换机,维护一个虚拟的拓扑,使用开源的路由软件实现路由计算。文献OFBGP:A Scalable,Highly Available BGP Architecture for SDN提出了一种SD网络中扩展性强、可用性高的BGP架构OFBGP,OFBGP分为BGP协议模块和BGP决策模块。其作为控制平面的应用程序对域内和域间的路由进行管理和控制,同时通过备份实现路由故障的快速恢复。文献WEBridge:west–east bridge for distributed heterogeneous SDN NOSes peering对SDN的域间互联机制进行了比较详细研究,提出了SDN中异构NOS的东西向桥接方案,并对需要交互的信息进行了设计。在该方案中,域间控制器采用点对点的通信方式,除了路由信息的交换以外,还将网络视图(拓扑)分享给其他自治域,以形成全局的视图。文献DISCO:Distributed Multi-domain SDN Controllers提出的DISCO也对控制器的东西向交互机制进行了简单的设计,用来实现多域控制器之间的协作。在多控制器的SDN场景下,单域的分布式控制方案已经出现了很多,也较为成熟了。而在域间互联方面,出现了一些域间路由和控制平面通信的研究成果。由于SDN的特点,域间互联基本上是通过控制器的东西向通信来实现,但是控制器之间的通信方式以及安全性还没有受到很多关注。域间安全是SDN网络的大规模部署的关键问题,所以构建域间分布式控制器的安全通信是非常必要的。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于代理的软件定义网络分布式多粒度控制器安全通信方法,设计分布式多粒度安全控制器架构,包括控制器之间的消息数据包格式,利用控制器域和域间代理的连接、域间代理之间的连接建立通信隧道,完成控制器之间的邻居发现、两步身份认证和加密传输以实现多域网络控制器之间直接通信。为达到上述目的,本专利技术提供如下技术方案:一种基于代理的软件定义网络分布式多粒度控制器安全通信方法,该方法包括以下步骤:S1:设计构建一个分布式多粒度控制器架构,使各个SDN自治域达到域间通信的目的;该架构分为基础控制块和多粒度安全定制模块以及一个增强的安全控制器,基础控制模块遵循SDN架构要求实现基本功能,多粒度安全定制模块实现在控制器中可自定义的安全功能,而增强的安全控制器是为了解决在SDN多网络的环境下域间的安全问题;S2:在步骤S1的架构模式下对安全通信方法中的消息格式进行设计,所有控制器间的数据传递采用专用的以太网数据包类型标识0xEFEF,载荷部分保留IP数据包格式,而传输层采用UDP协议;S3:安全连接建立之邻居发现,邻居发现采用广播式的发现方式,每个自治域的控制器通过域间代理广播自己的信息;控制器将自治域的AS号、是否支持安全隧道和安全隧道服务端口号等信息下发给域间代理,域间代理封装成以太网数据包后转发给相邻自治域,自定义了邻居发现消息的格式;S4:安全连接建立之可信认证,在域间控制器通信时,需要保证控制器到域间代理和域间代理之间的通信安全,所以必须完成控制器之间的身份认证,控制器双方都需要明确对方是否可信,因此采用两步认证,两步认证包括域间代理认证和证书认证;S5:安全连接建立之隧道建立,SDN多域网络运行过程中,各个自治域的控制器不断广播自己的信息,其它自治域的控制器收到广播消息后,想发送消息的控制器发起连接。进一步,在步骤S1中,SDN安全控制器架构分为基础控制模块和多粒度安全定制模块,多粒度安全定制模块实现在控制器中可自定义的安全功能主要有威胁防御模块、流表管理模块、备份模块和应用管理模块;增强的安全控制器架构,其域间模块主要包括安全配置、连接管理、邻域管理和域间路由。进一步,在步骤S2中,控制器域间消息的数据包格式如下:前8位为消息的类型,接着32位为消息的长度(整个UDP载荷部分,位为字节),其余部分则是具体的消息内容;消息类型分为邻居发现消息、Keepalive消息、安全隧道消息,其类型标识分别为:0x01、0x02、0x03。进一步,在步骤S3中,控制器将自治域的AS号、是否支持安全隧道和安全隧道服务端口号等信息下发给域间代理,域间代理封装成以太网数据包后转发给相邻自治域,自定义了邻居发现消息的格式如下:消息类型字段为0x01,消息长度一般为10字节,即0x000A;后面的字段为AS号(32位)、安全隧道支持(8位,0x00表示不支持,0x01表示支持)、端口号(16位,如果表示不支持则忽略此字段);在邻居发现完成后,控制器不断更新和维护相邻自治域的信息,在长时间内(Message Timeout)没有收到相邻自治域的消息时,需要发送Keepalive消息以确认邻居是否还存在;相邻自治域的控制器收到消息过也返回一条Keepalive消息,如果在一定时间内(Keepalive Timeout)没有收到返回的消息,则认为邻居已经不存在;Message Timeout和Keepalive Timeout由各个自治域根据情况自行设定;Keepa本文档来自技高网
...
一种基于代理的软件定义网络分布式多粒度控制器安全通信方法

【技术保护点】
一种基于代理的软件定义网络分布式多粒度控制器安全通信方法,其特征在于:该方法包括以下步骤:S1:设计构建一个分布式多粒度控制器架构,使各个SDN自治域达到域间通信的目的;该架构分为基础控制块和多粒度安全定制模块以及一个增强的安全控制器,基础控制模块遵循SDN架构要求实现基本功能,多粒度安全定制模块实现在控制器中可自定义的安全功能,而增强的安全控制器是为了解决在SDN多网络的环境下域间的安全问题;S2:在步骤S1的架构模式下对安全通信方法中的消息格式进行设计,所有控制器间的数据传递采用专用的以太网数据包类型标识0xEFEF,载荷部分保留IP数据包格式,而传输层采用UDP协议;S3:安全连接建立之邻居发现,邻居发现采用广播式的发现方式,每个自治域的控制器通过域间代理广播自己的信息;控制器将自治域的AS号、是否支持安全隧道和安全隧道服务端口号等信息下发给域间代理,域间代理封装成以太网数据包后转发给相邻自治域,自定义了邻居发现消息的格式;S4:安全连接建立之可信认证,在域间控制器通信时,需要保证控制器到域间代理和域间代理之间的通信安全,所以必须完成控制器之间的身份认证,控制器双方都需要明确对方是否可信,因此采用两步认证,两步认证包括域间代理认证和证书认证;S5:安全连接建立之隧道建立,SDN多域网络运行过程中,各个自治域的控制器不断广播自己的信息,其它自治域的控制器收到广播消息后,想发送消息的控制器发起连接。...

【技术特征摘要】
1.一种基于代理的软件定义网络分布式多粒度控制器安全通信方法,其特征在于:该方法包括以下步骤:S1:设计构建一个分布式多粒度控制器架构,使各个SDN自治域达到域间通信的目的;该架构分为基础控制块和多粒度安全定制模块以及一个增强的安全控制器,基础控制模块遵循SDN架构要求实现基本功能,多粒度安全定制模块实现在控制器中可自定义的安全功能,而增强的安全控制器是为了解决在SDN多网络的环境下域间的安全问题;S2:在步骤S1的架构模式下对安全通信方法中的消息格式进行设计,所有控制器间的数据传递采用专用的以太网数据包类型标识0xEFEF,载荷部分保留IP数据包格式,而传输层采用UDP协议;S3:安全连接建立之邻居发现,邻居发现采用广播式的发现方式,每个自治域的控制器通过域间代理广播自己的信息;控制器将自治域的AS号、是否支持安全隧道和安全隧道服务端口号等信息下发给域间代理,域间代理封装成以太网数据包后转发给相邻自治域,自定义了邻居发现消息的格式;S4:安全连接建立之可信认证,在域间控制器通信时,需要保证控制器到域间代理和域间代理之间的通信安全,所以必须完成控制器之间的身份认证,控制器双方都需要明确对方是否可信,因此采用两步认证,两步认证包括域间代理认证和证书认证;S5:安全连接建立之隧道建立,SDN多域网络运行过程中,各个自治域的控制器不断广播自己的信息,其它自治域的控制器收到广播消息后,想发送消息的控制器发起连接。2.根据权利要求1所述的一种基于代理的软件定义网络分布式多粒度控制器安全通信方法,其特征在于:在步骤S1中,SDN安全控制器架构分为基础控制模块和多粒度安全定制模块,多粒度安全定制模块实现在控制器中可自定义的安全功能主要有威胁防御模块、流表管理模块、备份模块和应用管理模块;增强的安全控制器架构,其域间模块主要包括安全配置、连接管理、邻域管理和域间路由。3.根据权利要求1所述的一种基于代理的软件定义网络分布式多粒度控制器安全通信方法,其特征在于:在步骤S2中,控制器域间消息的数据包格式如下:前8位为消息的类型,接着32位为消息的长度(整个UDP载荷部分,位为字节),其余部分则是具体的消息内容;消息类型分为邻居发现消息、Keepalive消息、安全隧道消息,其类型标识分别为:0x01、0x02、0x03。4.根据权利要求1所述的一种基于代理的软件定义网络分布式多粒度控制器安全通信方法,其特征在于:在步骤S3中,控制器将自治域的AS号、是否支持安全隧道和安全隧道服务端口号等信息下发给域间代理,域间代理封装成以太网数据包后转发给相邻自治域,自定义了邻居发现消息的格式如下:消息类型字段为0x01,消息长度一般为10字节,即0x000A;后面的字段...

【专利技术属性】
技术研发人员:尚凤军王文凯付强
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆;50

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

1