SDNLAB技术分享:ONOS项目介绍(下)

通信网络

650人已加入

描述

NFV相关

随着云计算、SDN、虚拟化等理念和技术的不断成熟,以通用替代专有将原本传统专业的网元设备上的网络功能提取出来虚拟化、软件化,运行在通用的硬件平台上,这种变化即网络功能虚拟化,Network Function Virtualization (NFV)。网络对用户提供的服务是由多种运行在虚拟容器中的网络功能组合而成的,其中每一个小的网络功能其实就是个网络服务Network Function as a Service (NFaaS)。当网络重载时只需要增加网络功能节点即可达到扩容;网络轻载时释放网络功能节点即可减少资源占用;新业务部署只是多种网络功能的重新组合。网络功能虚拟化让网络更加灵活。

ONOS Framework (ONOSFW) for OPNFV

OPNFV是一个网络功能虚拟化的开放框架,ONOSFW项目使ONOS作为SDN控制器集成进OPNFV框架中,实现OpenStack利用ONOS进行虚拟网络资源管理。

用户通过OpenStack提出对网络的需求,ONOS实现Neutron L2、L3插件获取网络、主机数据。ONOS的VTN Resource manager App负责存储从Neutron获取的数据,并对外提供统一的接口。

VTN manager App根据网络数据生成配置信息及流表,通过OVSDB和Openflow完成对OVS的配置及流表下发实现主机互通。VTN manager App监听ONOS core事件,同时通过VTN Resource manager监听Neutron事件,当OVS或主机上下线时更改配置信息及流表,及时响应网络变化。

sdn

图表 1. ONOSFW 示意图

Service Function Chaining (SFC)

很多场景中,需要把用户的数据分类,不同类型的数据要做不同的处理。例如移动终端用户数据等在运营商的网络中有一些要根据流量计费,有一些要根据需要送到特定服务提供商等。Service Function Chaining (SFC)业务链就是把流量分类后,为不同类别的流量定制不同路径做分类处理的技术。

ONOSFW项目让主机间实现了互通,在此基础上,给某一些VM赋予一些业务功能(例如防火墙,DPI等),则这些VM在SFC场景中称为SF(Service Function)。一个数据包从源发出,根据用户指定沿途会顺序经过多个SF,这些SF组成的路径就是SFP(Service Function Path)。ONOS的SFC就是让ONOS按照用户策略给OVS下发流表,控制数据包走不同的SFP。

sdn

图表 2. ONOS SFC场景示意图

CORD

CORD即Central Office Reimagined as a Datacenter的缩写,用SDN、NFV、Cloud技术,基于商用硬件和开源软件试图搭建打造一个面向未来的运营商Central Office。目前ONOS已经有面对移动网络的M-CORD,面对企业网络的E-CORD,和面对固定网络的R-CORD。

sdn

图表 3. ONOS CORD项目

CORD中的技术作用如下:

1、SDN,实现网络设备控制面和数据面分离,使网络能力开放、可编程;

2、NFV,实现网络功能虚拟化,降低CAPEX及OPEX;

3、Cloud,利用云技术提升业务\\网络伸缩性,使业务部署更敏捷。

CORD: NFV(NFaaS)

ONOS的NFV(NFaaS)项目是ONOS CORD项目的一个子项,它把CORD网络的各种物理设备实现的功能,转换为软件实现的网络服务Network Function Software (NFS)的组合,主要目的是降低CAPEX及OPEX,同时使网络部署更加敏捷。

NFV项目中,用OpenVirteX (OVX)实现网络功能虚拟化,用ONOS的VxLan实现NFS间的互通,用OpenCloud(XOS)平台把项目中的开源软件集合有机地结合在一起。

sdn

图表 4. XOS、OpenStack和ONOS

CORD: Leaf-Spine Fabric with Segment Routing

Leaf-Spine Fabric网络是数据中心的基础网络,可以为大规模的数据中心提供可靠的无阻塞的数据传输。ONOS的Leaf-Spine Fabric项目是CORD项目的另外一个子项,主要目的是用Segment Routing搭建Leaf-Spine Fabric网络,作为NFV网络的underlay网络。

sdn

图表 5. Leaf-Spine Fabric作为underlay网络

CORD: vCPE + vOLT

GPON网络中终端通过驻地网关(RGW)接入ONT(光网络终端),经过分光器汇聚到OLT(光线路终端)上。OLT是GPON网络中的汇聚节点,下行连接众多的ONT,上行连接宽带网络网关(BNG)对业务做控制并连接到骨干网。

sdn

图表 6. GPON接入网

项目中的CPE指的是RGW设备是用户网关,相当于用户网络到光纤接入网络的出口。

sdn

图表 7. CPE (RGW)功能

项目中所谓“vCPE”是把用户驻地网关换成白盒交换机,由SDN控制器统一控制。而原来CPE实现的三层功能则在中心局中用NFV技术实现。

“vOLT”是把OLT功能分为两部分,光信号处理等仍然使用物理设备,而汇聚后对业务的处理则同样在中心局用NFV技术实现。

sdn

图表 8. CORD项目中的vCPE和vOLT

ONOS特性增强类项目(Feature)

Kafka Integration

目前非Java语言写的App只能使用ONOS Restful API,但很多数据或消息并没有提供Restful接口只能通过Java API获取。为了能让非Java语言写的App也能获得这些数据,该项目提出在ONOS上集成Kafka系统的方案。Kafka是LinkedIn开发的一个开源的高吞吐分布式消息系统,结构如图。集成后ONOS上会运行一个Kafka App作为外部App的代理,把ONOS Java API获取到的数据发布到Kafka服务器上。

sdn

图表 9. Kafka示意图

Producer是消息的发布者;Broker是消息中间件处理结点,即kafka节点;Consumer是消息订阅者。Broker中的Topic是按照消息类型来分的,而partition是具体的消息序列。

消息生产以后Producer会根据指定的策略把消息送到某个Broker上的某个topic的partition(即图中part)中。消费者根据自己的需要自己到BROKER中获取消息。

该项目提出在ONOS中增加JAVA语言开发的Kafka App,将ONOS的各种事件发布到Kafka服务器上,方便外部其他语言App访问。

✔ 外部App向ONOS中的Kafka App注册成为Consumer,并知会自己关心哪些事件;

✔ Kafka App创建对应事件的Listener,若该类型事件的Listener已经存在则不再创建,同时将Kafka服务器的地址和topic信息返回给外部App;

✔ 外部App根据Kafka App返回的信息,找到Kafka服务器,注册成为Consumer,当有新消息送到时Kafka服务器会通知给外部App来服务器上获取消息。

sdn

图表 10. Kafka集成示意图

YANG Models in ONOS

目的是在ONOS中引入模型化语言YANG。主要思路是在保持ONOS现有接口不变的情况下,用YANG Shell将ONOS目前的CORE北向接口YANG化,供YANG定义的App调用,同时对外提供Restconf接口。计划完成ONOS的YANG Tools,以L3VPN为例实现App和南向驱动。

sdn

图表 11. YANG Models

ONOS Multi-Clusters Peering Provider

同一个集群中的ONOS实例间的网络信息是共享的,但是很多时候,端到端的业务会需要部署在跨多个ONOS集群的场景,此时ONOS集群间同样需要网络资源信息的共享。这个项目就提出可以让ONOS集群间通过东西向接口共享网络TOPO信息,部署跨ONOS集群的业务。

为了实现这个功能,ONOS新增了一种新的Provider即Multi-Clusters Peering Provider。它的功能主要由以下几项:

1、在一个集群中,leadership机制会选出主Provider,只有主Provider才会将本集群中的网络拓扑进行抽象,暴露给其他的Cluster;同时获取其他Cluster的网络信息并添加到自己的集群中。主Provider故障时leadership会重新选主。

2、Provider抽象本集群网络信息的方法,是将本集群管理的网络抽象为单个交换机,连接用户设备和其他集群的ConnectPoint被抽象为该交换机的接口。其中连接用户的ConnectPoint称为CEP,与其他集群连接的链路称为IL。Multi-Clusters Peering Provider在本地Store中存储网络拓扑与网络抽象的对应关系,并将这些信息暴露给其他集群。并从其他集群获取网络抽象信息添加到自己的集群中。

sdn

图表 12. Multi-Clusters Peering Provider对网路的抽象

sdn

图表 13. 集群间网络资源信息同步

3、连接到某一集群上的App发布集群间Intent时,Multi-Clusters Peering Provider会通过北向接口安装Intent,并保存到本地Store中。

sdn

图表 14. 集群间Intent安装

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分