SDN及ODL概括性总结

合集下载

SDN核心技术概述

SDN核心技术概述

SDN核心技术概述SDN (Software-Defined Networking) 是一种网络架构和管理方法,通过将控制平面与数据平面分离,可以实现灵活、可编程和可自动化的网络配置。

在传统的网络中,网络控制和数据转发是紧密耦合的,这限制了网络的可扩展性和灵活性。

而SDN通过集中的控制器以及抽象的网络视图来管理整个网络,使得网络的管理和配置变得更加简单,并且可以根据应用的需求进行灵活的网络调整。

1.控制平面和数据平面的分离:传统网络中,路由器和交换机既承担控制平面的任务,也承担数据平面的任务。

而在SDN中,网络设备的数据平面只负责简单的数据转发任务,而控制平面则由集中的控制器来负责,控制器通过和网络设备进行通信,来下发控制指令和策略。

这种分离使网络管理变得更加灵活和可编程。

2. OpenFlow协议:OpenFlow是SDN中的一个重要协议,它定义了控制器和网络设备之间的通信接口。

通过OpenFlow协议,控制器可以向网络设备下发流表中的流转发规则,并实时获取网络设备的状态和统计信息。

OpenFlow协议的出现,使得不同厂商的网络设备可以与同一个控制器进行交互,这大大简化了网络的管理和配置。

3.软件定义网络架构:SDN采用了分层的架构,从下到上分别是:物理基础设施层、网络设备控制层、网络应用层。

物理基础设施层负责物理网络设备的管理,网络设备控制层负责网络设备的控制和管理,网络应用层则是基于网络控制层提供的功能开发各种网络应用,如负载均衡、流量监测等。

这种分层架构使得网络的管理和配置更加模块化和可扩展。

4.网络编程接口和虚拟化技术:SDN提供了丰富的网络编程接口,使得开发人员可以通过编程的方式对网络进行灵活配置和管理。

同时,SDN还利用虚拟化技术,将物理网络资源划分为多个虚拟网络,使得不同租户之间的网络可以互相隔离。

这种虚拟化技术可以提高网络资源的利用率,并且使网络更加灵活和可定制。

5.网络智能和自动化:SDN可以通过集中的控制器来收集和分析网络设备的状态和统计信息,从而实现网络的智能化和自动化。

《深度解析SDN》总结

《深度解析SDN》总结

《深度解析SDN》总结这本书从SDN利益、战略、技术和实践⽅向全⾯剖析,内容简单易懂,⼀本⽐较推荐的书籍。

总结:⼀、SDN的特征属性: 1、控制⾯与转发⾯分离 2、开发的课编程接⼝(南北向接⼝) 3、集中化的⽹络控制(Controller) 4、⽹络业务的⾃动化应⽤程序控制其中前两点是SDN的核⼼属性,只要符合这两点,⽆论它具体⽤了什么样的实现技术,都可以宽泛的认为是SDN架构,因此VMware推出的NSX肯定算是SDN。

⼆、SDN不是什么 1、SDN不等于Openflow 2、SDN不等于⽹络虚拟化(NV) 3、SDN不等于⽹络功能虚拟化(NFV) 4、SDN也不是⼀个协议,它仅仅是⼀种⽹络架构的理念,它规划了⽹络的各个组成部分(软件和硬件,转发⾯和控制⾯)及相互之间的互动关系。

三、SDN架构 1、Data Plane:它可以是虚拟机交换机(如OVS),也可以是硬件交换机(⽀持Openflow),所有的flowtable都存放在Date Plane,⽤户的数据报⽂在这⾥被Edit Action。

2、Data-controller plane interface(通常被称为南向接⼝):⽬前最有影响⼒的南向接⼝标准为Openflow。

Controller通过南向接⼝向Data Plane发送指令来配置位于Data Plane内的flowtable。

Data Plane也通过南向接⼝主动上报⼀些事件给Controller。

因此可以说南向接⼝就是 Controller和DataPlane之间相互通信的接⼝。

3、Controller:是SDN⽹络中的核⼼元素,是各⼤公司都想要抢占的制⾼点,因为它向上提供应⽤程序的编程接⼝,向下控制Date Plane。

4、Application-controller plane interface (通常被称为北向接⼝):只是Controller跟Application之间的接⼝,向上层提供⽹络抽象,使得⽹络具备软件编程的能⼒。

简述SDN的概念

简述SDN的概念

简述SDN的概念SDN(软件定义网络)是一种新兴的网络架构,旨在通过将网络控制平面和数据平面分离,以提供更高级别的网络控制和灵活性。

传统的计算机网络架构中,网络交换机内部的控制逻辑是紧密耦合在一起的,因此在网络管理和配置方面缺乏灵活性和可扩展性。

SDN则通过将控制逻辑集中到一个或多个控制器中,并通过网络控制协议将网络的控制指令从控制器发送到交换机,实现对网络的动态管理和配置。

SDN的核心思想是将网络交换机分为两个部分:数据平面和控制平面。

数据平面是指网络交换机上负责数据包转发和数据处理的硬件和软件,控制平面则是指网络控制器,负责决策和控制网络中的数据流。

通过将控制平面集中管理,SDN 可以实现对整个网络的全局视图和集中控制,进而提供更高级别的网络管理、配置和调优。

在传统网络架构中,网络交换机在数据包转发方面具有固定的策略和行为,而且网络管理员需要逐一配置每个交换机的规则和策略,非常繁琐和复杂。

而SDN 通过将网络的控制逻辑从交换机中抽离出来,使得网络管理员只需要通过控制器进行配置和管理,而无需逐一配置每个交换机。

这种集中化的控制方式使得网络管理更加直观、灵活和可扩展。

SDN还提供了一种可以编程的方式来定义和控制网络的行为,即SDN控制器通过暴露一组API或编程接口,使得应用程序可以通过这些接口来控制网络的行为。

这样,网络管理员和应用程序开发人员可以通过编程来实现对网络的灵活控制和定制化,为应用程序提供更高级别的网络服务和优化。

SDN的另一个重要特点是网络虚拟化。

传统的网络架构中,每个应用程序通常需要独立的物理网络设备,这样会造成资源浪费和配置复杂。

而SDN可以通过虚拟化技术将物理网络划分为多个虚拟网络,每个虚拟网络可以独立配置和管理。

这样可以实现资源共享和隔离,降低网络成本和管理复杂度。

总之,SDN是一种通过将网络的控制逻辑集中管理和通过编程方式控制网络行为的新型网络架构。

它的核心思想是通过分离数据平面和控制平面,提供更高级别的网络管理、配置和灵活性。

SDN初学者的学习之路与心得

SDN初学者的学习之路与心得

我与SDN的缘分一名初学者的学习之路与心得去年十一月,我在大三的计算机网络课程上与SDN初识。

今年三月中旬,我有幸得到老乡学长北邮–李呈的指引,真正地与SDN结缘,悄然走上学习之路。

SDN,Software Defined Network,是对传统网络架构的一次革新。

经过短短三四个月的学习和实践,我本着授人以渔的理念,辅以我的一些理解,将我的学习历程和心得叙写出来,送给各位想要入门的或跟我一样刚刚入门的朋友们。

文中有理解不到位的地方,还望各位朋友不吝赐教,非常感谢!SDN,软件定义网络,我们关键就是弄清楚三件事:网络、软件、软件与网络怎么结合。

一、走进网络既然我们要用SDN来改造网络,当然得先了解一下网络是何物,磨刀不误砍柴工。

我对网络的了解,是从高中开始的。

从OSI七层模型,到五层模型;从家庭组网,再到Socket 编程实践,我对网络的兴趣不断增长。

直到大二学了《计算机通信与网络》这门课,才算是对过往三四年积累的零星知识的一次大梳理,让我对网络有了一个系统性的了解。

(1)传统网络传统网络,我的老师用它代指我们一直以来都在使用的网络,用以跟SDN网络区别。

我是跟随着谢希仁前辈的《计算机网络》这本书学习的,也推荐给各位朋友。

跟随着大二的课程,我把五层模型的低四层学了个遍,主要是从物理层的拓扑、集线器,到数据链路层的网桥、MAC、CSMA/CD、CSMA/CA,再到网络层的路由器、最长前缀匹配、IP、ARP、OSPF、RIP、BGP,最后到传输层的UDP、TCP,掌握了这些,对我们网络的理解大有裨益。

根据我的SDN实践经验,深入理解一下最长前缀匹配,TCP的反馈重传、滑动窗口、三次握手、四次挥手,是非常有好处的。

(2)SDN网络在这里,我们需要弄清楚三个问题:①SDN是什么?②我们为什么需要SDN?③SDN可以用在何处?学习SDN伊始,我阅读了一些介绍SDN的文献资料,还有一些控制器的白皮书。

比较推荐大家从Open Network Fundation(ONF)组织的SDN白皮书入手,再辅以其他的介绍资料,了解SDN的架构是什么样,数据、控制、管理面,南向、北向、东西向,以及传统网络存在哪些不能适应新需求的问题、SDN针对这些问题有什么样的特性去应对。

SDN学习总结

SDN学习总结

SDN学习总结一、SDN概述SDN(软件定义网络)是一种新型的网络架构。

相比于传统网络主要有以下两个特点:(1)数据控制分离传统网络中的数据平面和控制平面是被放在同一个机箱里的,数据和控制平面都是分布式的;而SDN采用了集中式的控制平面和分布式的转发平面,这两个平面相互分离,控制平面通过南向接口对转发平面上的网络设备进行集中式控制。

数据控制分离的优点是能对网络进行全局集中控制和优化,并令网络具有高性能的网络转发能力。

(2)软件可编程SDN可以通过编写软件的方式来灵活定义网络设备的转发功能。

这种可编程方式主要体现在两个方面:第一,应用平面使用可编程方式把需要请求的网络行为通过北向接口交给控制器。

第二,SDN控制器通过编程方式制定转发策略并下发流表到OVS交换机控制交换机的转发功能。

二、SDN系统架构1. SDN架构主要由三个平面组成:数据平面、控制平面和应用平面,各平面之间使用不同的接口协议进行交互,其系统架构简图如图2.1所示:应用平面北向接口控制平面南向接口数据平面图2.1 SDN系统架构简图(1)数据平面:单纯用来转发和处理数据,研究中所用到的OVS交换机处于这一平面。

(2)控制平面:即SDN控制器(SDN Controller),SDN控制器是一个逻辑上集中的实体,它主要负责两个任务:一是SDN 控制器可通过AP和OVS交换机采集网络参数,从而感知整个网络的架构,通过北向接口向SDN应用平面提供底层网络的模型;二是SDN控制器可根据上层应用平面的请求和网络结构来制定转发策略并下发流表到OVS交换机控制数据流向。

(3)应用平面:应用平面主要通过北向接口与SDN控制器进行交互,这些应用通过可编程方式把需要请求的网络行为提交给控制器。

2.在SDN网络中目前我们主要研究的是控制平面与数据平面的交互,即通过南向接口进行交互,南向接口使用OpenFlow协议。

这里简要介绍OpenFlow v1.0协议,OpenFlow v1.0协议架构原理示意图如图2.2所示:安全通道流表控制器OpenFlow协议OpenFlow交换机图2.2 OpenFlow v1.0协议架构原理示意图OVS交换机通过安全通道与控制器相连,安全通道上传输的就是OpenFlow 协议消息,负责控制器与交换机间的交互。

SDN概述

SDN概述

一个SDN网络有三个架构层:物理网络、SDN控制器、SDN应用程序。

物理网络:最底层包含网络中构成所有IT基础设施的基础的物理设备。

我们使用“交换机”这个概念,因为OpenFlow改变了以太网交换机工作的方式。

在本文中,你还可以考虑物理基础设施中的虚拟交换机部分。

SDN控制器:SDN控制器是中间件,由服务器作为整个架构的轴心。

控制器必须和网络中所有物理以及虚拟设备整合。

控制器将物理网络设备从与这些设备协同工作的SDN软件中抽象化出来。

控制器和网络设备之间有高度的整合。

在OpenFlow环境中,控制器将使用OpenFlow协议和NETCONF协议来与交换机对话。

(OpenFlow是发送流数据到交换机的API,而NETCONF是网络设置API。

)SDN应用程序:SDN设计中最具有可视性的层是提供服务(比如交换/网络虚拟化、防火墙和流量均衡器)的应用程序。

(注意,基于OpenFlow的负载均衡器被称为流量均衡器。

它们并不是传统负载均衡器,因为它们不能读取数据包内容)这些应用程序与那些软件运行在专门硬件上的情境中的应用程序基本类似或相同。

网络技术中大部分即将到来的创新将发生在SDN应用程序上。

(1)为什么要搞SDN?因特网存在和发展了几十年。

随着服务类型和规模的急剧增加出现了一些问题。

长期以来通过命令行接口的手动配置阻碍了网络虚拟化的前进,操作费用高,网络刷新慢,容易引入差错。

取消把应用联系到特定网络详情,譬如断开和地址,使物理具体事项的改变无需重写应用和手动配置网络设备的时延和费用,也许是一种思路。

路由是一个大问题。

路由器里面的路由表越来越复杂,分散到各地去路由,既做不到最优的路由,又产生许多重复的计算。

从你的PC到一个网站浏览器,可能要经过20-100路由器或交换机。

如果一个包到来,只知道目的地,但不知道怎么走,那只有交给下一跳。

下一跳要是也不知道呢?这么盲目跳下去,怎么就相信会到达目的地呢?那只能靠相邻路由器经常交换信息。

SDN概述及架构

SDN概述及架构SDN(Software-Defined Networking)是一种新兴的网络架构,它通过将网络控制平面(Control Plane)与数据转发平面(Data Plane)分离,使网络可以更加灵活、可编程和可管理。

SDN的核心思想是将网络控制逻辑集中管理,提供可编程接口,从而实现网络的统一管理和自动化。

SDN的架构包括三个主要组件:控制器(Controller)、网络设备和应用程序。

控制器是SDN架构的核心组件,它负责集中管理网络设备和应用程序。

控制器可以通过与网络设备交互,实现网络的控制和管理功能。

它可以根据网络管理员或应用程序的指令,动态地配置、管理和监控网络设备,实现网络的自动化管理。

控制器还提供了一系列API,使得应用程序可以直接与网络交互,实现特定的网络功能。

网络设备是SDN架构中的数据转发平面,包括交换机、路由器和防火墙等。

这些设备通过与控制器交互,接收并执行控制器的指令,实现数据流的转发和处理功能。

网络设备在SDN架构中变得更加简单,只需要实现基本的数据转发功能,而网络控制逻辑则由控制器来管理。

这种分离使得网络设备可以更加专注于数据转发,提高网络的性能和可靠性。

应用程序是SDN架构中的上层应用,它可以直接与控制器交互,实现特定的网络功能。

应用程序可以基于用户需求开发,如网络安全、负载均衡和流量工程等。

应用程序可以通过控制器的API获取网络的状态信息,并通过控制器的指令实现网络的动态配置和管理功能。

应用程序的开发和部署可以通过控制器的统一接口实现,使得网络的管理更加灵活和可扩展。

SDN架构的优势主要体现在以下几个方面:首先,SDN架构实现了网络的统一管理和自动化。

通过将网络控制逻辑集中管理,控制器可以根据网络管理员或应用程序的指令动态配置、管理和监控网络设备。

这种集中管理的方式使得网络的管理更加灵活和可扩展,同时也提高了网络的可靠性和安全性。

其次,SDN架构提供了可编程的网络接口。

sdn实训总结

sdn实训总结sdn 实训总结报告, SDN 架构应用实践——总体分析和思考从开始学习 SDN 开始就一直在想一个问题:我为什么要做 sdn 呢?这两年多的时间里, SDN 可谓“出尽风头”。

一方面,各种大厂、科研机构都在关注着 SDN。

另外,国家政策也给予了高度重视。

可以说,一切因素都预示着 SDN 会有很好的未来。

那么作为本科生或者研究生的我们又该如何来看待 SDN 呢?我认为主要有三点:一是要明确什么是 SDN;二是要理解什么是自动化;三是要知道 SDN 与SDN/ NFV 的区别。

只有搞清楚了这些问题才能够更加深入地了解它。

SDN 的核心是自动化,而自动化其实也包括几个方面:一是信息处理的自动化,即信息传输过程中的控制及处理;二是存储的自动化,主要是指数据中心的整合。

比如数据备份、存储、恢复等。

三是应用的自动化,即根据客户需求提供相应服务的系统和流程,实现服务快速响应。

在很长一段时期内,人类社会所使用的信息基本上都依赖于有线网络(俗称“铜线”)进行传递。

而随着互联网技术的兴起和广泛运用,传统意义上的有线网络已经不能满足新形势下人们对信息传送和共享的迫切需求,越来越多的企业和组织逐渐将其转向互联网。

这便引发了有线网络领域内容的扩充和业务模式的升级换代。

但同样令人担忧的是,当今互联网带宽瓶颈却成为阻碍各行业之间信息交流和业务协同的最大障碍。

自动化带来了信息技术革命的大发展。

在这个意义上,自动化技术早已超越了互联网本身,甚至改变了人们获取信息和工作的方式,更像是信息技术革命背后的推手,让人们的信息获取方式、业务沟通模式乃至商业竞争环境发生了翻天覆地的变化。

但自动化也具有双刃剑效应,虽然推动了人类社会前进,但同时也极易被控制和破坏。

尤其是随着云计算和大数据概念的日益普及,物联网、边缘计算、 SDN 等新概念正逐步走进人们的视野。

一场信息技术革命正悄无声息地到来,一个崭新的网络世界将呈现在我们眼前!当然了,不论未来 SDN 的演进会怎样,也许它的存在并非为了促进经济增长,而是帮助企业减少运营费用和支持各项业务功能的自动化。

sdn软件定义网络学习文件材料文件材料


05 SDN的未来发展
SDN技术的发展趋势
自动化与智能化
随着人工智能和机器学习技术的不断发展,SDN技术将进 一步实现网络配置、流量调度、安全防护等功能的自动化 和智能化。
云网融合
云计算和网络技术的融合是未来发展的重要趋势,SDN技 术将更好地支持云网融合,实现云资源的灵活调度和网络 的智能管控。
适用场景
OpenFlow协议广泛应用于数据 中心、云计算、校园网等场景, 以提升网络的性能、可靠性和安 全性。
OpenFlow协议工作原理
01
控制与转发分离
OpenFlow协议将网络设备的控制平面与转发平面分离,网络设备的转
发行为由SDN控制器进行集中控制。
02
流表匹配与动作
OpenFlow设备维护一个或多个流表,用于匹配和处理数据包。当数据
随着SDN技术的广泛应用,网络安全和隐私保护问题将更加突出,需要加强安全机制的 设计和实施,确保SDN技术的安全可靠。
商业模式创新
SDN技术的发展将推动网络产业的商业模式创新,形成更加灵活、高效的网络服务模式 ,为各行业提供更好的网络支持和服务。
SDN的未来发展方向
边缘计算
随着云计算向边缘的延伸,SDN技术将更好地支持边缘计算的发展,实现边缘设备的 灵活管理和智能控制。
SDN控制器是软件定义网络(SDN)的核心组件, 负责管理和控制网络流量。
功能
SDN控制器提供了一个集中式的管理界面,允许 网络管理员通过编程方式配置和控制网络设备。
重要性
SDN控制器是实现SDN架构的关键,它简化了网 络管理和配置,提高了网络的灵活性和可扩展性。
SDN控制器的工作原理
控制与转发分离
高效性

SDN技术及解决方案介绍


I2RS Diameter
Netflow XML/Snmp/CLI 3. 早期两个相关工作组:转发与控制分离组ForCES(
Existing Routers/Switches
Figure2 I2RS and other existing device interfaces
Forwarding and Control Element Separation)和应用层流 量优化工作组ALTO(Application-layer traffic optimization)
控制层
SDN 控制软件
网络服务
控制层主要负责处理数据转发面资源的抽象信息,可支持网络 拓扑、状态信息的汇总和维护,并基于应用的控制来调用不同 的转发面资源
控制/数据平面接口,例如OpenFlow
基础设施层
网络设备 网络设备 网络设备
网络设备
网络设备
ONF提供的SDN架构
1、OpenFlow协议制定和完善是目前ONF最高优先级的任务 2、 OpenFlow规范已发布多个版本,OpenFlow 2.0预计 2014年推出
2. 将网络价值向服务和软件转型,实现其向IT转型的战略意图 3. Open Daylight形成SDN系统和架构的事实标准,建立SDN生态链
Page 15
ONF和ODL的正面较量
ONF致力Openflow标准定义
董事会中只有互联网公司和运营商,没有设备厂商
应用 控制器 设备
APP
APP
APP
API
移动核心网VAS(增值业务系 统)随MBB流量↑,扩容压力大
2 提升骨干网带宽利用率
通过SDN集中管控机制实现全 局路由优化,提升带宽利用率
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、SDN是什么?
SDN(Software Defined Network)即软件定义网络,是一种网络设计理念。

网络硬件可以集中式软件管理,可编程化,控制转发层面分开,则可以认为这个网络是一个SDN网络。

SDN 不是一种具体的技术,不是一个具体的协议,而是一个思想,一个框架,只要符合控制和转发分离的思路就可以认为是SDN.
2、传统网络面临的问题?
1)传统网络部署和管理非常麻烦,网络厂商杂,设备类型多,设备数量多,命令行不一致2)流量全局可视化难
3)分布式架构中,当网络发生震荡时,网络收敛过程中,有可能出现冗余的路径通告信息4)网络流量的剧增,导致底层网络的体积膨胀、压力增大;网络体积越大的话,需要收敛的时间就越长
5)想自定义设备的转发策略,而不是网络设备里面的固定好的转发策略
-------->sdn网络可以解决的问题
3、SDN的框架是什么
SDN框架主要由,应用层,控制层,转发层组成。

其中应用层提供应用和服务(网管、安全、流控等服务),控制层提供统一的控制和管理(协议计算、策略下发、链路信息收集),转发层提供硬件设备(交换机、路由器、防火墙等)进行数据转发、
4、控制器
1)控制器概述
在整个SDN实现中,控制器在整个技术框架中最核心的地方控制层,作用是上接应用,下接设备。

在SDN的商业战争中,谁掌握了控制器,或者制定了控制器的标准,谁在产业链条中就最有发言权
2)控制器功能
南向功能支撑:通过openflow等南向接口技术,对网络设备进行管控,拓扑发现,表项下
发,策略指定等
北向功能:目前SDN技术中只有南向技术有标准文案和规范,而北向支持没有标准。

即便如此,控制器也需要对北向接口功能进行支持,REST API,SOAP,OSGI,这样才能够被上层的应用调用
东西向功能支持:分布式的控制器架构,多控制器之间如何进行选举、协同、主备切换等3)控制器的种类
目前市场上主要的控制器类型是:opendaylight (开发语言Java),Ryu(开发语言python), FloodLihgt(开发语言Java)等等
5、opendaylight(ODL)控制器介绍
ODL拥有一套模块化、可插拔灵活地控制平台作为核心,这个控制平台基于Java开发,理论上可以运行在任何支持Java的平台上,从Helium版本开始其官方文档推荐的最佳运行环境是最新的Linux(Ubuntu 12.04+)及JVM1.7+。

ODL控制器采用OSGi框架,OSGi框架是面向Java的动态模型系统,它实现了一个优雅、完整和动态的组件模型,应用程序(Bundle)无需重新引导可以被远程安装、启动、升级和卸载,通过OSGi捆绑可以灵活地加载代码与功能,实现功能隔离,解决了功能模块可扩展问题,同时方便功能模块的加载与协同工作。

自Helium版本开始使用Karaf架构,作为轻量级的OSGi架构,相较于早前版本的OSGi提升了交互体验和效率,当然其特性远不仅仅于此。

ODL控制平台引入了SAL(服务抽象层),SAL北向连接功能模块,以插件的形式为之提供底层设备服务,南向连接多种协议,屏蔽不同协议的差异性,为上层功能模块提供一致性服务,使得上层模块与下层模块之间的调用相互隔离。

SAL可自动适配底层不同设备,使开发者专注于业务应用的开发。

此外,ODL从Helium开始也逐渐完成了从AD-SAL(Application Driven Service Abstraction Layer)向MD-SAL(Model Driven Service Abstraction Layer)的演进工作,早前的AD-SAL,ODL控制平台采用了Infinispan技术,Infinispan是一个高扩展性、高可靠性、键值存储的分布式数据网格平台,选用Infinispan来实现数据的存储、查找及监听,用开源网格平台实现controller的集群。

MD-SAL架构中采用Akka实现分布式messageing。

6、ODL的总体框架
ODL控制器主要包括开放的北向API,控制器平面,以及南向接口和协议插件。

北向API 有OSGI和REST两类,同一地址空间应用使用OSGI类,而不同地址空间的应用则使用REST 类。

OSGI是有状态的连接,有注册机制,而rest是无状态链接。

上层应用程序利用这些北
向API获得网络智能信息、运行算法进行分析并且设计部署新的网络策略
控制器平台包括一系列功能模块,可动态组合提供不同服务。

其中主要包括拓扑管理、转发管理、主机监测、交换机管理等模块。

服务抽象层SAL是控制器模块化的核心,自动适配底层不同的设备,使开发者专注于业务应用的开发。

SAL北向连接功能模块,以插件的形式为之提供底层设备服务。

南向连接多种协议插件,屏蔽不同协议的差异性,为北向功能模块提供一致性服务,SAL起到中间调度作用。

7、ODL的版本信息
ODL的版本目前已发布了四个版本,按元素周期表元素进行命名。

四个版本分别是Hydrogen(氢)版本、Helium(氦)版本、Lithium(锂)、Beryllium(铍)。

Hydrogen(氢)版本分为三个版本:Base、Virtualization、Service Provider。

Helium(氦)版本有下列版本:Helium、Helium-SR1、Helium-SR1.1、Helium-SR2、Helium-SR3、Helium-SR4
Lithium(锂)版本Lithium-SR1、Lithium-SR2、Lithium-SR3、Lithium-SR4
Beryllium(铍)版本Beryllium,Beryllium-SR1
备注:SR:修正版或更新版,修正了正式版推出后发现的Bug。

8、ODL在设计的时候遵循了六个基本的架构原则
1)、运行时模块化和扩展化(Runtime Modularity and Extensibility):支持在控制器运行时进行服务的安装、删除和更新。

2)、多协议的南向支持(Multiprotocol Southbound):南向支持多种协议。

3)、服务抽象层(Service Abstraction Layer):南向多种协议对上提供统一的北向服务接口。

Hydrogen中全线采用AD-SAL,Helium版本AD-SAL和MD-SAL共存,Lithium和Beryllium中已基本使用MD-SAL架构。

4)、开放的可扩展北向API(Open Extensible Northbound API):提供可扩展的应用API,通过REST或者函数调用方式。

两者提供的功能要一致。

5)、支持多租户、切片(Support for Multitenancy/Slicing):允许网络在逻辑上(或物理上)划分成不同的切片或租户。

控制器的部分功能和模块可以管理指定切片。

控制器根据所管理的分片来呈现不同的控制观测面。

6)、一致性聚合(Consistent Clustering):提供细粒度复制的聚合和确保网络一致性的横向扩展(scale-out)。

9、什么是SAL?
1)SAL的全称为Service Abstraction Layer(服务抽象层),分为MD(Model-Driven)与AD(Application-Driven)两种。

SAL为整个OpenDaylight项目框架提供基础设施服务,包括了各种OpenDaylight开发需要用到的基础功能,类似于Linux内核。

AD-SAL与MD-SAL 并没有本质上的区别,只是API消费者与供应者之间的查询路由方式有所区别。

在AD-SAL 中,并没有使用Y ANG对相关请求与通知功能进行建模,而是直接静态地使用了Java APIs 进行路由与适配。

在MD-SAL方式中,首先需要使用YANG对南向插件需要实现的功能建行功能建模,再使用YangTools与Maven生成相关Java APIs,通过对模型的查询来动态地进行路由与适配
2)Ad-sal的工作机制
←北向Plugin可以通过调用AD-SAL的北向API来实现对南向Plugin的调用,操作其所管理的设备和服务。

AD-SAL中,抽象服务由南向和北向API实现,南北向API是一对一映射关系。

← 开发者在使用AD-SAL开发时需要考虑到下层协议Plugin对抽象层所提供的功能的支持程度
3)MD-SAL的工作机制(未看完)
学习中的难点:maven模块,yang tool工具,osgi模型。

相关文档
最新文档