Opendaylight 学习文档 ---转载

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.5 Openflowplugin 功能及使用方法..........................................................................................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
5 Controller 代码分析 .....................................................................................39
5.1 代码目录 .............................................................................................................................40
5.2 收发包过程简介( packet service...................................................................................41
6 Opendaylight 重要技术及文档 ......................................................................44
1. 概述
1.1 Opendaylight 简介OpendaylightOpendaylight 官网)是 Linux 基金会的一个合作项目。 目前,
包括十二个项目,每一个项目都有自己的代码库(Opendaylight 项目列表)。这些
项目中与 openflow 相关的项目的有 controller openflowjava openflowplugin
目前, controller 仅支持 openflow 1.0 openflowplugin 是一个单独的项目,将来
它的 core 部分要集成到 controller 中,使 controller 支持 openflow 1.3 及以上的版
本。 Opendaylight 的厂商成员分为铂金成员,金牌成员和银牌成员。
1 Opendaylight 阵营Opendaylight controller 使用 java 编写,运行在 JVM 上,理论上来说可以部
署到任何支持 JAVA 的平台上,但是其官网文档推荐的最佳运行环境为最新的LinuxUbuntu 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-SALModel 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.01.3BGP-LS 等。这些模块被动态挂载到服务抽象层( SAL), SAL 为上层提供
服务,将来自上层的调用封装为适合底层网络设备的协议格式。控制器需要获取
底层设备功能、可达性等方面的信息,这些信息被存放在拓扑管理器( TopologyManager)中。其他的组件,包括 ARP handler Host TrackerDevice Manager
Switch Manager,则为 Topology Manager 生成拓扑数据。
控制器为应用( App)提供开放的北向 API。支持 OSGI 框架和双向的 REST
接口。 OSGI
框架提供给与控制器运行在同一地址空间的应用,而 REST API 则提供给运
行在不同地址空间的应用。所有的逻辑和算法都运行在应用中。 控制器自带了GUI,这个 GUI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值