Opendaylight学习文档qq#北邮-天依
目录
1.概述 (3)
1.1 Opendaylight简介 (3)
1.2本文档组织结构 (7)
2.感受Opendaylight (7)
2.1 环境搭建 (7)
2.2获取代码 (9)
2.3安装mininet (11)
2.4 controller使用及功能介绍 (11)
2.5Openflowplugin功能及使用方法 (14)
2.6 Hydrogen (16)
3 Maven和OSGI基础 (16)
3.1 Maven (16)
3.2 OSGI (20)
4 使用IDE (30)
4.1 使用Eclipse (31)
4.1.1 导入controller项目 (31)
4.2 使用Intellij idea (38)
5Controller代码分析 (39)
5.1 代码目录 (40)
5.2 收发包过程简介(packet service) (41)
6 Opendaylight重要技术及文档 (44)
1.概述
安卓开发教程 pdf1.1 Opendaylight简介
Opendaylight(Opendaylight)是Linux基金会的一个合作项目。目前,包括十二个项目,每一个项目都有自己的代码库(Opendaylight项目列表)。这些项目中与openflow相关的项目的有controller、openflowjava和openflowplugin,目前,controller仅支持openflow 1.0,openflowplugin是一个单独的项目,将来它的core部分要集成到controller中,使controller支持openflow 1.3及以上的版本。Opendaylight的厂商成员分为铂金成员,金牌成员和银牌成员。
图1 Opendaylight阵营
Opendaylight controller使用java编写,运行在JVM上,理论上来说可以部署到任何支持JA V A的平台上,但是其文档推荐的最佳运行环境为最新的Linux(Ubuntu 12.04+)及JVM 1.7+。OpenDaylight Controller提供了一个模块化的开放SDN控制器,它提供了开放的北向API(开放给应用的接口),同时南向支持多种包括openflow在内的多种SDN协议。底层支持混合模式的交换机和经典的Openflow交换机。
Open Daylight Controller在设计的时候遵循了六个基本的架构原则(以下来
自opendaylight官方文档):
●运行时模块化和扩展化(Runtime Modularity and Extensibility):支持在控
制器运行时进行服务的安装、删除和更新。
●多协议的南向支持(Multiprotocol Southbound):南向支持多种协议。
●服务抽象层(Service Abstraction Layer):南向多种协议对上提供统一的北
向服务接口。MD-SAL(Model Driven Service Abstraction Layer)是opendaylight 的一个主要feature。
●开放的可扩展北向API(Open Extensible Northbound API):提供可扩展的
应用API,通过REST或者函数调用方式。两者提供的功能要一致。
●支持多租户、切片(Support for Multitenancy/Slicing):允许网络在逻辑上
(或物理上)划分成不同的切片或租户。控制器的部分功能和模块可以管理指定切片。控制器根据所管理的分片来呈现不同的控制观测面。
●一致性聚合(Consistent Clustering):提供细粒度复制的聚合和确保网络
一致性的横向扩展(scale-out)。
Opendaylight controller的架构框架:
图2 Opendaylight controller架构
如图2所示,南向通过plugin的方式来支持多种协议,包括OpenFlow1.0、1.3,BGP-LS 等。这些模块被动态挂载到服务抽象层(SAL),SAL 为上层提供服务,将来自上层的调用封装为适合底层网络设备的协议格式。控制器需要获取底层设备功能、可达性等方面的信息,这些信息被存放在拓扑管理器(Topology Manager)中。其他的组件,包括ARP handler、Host Tracker、Device Manager 和Switch Manager,则为Topology Manager生成拓扑数据。
控制器为应用(App)提供开放的北向API。支持OSGI 框架和双向的REST 接口。OSGI
框架提供给与控制器运行在同一地址空间的应用,而REST API 则提供给运行在不同地址空间的应用。所有的逻辑和算法都运行在应用中。控制器自带了GUI,这个GUI 使用了跟应用同样的北向API,这些北向API 也可以被其他的应用调用。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论