OpenDaylight详细介绍

OpenDaylight详细介绍,第1张

OpenDaylight(ODL)是Linux基金会负责管理的开源项目,是一款使用JAVA开发的控制器,提供一套基于SDN开发的模块化、可扩展、可升级、支持多协议的控制器框架,目的是推动SDN技术的创新实施和透明化。

SDN(Software Defined Network)即软件定义网络,是一种网络设计理念,或者一种推倒重来的设计思想。DN的理念是将原来封闭在通用网络硬件的控制平面抽取、独立出来并软件化为SDN控制器,这个控制器如同网络的“大脑”控制网络中的所有设备,而原来的通用网络硬件只需要听从SDN控制器的命令进行“傻瓜式”转发就可以了。其简单模型如图所示:

SDN网络的三大技术特征:

ODL控制器项目架构大致如下:

ODL在设计的时候遵循了六个基本的架构原则(以下来自opendaylight官方文档):

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)。

1、OSGi框架

OSGi(Open Service Gateway Initiative,直译为“开放服务网关”),是一个以Java为技术平台的动态模块化规范。OSGi中规定如何定义一个模块以及模块之间如何交互,Java模块被称为Bundle,OSGi就是为了使Bundle能更好的被复用。基于OSGi的应用是由一个个Bundle组成的,这些Bundle通过OSGi组织在一起,形成了一个系统。

OSGI框架分层:

2、Bundle

OSGi如果说是Java的模块开发体系,Bundle就是模块。OSGi中每个Bundle都有自己的类加载器,支持包级别的类导入和类导出,Bundle通过配置MANIFEST.MF,可以控制从Bundle导出的包,而没有导出的包则在Bundle外部是无法访问的。这样就完成了内部包和外部包的隔离。

3、KARAF是Apache旗下的开源项目,同时也是一个基于OSGI的运行环境,可以用于部署各种组件和应用程序。

4、Maven是现在Java社区中最强大的项目管理和项目构建工具。

5、Netty:java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。OpenDaylight南向使用Netty来管理底层的并发IO。

6、Jersey:开源的RESTful框架,实现了JAX-RS (JSR 311 &JSR 339) 规范。OpenDaylight北向使用Jersey提供REST接口。

还有其他很多用到的技术就不一一介绍了,有兴趣的朋友可以去网上搜索一下。

课程名称

使用教材

备注

联网产业与技术导论

《物联网:技术、应用、标准与商业模式》,电子工业出版社,等教材。

在学完高等数学,物理,化学,通信原理,数字电路,计算机原理,程序设计原理等课程后开设本课程,全面了解物联网之RFID、M2M、传感网、两化融合等技术与应用。

C语言程序设计

《C语言程序设计》,清华大学出版社,等教材。

物联网涉及底层编程,C语言为必修课,同时需要了解OSGi,OPC,Silverlight等技术标准

Java程序设计

《Java语言程序设计教程》,机械工业出版社,等教材。

物联网应用层,服务器端集成技术,开放Java技术也是必修课,同时需要了解Eclipse,SWT, Flash, HTML5,SaaS等技术

无线传感网络概论

《无线传感器网络理论、技术与实现》,国防工业出版社,《短距离无线通讯入门与实战》北京航空航天大学出版社,等教材。

学习各种无线RF通讯技术与标准,Zigbee, 蓝牙,WiFi,GPRS,CDMA,3G, 4G, 5G,Mote等等

TCP/IP网络与协议

《TCP/IP网络与协议》,清华大学出版社,等教材。

TCP/IP以及OSI网络分层协议标准是所有有线和无线网络协议的基础,Socket编程技术也是基础技能,为必修课

嵌入式系统

《嵌入式系统技术教程》,人民邮电出版社等教材。

嵌入式系统是物联网感知层和通讯层重要技术,了解TinyOS等,为必修课

传感器技术概论

《传感器技术》,中国计量出版社,等教材。

物联网专业学生需要对传感器技术与发展,尤其是在应用中如何选用有所了解,但不一定需要了解传感器的设计与生产,对相关的材料科学,生物技术等有深入了解

RFID技术概论

《射频识别(RFID)技术原理与应用》,机械工业出版社,等教材。

RFID作为物联网主要技术之一,需要了解,它本身(与智能卡技术融合)可以是一个细分专业或行业,也可以是研究生专业选题方向。

工业信息化及现场总线技术

《现场总线技术及应用教程》,机械工业出版社,等教材。

工业信息化也是物联网主要应用领域,需要了解,它本身也可以是一个细分专业或行业,也可作为研究生专业选题方向。

M2M技术概论

《M2M: The Wireless Revolution》,TSTC Publishing,等教材。

本书是美国“Texas State Techinical College”推出的M2M专业教材,在美国首次提出了M2M专业教学大纲,M2M也是物联网主要领域,需要了解,建议直接用英文授课。

物联网软件、标准、与中间件技术

《中间件技术原理与应用》,清华大学出版社,《物联网:技术、应用、标准与商业模式》,电子工业出版社,等教材。

物联网产业发展的关键在于应用,软件是灵魂,中间件是产业化的基石,需要学习和了解,尤其是对毕业后有志于走向工业和企业界的学生。

作为一名物联网工程师需要会:

物联网

物联网产业与技术导论:了解物联网之RFID、M2M、传感网、两化融合等技术与应用。

物联网工程概论:全面了解物联网基本知识、技术体系以及相关理论,对物联网关键技术进行学习,如RFID技术、传感器技术、无线传感器网络技术、M2M技术等。同时应对与物联网密切相关的云计算、大数据、智能技术、安全技术也进行深入学习。

C语言程序设计:物联网涉及底层编程,C语言为必修课,同时需要了解OSGi,OPC,Silverlight等技术标准。

Java程序设计:Java技术建议重点学习和掌握。物联网应用层,服务器端集成技术, 也建议了解和学习。

单片机原理及应用:物联网的底层单片机及其相关应用技术,包括控制、多媒体等。建议重点学习。

无线传感网络概论:学习各种无线RF通讯技术与标准,Zigbee, 蓝牙, WiFi等等。

移动通信技术:学习目前主流移动通信技术标准的工作原理、网络架构、网元功能、业务流程等,例如LTE,5G等等。

蜂窝物联网技术:学习当前主流蜂窝物联网技术的工作原理和应用,例如NB-IoT,LoRa,Sigfox等等。建议重点学习。

TCP/IP网络与协议:TCP/IP以及OSI网络分层协议标准是所有有线和无线网络协议的基础,Socket编程技术也是基础技能。

嵌入式系统技术:嵌入式系统是物联网感知层和通讯层的重要技术。

传感器技术概论:物联网专业学生需要对传感器技术与发展,尤其是在应用中如何选用有所了解,但不一定需要了解传感器的设计与生产,对相关的材料科学,生物技术等有深入了解。

RFID技术概论:RFID作为物联网的主要技术之一,需要了解。

工业信息化及现场总线技术:工业信息化也是物联网主要应用领域,需要了解。

物联网软件、标准、与中间件技术:物联网产业发展的关键在于应用,软件是灵魂,中间件是产业化的基石,需要学习和了解。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8348468.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存