原理与架构构件(二/一)

4原理和架构构件

这节介绍SDN原理,形成SDN架构的功能实体和组织关系,随后详细介绍。

4.1原理

ONF从一个较高的视角对SDN进行介绍[1],一些基本的SDN原理在其中有引证,他们的应用在此有简略的总结,在后续章节中有更详细的介绍。

*控制器和数据层的分离原理

这个原理要求控制层和数据层可分割,但是也要知道,控制依然能在数据层中被执行。在SDN控制层和NE之间的D-CPI通过此方法定义:SDN控制器可以代理NE重要的功能,同时也能持续了解到NE的状态。clause4.3列出了在SDN控制中哪些NE功能应该被代理和哪些功能应该保留的标准

*逻辑上集中控制

与设备自身控制相比,集中式的控制器能从更广阔的角度来看在它控制下的资源,对于如何部署这些资源可能会作出更好的决策。考虑到网络资源全球化不断增加,但是对网络资源缺少详尽了解,去耦和控制权集中化使得可扩展性得到改善。出于对SDN网络扩展或安全边界的考虑,SDN控制器可能被迭代开发,变得拥有丰富的功能,在clause5 中有介绍此问题。

*向外部应用开放抽象网络资源和网络状态

在任何抽象水平和粒度下,应用都可能存在,由于北向接口要求抽象程度提高属性通常被描述成不同的抽象程度。因为接口是用来公开资源和状态的,应用和控制器都有接口,所以,应用和控制之间的差异就不明确了。相同的功能接口在不同使用者眼中可能是用处不同的。就像对于控制器而言,各个应用程序可能以对等的方式交互,或者以C/S形式。

网络资源抽象和应用(经由A-CPI的应用)声明的原理要考虑网络的可编程性。使用有关资源和状态的信息,通过SDN控制器,应用可以详细描述它们的网络服务需求和要求的变化,也能够通过编程的对网络状态作出反应。

进一步,分层次地迭代应用/控制器层的概念和信任域的概念也让应用程序得以创造,使应用程序的创建可能变成组件的组合,把组件应用程序组合成一个更全面的服务。

SDN架构通过识别基础功能实体、定义实体间不同的接口需要交换的信息和操作,来阐明以上提到的原理的含义和影响。这个架构进一步把这些功能实体分解为最基础的功能组件集合,这些功能部件基本不能再分解。

该架构引入信任域边界的概念,这对广泛的商业化是很重要的。此架构在特定的可信任域中定义组件,并对其他信任域开放自己的参考接口(reference point)。强大的抽象障碍有利于保护相关人的商业利益,同时也有助于识别和适应不同的信任关系。架构的一致性有助于促进安全措施的设计和审核。

从一个较高的视角看SDN,SDN垂直架构是服务器把信息模型实例公布给客户端,基于信息模型实例,客户可以执行创建-读取-更新-删除(CRDU)和规范操作。这也强调了一个通用信息模型的重要性。从这个角度来说,management管理功能的职责是实例化信息模型和开放层间接口的执行力的策略,尤其是在不同的信任域之间的接口能力的开放。Figure4.1阐明了,C/S架构(控制器/代理)模型在多个SDN控制器构成层级结构时的环境中是可行的。

等级层次结构有两个目的:

缩放和模块化:每个连续的高等级都有可能向更高的抽象和更广的范围发展。

安全:在每个不同的信任域中,每个层都可能存在。为了加强域间的安全,层接口可作为一个参考点。

在递归的层次结构中,一个SDN控制器或一个应用可能把自己当成一个信息模型实例的直接控制器,此信息模型实例代表一个合适抽象的虚拟网络(VN)。从这个参照中,它支持一个数据控制器层的接口,D-CPI。无论是一个NE(或者虚拟NE),或另一个SDN控制器,或者甚至是个应用,他的下级实体把上级实体看成一个应用,由A-CPI支持。从一个全局视野来看,其中一个或者所有这些接口可能以中间件CPIs(intermediate CPIs —I-CPIS)的形式出现。于是出现了一个结果是,除了物理NEs以外,一个给定的实体可能占用数据层或控制层或应用层中的任意一个,这取决于观点和角度。

所有北向接口会公开管理对象实例供客户使用,但是出于不同的抽象等级。

在任何一个递归层次中,一个资源被理解为是只服从一个控制实体的。然而一个SDN控制器可能支持任意数量的D-CPI实例,下层资源是不受一个以上的D-CPI实例支配的,也没有被某个SDN控制器支配的资源。资源分配到哪个可信域的是mangment的功能。

注:clause4.3.5介绍资源共享

有些应用有原子语义要求,也就是说事务完整性(ACDI的性质 atomicity, consistency, isolation, durability)因此应用引起的全局扩张和抽象的操作也就暗示了事务语义存在于每一个下层,并且一直向下到到硬件。进一步说,失败的事务不能有滞留的资源。每一个等级都递归地精心安排它下层实体的事务语义。

注:分布式的事务完整性带来了很大的代价,它可能不是在任何情况下都是必须的。如果事务完整性不被支持,应用者应该考虑使用其他方式从事务失败中恢复过来,特别是有手工分配的资源的恢复。在一些情况下,内置的超时足以恢复滞留的资源。

4.2数据层

数据层包含直接处理客户流量的资源,同时含有必要的支撑资源以保证合适的虚拟化、连通性、安全性、可用性和质量。

Figure4.4相较于3.3,对NE资源视图进行了扩展。

SND关注于流量转发和流量处理功能,比如QoS(Quality of Service)、过滤、监控或跟踪。流量通过物理或者逻辑接口进入或离开数据层,可能被导入导出转发或处理模块。流量处理过程通过OAM引擎(操作(Operation)、管理(Administration)、维护(Maintenance))、一个加密模块,一个虚拟网路模块。可能是SDN控制器来控制流量转发模块和流量处理模块,也可能是实现部署的与一个给定的SDN控制器相关联的独立的机制来实现模块的控制。数据层使用在控制层作出的转发决策。原则上它不能自主制定转发决策。但是控制层可能会配置数据层,使得数据层能自动响应网络事件比如网络故障,或者使得数据层能支持如LLDP,STP,BFD,或ICMP交付的功能。(链路层发现协议(Link Layer Discovery Protocol、Spanning Tree Protocol、BidirectionalForwarding Detection、InternetControl Messages Protocol)

D-CPI包含如下功能:

*实现RDB公开的所以功能的可编程控制

*Capabilities advertisement

*事件报告

数据层代理是在数据层中执行SDN指令的实体。

通过数据层协调器的management模块来分配数据层资源给不同的客户代理并建立管理使用资源的策略。

在此架构中各个层的代理和协调器服务于同样的目的,对此的介绍在Clause5中

两粒种子,一片森林。

原理与架构构件(二/一)

相关文章:

你感兴趣的文章:

标签云: