Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 其他文档 > 基于OpenFlow的SDN可靠性综述

基于OpenFlow的SDN可靠性综述

收藏

本作品内容为基于OpenFlow的SDN可靠性综述,格式为 docx ,大小 42979 KB ,页数为 6页

基于OpenFlow的SDN可靠性综述


('基于OpenFlow的SDN可靠性综述张团利;吕光宏;杨沛霖【摘要】软定义网络(SDN)是一种新型的网络架构,其将控制平面和数据转发平面分离,并为网络管理提供了可编程的接口,简化了网络管理.随着基于OpenFlow的SDN技术在现实中的广泛应用,其所存在的问题也凸显出来,可靠性就是其中的一个重要方面.文中针对基于OpenFlow的SDN在可靠性方面存在的问题,分析总结了导致OpenFlow网络失效的因素,将网络失效划分为控制器、链路和节点失效,并归纳出相应的解决方案,探讨了未来基于OpenFlow的SDN在可靠性方面的研究方向与趋势.【期刊名称】《电子科技》【年(卷),期】2016(029)002【总页数】5页(P177-181)【关键词】SDN;可靠性;OpenFlow;网络失效【作者】张团利;吕光宏;杨沛霖【作者单位】四川大学计算机学院,四川成都610064;四川大学计算机学院,四川成都610064;四川大学计算机学院,四川成都610064【正文语种】中文【中图分类】TP311传统网络将逻辑控制和数据转发紧紧耦合在网络设备上,导致网络控制平面管理的复杂化,灵活性和扩展性很难适应网络的飞速发展[1],无法满足层出不穷的新的网络协议和技术的需要。在这一背景下,SDN应运而生,SDN起源于2006年斯坦福大学的CleanSlate研究课题[2]。2009年,Mckeown教授正式提出了SDN的概念[3],SDN将控制与数据转发分离,在控制层,包含具有逻辑中心化和可编程的控制器,在数据转发层,交换机只提供简单的转发功能[4]。目前SDN的主要实现方式为OpenFlow[5],OpenFlow由斯坦福大学于2008年提出,自OpenFlow提出以来,就引起了学术和行业的广泛关注,ONF作为SDN和OpenFlow的标准化组织,促进了OpenFlow的快速发展。图1展示了基于OpenFlow的SDN的整体架构。SDN集中化的控制简化和方便了网络管理,却也引入了新的问题,例如单点失效,处于SDN核心地位的控制器,连接着北向应用程序和南向网络转发设备,SDN控制器的失效对整个网络的影响将是毁灭性的。SDN控制器和交换机物理位置的隔绝,也降低了两者通信的可靠性,任意一种导致两者通信失效的因素都会使网络发生故障从而导致严重的报文丢失和性能下降。此外,传统网络中的链路失效和节点失效在SDN网络中依然存在,且在SDN网络中由链路失效和节点失效造成的拓扑变化情形更加多样。因此,必须设计良好的可靠性机制来应对导致SDN网络中出现的各种网络失效因素,从而保证SDN网络从失效中恢复,并具有良好的性能。1.1控制器失效及解决方案作为SDN的核心组成部分,控制器连通着北向应用程序和南向转发设备,控制器的失效会使新进入网络中的流由于在交换机上找不到对应的流表项而被丢弃,导致数据丢失。目前,大概有30多种OpenFlow控制器的实现方案,然而只有Onix[7]、Kandoo[8]和一些支持OpenFlow1.0[9]的控制器支持控制器失效的恢复机制。因此,必须设计良好的可靠性机制来处理控制器失效,为此本文归纳出以下几种控制器失效解决方案。1.1.1被动复制组件在OpenFlow协议1.2版本中,提出了主从控制器概念,允许从控制器在主控制器失效的情况下接管网络,但OpenFlow协议并没有定义控制器之间的协商和同步方式。文献[10]提出了一种新的复制组件:CPRecovery组件。CPRocovery组件是基于Primary-Backup保证控制平面的可靠性。当主控制器运行正常时,交换机通过Packt-In消息跟主控制器通信,来更新自己的流表项,主控制器将计算的路径信息保存并加入到从控制器。而当主控制器失效时,交换机检查自己的控制器列表,选择当前主控制器的下一个控制器作为新的主控制器和交换机通信。同时,从控制间歇性的向已经失效的主控制器发送探测信息,当已失效的主控制器恢复正常时,其将作为网络中的一个从控制器,图2展示了主从控制器的通信过程。在被动复制中,失效检测由OpenFlow协议和状态更新消息完成,影响恢复时延的主要因素为OpenFlow控制器同交换机之间的Echo的时间隔,这样恢复时延1.1.2主动复制组件当交换机向控制器请求流表项时,所有的控制器都会处理交换机的请求,各控制器之间通过协商策略决定其中一个控制器对交换机进行响应。主动复制机制的优点是在交换机发出请求以后,各控制器均从一个状态转变为另一个状态,而无需控制器之间再进行额外的通信便可完成控制器间的同步。相比被动复制,只要有一个控制器能正常工作,则网络可靠性便可得到保证,主动复制在其中某一台控制器失效时的恢复过程也不会引起额外的恢复时延。(2)基于路径的保护机制。由于恢复机制所需的时延较长,所以报文丢失率较高,因此文献[14]提出了基于路径的保护机制,去除了交换机与控制器通信的过程,因此时延大幅降低。在文献[14]所采用的保护机制中,控制器预先计算两个节点之间的备份路径,并将其和工作路径下发给交换机。为实现保护机制,文献[14]利用OpenFlow协议1.1[15]GroupTable的概念,在文献[14]中一个GroupTable存储同一个交换机的多个端口号,当工作端口失效时,GroupTable中的其他端口号将作为流的输出端口。BFD[16]会话在同一个路径上的多个交换机之间建立,交换机可通过BFD来检测到失效,并改变当前流关联GroupTable里面的交换机端口号的状态,启用备份端口实现网络恢复。基于路径的保护机制的恢复时延如式(4)所示,其中TBFD为BFD检测路径失效的时延,相比式(3),去除了与控制器通信的时延,大幅降低了恢复时延(3)基于链路的保护机制。文献[17]对文献[14]所提出的保护机制进行了改进,主要改进了失效检测。文献[17]采用每链路BFD会话检测失效,而文献[14]采用每路径BFD会话检测。相比每路径BFD会话检测机制,每链路BFD会话检测机制有以下优点:1)会话往返时延(RTT)和传输间隔降低;2)消息复杂度和网络负荷降低。在每路径BFD会话的情形下,经过每条链路的BFD会话高达O(N×N),而每个节点要维护O(N)个活跃的BFD会话(N代表一条路径所经过交换机节点数量),而每链路BFD会话将经过每条链路的BFD回话数量降低至1,从而降低时延。恢复和保护机制针对的情况为局部链路或节点失效时,对网络的可靠性所作出的补救措施。其以恢复时延为衡量标准,并未考虑在网络部署阶段对网络失效的预防措施。为此,文献[19~20]提出了优化控制器部署来增强网络可靠性的解决方案,在网络部署阶段就采取措施应对可能发生的失效。2.1提高节点受保护率文献[19]提出交换机节点保护的概念,并将节点保护率作为网络可靠性的衡量指标,节点保护率越高,网络可靠性就越强。为计算节点保护率,文献[19]提出了受保护交换机、节点权重和控制路由树的权重3个概念,其中控制路由树权重为不受保护节点的数量的总和,这个值由Γ(T)表示。文献[19]所提到的节点保护率与Γ(T)的大小有关,Γ(T)越小,网络可靠性就越高,这样网络的可靠性就转化为求解min(Γ(T))。min(Γ(T))的求解过程依赖于控制路由树的构建和控制器的摆放位置,因此min(Γ(T))的求解可分为两种情况:(1)当路由树的构建确定时,通过比较控制器不同摆放位置下Γ(T)的大小来确定控制器的最佳摆放位置,文献[19]运用迭代计算和贪婪算法来确定控制器的摆放位置,其中贪婪算法更适合规模较大的网络;(2)当控制器摆放位置确定时,通过查找最优路由树来使网络的节点保护率最高,由于此时求min(Γ(T)是一个NP-Hard问题,文献[19]对STP进行改进,提出用GreedyRoutingTree算法来生成最佳路由树。2.2分析级联网络失效因素文献[20]将OpenFlow网络抽象为用于转发数据的Switch-Switch(SS)网络和用于网络控制的Controller-Switch(CS)网络。并定义CS和SS网络之间节点和链路的依赖关系。根据这些依赖关系,OpenFlow网络中一个CS或SS网络中的链路或者节点失效会导致所依赖的节点或者链路的级联失效,进而失效会传播影响其他节点或链路,最终网络会达到一个稳定状态,在稳定状态下,不受影响的节点和链路越多,则网络的可靠性越强。文献[20]所提出的控制器摆放位置算法分为两步:(1)利用文献[21]提到的贪婪模块优化算法将生成的层次树划分为k部分,每部分均是由一个控制器管理的子网;(2)在每个子网内,选择一个节点摆放位置,使这个位置能在这个子网中最大化的靠近中部,这个节点位置和控制器信息即为输出信息。本文基于OpenFlow的SDN网络的可靠性问题入手,分析导致网络不可靠性的因素,从控制器、链路/节点失效和控制器部署3个方面总结了当前OpenFlow可靠性问题的对应解决方案,表1展示了其所用的失效检测机制,以及可靠性机制的实施阶段。文中所总结的可靠性方案为实际应用中部署OpenFlow网络提供了良好的建议,但并不完善,仍有提升空间。首先,本文所总结的方案只是解决了单一失效的恢复机制,并未考虑同时有多种类型失效的恢复机制;其次,SDN网络的性能指标不仅时延一种,而文中所列出的方案只是将恢复时延或节点保护率作为指标来衡量网络的可靠性,文献[22]虽提出了用多个指标衡量网络可靠性的机制,但其应用具有较大局限性;此外,对于分布式控制器中东西向链路失效的解决方案也是未来需解决的问题。以上几点将是下一阶段OpenFlow在可靠性方面的研究方向。【相关文献】1.2链路/节点失效解决方案除了控制器失效,传统网络中的节点和链路失效在OpenFlow网络中依然存在,作为最有可能成为下一代网络架构的SDN网络,OpenFlow必须具有较强的容错能力,并能满足电信级网络对节点和链路失效的恢复能力。在电信级网络中要求,故障恢复时间要低于50ms[12]。目前解决链路失效和节点失效的两种典型的方式为恢复机制和保护机制。1.2.1恢复机制恢复机制是一种动态的失效恢复机制,当链路失效时,交换机和控制器进行通信,从控制器获取新的链路来取代当前的链路,从而保证网络的可靠性。(1)NOX控制器的恢复机制。在OpenFlow协议中,失效的恢复是通过流表项中“Hardtimeout”和“Idletimeout”来决定的。文献[13]介绍了NOX控制器处理失效的机制,弥补了OpenFlow协议中失效检测机制的不足。NOX控制器通过二层学习交换机、二层学习物理交换机和路由模式3个模块来检测失效从而降低失效恢复的时延。在路由模式中,链路添加和失效检测依赖于发现机制和超时间隔。若控制器没有在配置的超时间隔内收到LLDP报文,则交换机认为链路失效并通知控制器。通过以上3种策略可实现快速的网络失效恢复,失效恢复过程可归纳如下:1)交换机发现链路失效,并将链路失效信息发送给控制器;2)控制器计算所有通过这条失效链路的主机,并为受影响的主机计算新的路径信息;3)移除所有收到影响的交换机上面的失效的路径;4)将计算的新的路径信息添加到相关的交换机上面。(2)使用LoS检测失效实现网络恢复。文献[14]通过对NOX控制器的路由模块进行扩展来提高网络的可靠性,在标准的OpenFlow协议中,失效检测时延是通过LLDP报文和流表项的生命周期来决定的。在文献[14]中,扩展的NOX路由模块利用了OpenFlow协议中LoS失效检测机制来检测网络的失效。一个LoS信号会使一个OpenFlow端口由“Up”状态转化为“Down”状态。在通过LoS信号获取失效以后,控制器得到链路改变的状态,然后向受到影响的交换机下发控制命令来删除受影响的流表项并且添加新的流表项。当所有的流表项均下发到交换机上时,恢复过程也就完成了。(3)控制链路失效的恢复。文献[13]和文献[14]所介绍的两种恢复机制,均是用于数据链路的恢复,然而在如今众多的SDN架构中,交换机同控制器进行通信的链路均是In-band链路,而控制链路的恢复比数据链路的恢复过程更加复杂。由此文献[18]提出了In-bandOpenFlow网络的恢复机制。文献[18]利用了OpenFlow协议终的“BarrierRequestandReplyMessages”概念,交换机收到这种消息后,停止对OpenFlow控制消息进行重排序,先执行先到来的的消息。控制链路失效的恢复过程如下:1)LoS机制发现链路失效后报告给控制器;2)控制器根据拓扑图计算新的路径,新的恢复的路径里面的相关交换机发送Flow-mod消息,之后发送BarrierRequest消息;3)控制器收到交换机的BarrierRequest的消息响应后,实施路径恢复。1.2.2保护机制保护机制是一种预配置策略,在网络正常运行时,对控制器或交换机预先配置备份路径,当交换机失效时,可在短时间内启用备份路径。本文总结了以下几种保护机制:(1)控制器层面的路径保护机制。文献[13]除了提出上述介绍的几个模块,还有一个预决策模块,通过二层学习交换机和二层物理交换机模块的LLDP报文,失效被发现并发送给控制器,控制器计算终端节点之间的新路径来恢复网络,但当网络拓扑较大时,计算新的路径可能是一个耗时的操作,并会增加恢复时延。为降低恢复时延,在网络正常时,控制器预先计算连接两个终端节点的多条路径,并将这些路径信息赋予不同的优先级存储在控制器中,当失效出现时,控制器可选择优先级低于当前失效路径的路径信息并将其发送给相关交换机。没有采用控制器层面的保护机制时,失效的恢复时延如式(2)所示,在采用控制层面保护机制的恢复时延可由式(3)表示,其中TLLDP表示LLDP失效检测时延,TCtl表示控制器计算备份路径的计算时延,TRTT表示交换机控制器通信时的往返时延,TInstall表示新路径安装到交换机所消耗的时间。从式(2)和式(3)中可看出,采用控制器层面的保护机制减少了控制器的计算时延',)


  • 编号:1700774456
  • 分类:其他文档
  • 软件: wps,office word
  • 大小:6页
  • 格式:docx
  • 风格:商务
  • PPT页数:42979 KB
  • 标签:

广告位推荐

相关其他文档更多>