SDN的研究进展
张朝昆等:软件定义网ff;-(SDN)研究进展
对于众多中等规模的网络来说,一般使用一个控制器即可完成相应的控制功能,不会对性能产生明显影响【4剐.然而对于大规模网络来说.仅依靠多线程处理方式将无法保证性能.一个较大规模的网络可分为若干个域,如图3所示.若保持单一控制器集中控制的方式来处理交换机请求,则该控制器将与其他域的交换机之间存在较大延迟,影响网络处理性能,这一影响将随着网络规模的进一步扩大变得无法忍受.此外,单一集中控制存在单点失效问题.通过扩展控制器的数量可以解决上述问题,也就是将控制器物理分布在整个网络中,仅需保持逻辑中心控制特性即可【491.这样可使每个交换机都与较近的控制器进行交互,从而提升网络的整体性能.
Fig.3SinglecontrollerinSDN
图3SDN中的单一控制器
分布式控制器一般可采用两类方式进行扩剧261,分别是扁平控制方式(如图4所示)和层次控制方式(如图5所示).对于扁平控制方式,所有控制器被放置在不相交的区域里,分别管理各自的网络.各控制器间的地位相等,并通过东西向接口进行通信.对于层次控制方式,控制器之间具有垂直管理的功能.也就是说,局部控制器负责各自的网络,全局控制器负责局部控制器,控制器之间的交互可通过全局控制器来完成.
Fig.4FlatcontrollersinSDN
图4SDN中的扁、F控制器幽5SDN中的层次控制器
扁平控制方式要求所有控制器都处于同一层次.虽然物理上各个控制器位于不同的区域,但逻辑上所有的控制器均作为全局控制器,掌握全网状态.当网络拓扑变化时,所有控制器将同步进行更新,而交换机仅需调整与控制器的地址映射即可,无需进行复杂的更新操作,因此,扁平分布式扩展对数据层的影响较小.Onix[50】作为首个SDN分布式控制器,支持扁平分布式控制器架构.它通过网络信息库(networkinformationbase,简称NIB)进行管理.每个控制器都有对应的NIB,通过保持NIB的一致性,实现控制器之间的同步更新.HyperFlowl51】允许网络运营商部署任意多个控制器,并将这些控制器分布在网络的各个角落.控制器之间保持着物理分离而逻辑集中的特点,因此仍然保持SDN集中控制的特点.HyperFlow通过注册和广播机制进行通信,并在某控制器失效时,通过手动配置的方式将失效控制器管理的交换机重新配置到新控制器上,保证了可用性.在扁平控制方式中,虽然每个控制器掌握全网状态,但只控制局部网络,造成了一定资源的浪费,增加了网络更新时控制器的整体负载.此外,在实际部署中,不同的域可能属于拥有不同经济实体的运营商,无法做到控制器在不同域之间的平等通信.
层次控制方式按照用途将控制器进行了分类.局部控制器相对靠近交换机,它负责本区域内包含的节点,仅掌握本区域的网络状态.例如,与I晦近交换机进行常规交互和下发高命中规则等.全局控制器负责全网信息的维