面向意图的SDN北向接口

面向意图的北向接口是一种与网络实现技术无关的北向接口,仅表达应用相关的词汇和术语,使得用户不需要看到VPN、MPLS、路由协议等具体的网络技术。

SDN北向接口的挑战

根据Open Networking Foundation(ONF)的定义,软件定义网络(Software Defined Networking,SDN)构架分为垂直的三层:基础构架、控制层和应用层。SDN的北向接口(North-Bound Interface,NBI) 位于控制平面和应用之间,将控制器提供的网络能力和信息进行抽象并开放给应用层使用。因此,NBI对应用的创新和SDN生态系统的繁荣起着至关重要的作用。

现有的NBI多关注在网络功能层面。功能型NBI(Functional NBI)通常由网络领域的专家,从网络系统的角度设计,并自底向上的考虑NBI能够提供怎样的网络能力。这种设计不需要知道用户需求,而尽可能多的暴露网络的信息和能力,为上层应用提供了最大限度的编程能力。这样的功能型NBI的例子包括:设备和链路的发现、分配接口ID、设置设备的转发规则、管理成千上万的网络状态信息。

然而,让我们完全站在应用开发者的角度,假设我们并不了解复杂的网络概念和配置。应用的开发者希望将更多的精力集中在应用功能的体现、用户交互的友好,在使用网络服务的时候希望能够像使用云服务一样简单、自动化,希望网络能够具有灵活的、可靠的和可扩展的。这要求网络能够提供一套面向网络服务的、声明式的、反应用户意图的NBI(Intent NBI),例如:“在A站点和B站点之间建立连接”,“为我的数据中心互联(Data Center Interconnection,DCI)提供服务质量保障(Service Level Agreement,SLA)”,“为我的虚拟数据中心(Virtual Data Center,VDC)上网提供业务链(Service Function Chain,SFC)服务”。

对于应用的开发者来说网络服务接口的复杂性是网络相关应用开发的痛点。复杂是可扩展性的敌人,复杂使得接口不易于使用,复杂使应用的开发容易出错,复杂阻碍了网络相关应用的创新!

解决复杂性的方法是在控制器平台上构建一层声明式的网络中间件,应用通过Intent NBI告诉控制器想要做什么而不是怎么去做。由它捕捉到应用的意图,转换成领域和具体技术相关的网络配置细节,并隐藏转换过程的复杂性。

什么是Intent NBI

为了简化消费网络服务的应用和控制器之间的交互,控制平面应该提供一层Intent NBI。Intent NBI是一种与网络实现技术无关的北向接口,仅表达应用相关的词汇和术语,使得用户不需要看到VPN、MPLS、路由协议等具体的网络技术。Intent NBI自顶向下地从需求视角对网络对象与能力进行抽象,并通过声明式的表达体现使用者的意图(想做什么),而不是如何去做。Intent NBI表达了应用期望控制器交付的服务输出,将控制器变成一个资源分配和资源管理的“黑盒系统”。

让我们用乘坐出租车打一个比方,通常乘客的意图就是从A地到B地。他不需要知道怎么走,只要对司机说:“嘿,我要去B地。”就这么简单,仅包含客户关心的信息。同样,乘客也不需要告诉司机为什么他要从A地到B地,因为这和乘客的需求无关。这样的例子扩展到网络服务领域是完全适用的。

Intent NBI可以为应用和应用开发带来很多的好处:

●   Intent的描述是声明式的,并不指定执行的方式,使得控制器能够为基于Intent的请求自动的计算最优的结果,最大程度的满足请求。

●   基于Intent的请求和控制器平台及控制器的实现无关,它只是体现了应用层的需求,并使用应用相关的词汇和信息。相同的Intent请求可以由不同的控制器通过不同的方法或算法完成,这也使得应用具备跨平台的可移植性。

●  使用Intent NBI的应用可以在高层避免冲突的发生,增加请求的成功率。例如,一个常规的连接建立,需要应用指定连接路径经过的网络节点,之后控制器在相应的网络节点上下发配置。然而,如果基于运营商的某种管理策略,该路径上的某个网络节点是此应用不可使用的,则这样的部署请求将会失败。如果我们使用Intent,应用仅表达在A和B站点之间建立连接的需求,则控制器可以智能的为该请求选择一条避开指定网络节点的最有路径,并完成部署。

Intent表述模型

控制器理解Intent请求,需要有一种形式化的模型来描述Intent。总结生活中Intent的表述例子,通常可以归结于两类表达:一种是表达操作(Operation),表示“想要做什么”;另一种是表达结果(Result),表示“希望达到某一状态”。网络中意图表达的例子有:

● “I want toCREATEa Network for HR (Customer Facing Node)"

●   "I want toBLOCKthe http flow (Flow)"

●   "I want toADJUSTthe bandwidth (Connection) to 10G“

● “I want toAVOIDthe bandwidth utilization on the connection greater than 80%. (Result)”

从这些例子中,我们可以得出下面的Intent表述模型:

Intent由Object和Operation,或者Object和Result组成。服务层网络中

●  对象,可以总结为:面向用户的节点(Customer Facing Node,CFN)、连接(Connection)和业务流(Service Flow)。

●  操作,描述用户期望的行为,可以用“在某个条件下(Condition),做某个动作(Action),同时遵守某种约束(Constraint)”的模式来表述。

●  结果,描述用户希望达到的状态,可以用“期望达到某一状态”或者“避免达到某一状态”的子句来表述。

华为的Intent NBI实践

华为提出的NEMO项目一直引领Intent NBI的实践,提供了一套完整的基于意图的实现。NEMO项目开发了一种面向网络服务的编程语言作为一种新的SDN北向接口形式,打破了传统上“烟囱式”基于场景逐一定义接口的方式,基于Intent的表述模型总结出一套面向网络服务的原语,通过灵活的组合实现任意场景应用的描述与部署,并通过15种简单的语句替代了传统上成百上千的API。NEMO语言以更加自然和直接的方式表达用户的意图,网络应用和开发者在使用NEMO语言描述网络服务时,只需要告诉控制器做什么,而不需要指明如何去做。

NEMO的Intent执行引擎实现了一个网络中间件,隐藏网络实现和部署的复杂性,将高层次的服务级别的Intent转化成真正的网络部署,并通过软件自动化的方式解决网络中资源和策略的冲突。创新提出的三层映射架构,简化了Intent到网络部署的转换,使得每层映射功能清晰,第三方模块和新的算法功能可以快速的集成。

此外,NEMO还提供了一系列的支撑工具,比如沙箱,为测试、仿真和部署都提供了便利,为网络应用提供了一套集成开发环境。

业务定制与业务创新一直倍受运营商的关注。NEMO抓住运营商的需求,面向不同行业用户的意图,基于通用的网络操作模式和以应用为中心的网络模型,为运营商的业务设计人员提供一种简单易用的网络业务模板定制方式。使用NEMO语言可以快速的捕捉行业用户的意图,方便的在应用中描述其对网络的需求,而将网络实现层面的复杂性留给SDN控制器,并通过优化的软件系统,自动实现资源的分配、网络性能的监控、资源与策略的冲突解决,极大的简化了运营商的设计工作并加速了业务创新和新业务的布放。

华为正携手标准组织IETF、ONF以及开源社区共同完成Intent NBI、相关模型、NEMO语言语法以及Intent引擎的定义和实现。

本文转载自:http://developer.huawei.com/ict/cn/site-sdn/article/08

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容