opendaylight Md-sal
SDN及ODL概括性总结

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+。
SDN课程大纲v0.8

掌握OpenDaylight的重点项目的架构设计和实践开发
3天
OpenFlow Plugin、OVSDB、NETCONF、BGPCEP、SFC、VTN项目测试验证
OpenDaylight实战开发
基于OpenDaylight的流量统计
基于OpenDaylight的网络虚拟化
基于OpenDaylight的多路径流量工程
掌握VLAN和VXLAN的基本概念和配置管理,以及SDN网络虚拟化的关键技术
2天
配置VLAN、VXLAN等网络虚拟化环境并进行测试验证
SDN实验床
GENI项目介绍
OFELIA项目介绍
C-LAB项目介绍
网络实验床关键技术
SDNLAB开放平台实例演示
掌握网络创新实验床最新进展和技术方案
2天
基于SDNLAB开放平台学习部署网络实验
基于OpenStack的业务流程管理Heat项目实践
基于OpenStack的数据采集Ceilometer项目实践
基于OpenStack的二次开发
掌握OpenStack的重要组件的核心架构及应用开发
3天
学习OpenStack的组件开发技术并进行二次开发实践
阶段六(8天)
(SDN开发进阶)
课程
内容
培训目标
结合OpenStack与OpenDaylight的开发实践
OpenStack与OpenDaylight集成环境搭建
基于ODL的虚拟机二三层通信
基于ODL的网络策略迁移
基于ODL的VXLAN生命周期管理
基于OpenStack的混合云VXLAN互联
掌握OpenStack与OpenDaylight结合的开发技术
云计算基础介绍
opendaylight框架分析

•Start方法中startImpl(context);然后新建一个ServiceTracker(BindAwareBroker).open后,后会追
踪服务;当有服务注册时,OSGI会触发addingservice();在本实现中,即BindAwareBroker这个在OSGI中 实现后,会通过context.getService(getService(servicereference(bindingawarebroker))得到 BindAwareBroker的实现,得到后会新建一个线程 ;onBrokerAvaiable(broker,context);AbstarctBrokerAwareConsumer 在这个方法中,完成Consumer的 注册,会broker.RegisterConsumer(this,cotext);
所提供服务
•Data Packet Services 为数据报文的处理,提供服务 •Topology Service为应用提供节点和链路的更新信息, •Inventory service为如节点或者节点连接提供API查询 •Flow Programming Service 流编程服务 •Resource service资源服务,
•在其实现中,会初始化这三种服务,并注入其实现,然后在为OSGI中注册; •然后在前面通过addingservice()中很到的getService(servicereference(bindingawarebroker));中得到其它注
册来的borker;得到后,会将Consumer注册到这个broker中,得到ConsumerContext,后调用各自Consumer的 onSessionInitialized(ConsumerContext);其中会通过getPrcService与getSALservice得到这三类服务;
H3CADWAN解决方案技术白皮书

H3CADWAN解决⽅案技术⽩⽪书1 前⾔1.1 传统⼴域⽹的问题长期以来,⼴域⽹主要负责各⽹络节点的互联互通,⽐如总部和分⽀之间,分⽀和分⽀之间,数据中⼼之间等,和业务应⽤属于两个独⽴的系统,基本上没有联系,更多的是作为业务系统的传输通道,实现业务流量的被动“承载”,但随着云计算、移动互联⽹等应⽤模式的发展和流量模型的改变,很多时候需要⽹络能主动“适应”业务流量,做到应⽤随需⽽变,但是由于⽬前的⽹络在管理上主要是⾯向设备⽽⾮业务的管理,视⾓上更多的是基于节点⽽⾮全局的视⾓,因此,产⽣了很多⽆法解决的问题:业务部署慢,上线周期长:l ⼴域⽹设备分散,业务开通时需要逐台部署,⼿⼯配置,部署⼯作量很⼤;l ⼴域⽹业务众多,配置复杂,⼿⼯配置容易出错,开通周期长;流量调度难,缺乏灵活性:l 由于缺乏整⽹视⾓,设备各⾃基于路由进⾏选路,选出来的是最短路径⽽⾮最优路径,带宽利⽤率低。
l 传统的策略路由和流量⼯程,局限性⼤,配置复杂,⽆法动态适应⽹络状态和应⽤需求的变化。
IT维护⼈员的运维体验很差:l ⽹络管理⼿段有限,⼿⼯为主,对IT维护⼈员的技能要求较⾼。
l 流量和业务⽆可视化呈现,造成故障⽆法快速识别和定位,运维难度⼤。
⽹络开放能⼒弱,⽆法适应业务对⽹络的要求:l 设备复杂,⽹络封闭,可编程能⼒弱,⽆法满⾜业务快速部署和灵活定制需求。
l ⽹络和应⽤静态绑定,⽆法有效联动,难以提⾼云计算应⽤体验。
图1 传统⼴域⽹问题1.2 云计算对⼴域⽹的需求随着云计算的快速发展和⼤规模部署,企业IT已经从传统的数据中⼼向云计算数据中⼼转型,在这个过程中,⽤户对应⽤的体验需求是不会变的,⽤户希望访问云应⽤,能像访问本地应⽤⼀样快,⼀样安全,但流量模型发⽣了根本改变,对⼴域⽹的需求也发⽣了很⼤改变,主要体现在以下⼏点:本地应⽤迁移到云端后,原来这些应⽤在本地运⾏,独享局域⽹带宽,现在变为云端运⾏,共享⼴域⽹带宽来进⾏数据交互,对⼴域⽹的带宽、承载能⼒、可扩展性、可靠性等都提出了更⾼的要求。
SDN环境部署与OpenDaylight开发入门

5 OpenDaylight综述
5.3 OpenDaylight的子项目简介
5.3.22 子项目Group Based Policy(GBP)/Project Facts(GBP项目)简介 5.3.23 子项目L2 Switch(L2层交换机项目)简介 5.3.24 子项目LACP(链接聚合控制协议项目)简介 5.3.25 子项目OF-CONFIG(OF-CONFIG项目)简介 5.3.26 子项目OpenDaylight DLUX(ODL的DLUX项 目)简介 5.3.27 子项目Service Function Chaining(服务功能 链项目)简介 5.3.28 子项目VTN(VTN项目)简介
4.8 POX控制器
4.11 博科的 Brocade SDN控制 器
4.9 Beacon控 制器
4.12 Maestro 控制器
4 现有SDN控制器简述
4.13 IRIS控 制器
4.14 Extreme公司 的OneController
控制器
4.15 本章总 结
4 现有SDN控制器简述
4.5 思科的APIห้องสมุดไป่ตู้控制器和Open SDN控制器
5 OpenDaylight综述
5.3 OpenDaylight的子项目简介
5.3.15 子项目FaaS(网络构造即服务项目)简介 5.3.16 子项目NeutronNorthbound(Neutron北向 项目)简介 5.3.17 子项目ALTO(应用层流量优化项目)简介 5.3.18 子项目CAPWAP(无线接入点的控制和提供)简 介 5.3.19 子项目Controller Core Functionality Tutorials(控制器核心功能向导项目)简介 5.3.20 子项目Controller Shield(控制器盾项目)简 介 5.3.21 子项目DIDM(设备认证和驱动管理项目)简介
欧倍青Open Sun Pilot日光浴机使用说明书

O p e n S u n P i l o tThe body section tanner uses 6 Ultra Performance high pressure units to ensure intensive tanning of the face and upper body. In addition, it is equipped with 2 hand tanners.The Extreme Power version uses 4 additional UV-B lamps to create a particularly long-lasting tan. In addition, the neck and back areas are tanned by 12 UV lamps in the transparent moulded seat.The comfortable seating position, broad hand rests and large footrests ensure a relaxed tanning session.The Open Sun Pilot is equipped with central body ventilation as well as standard AQUA SYSTEM & AROMA.In addition, the body section tanner can be equipped with the 3D sound system including MP3 dock input and SD card slot.The Open Sun Pilot is available in the "Sterling Silver" or "Bril-liant White" colour designs.Extreme PowerContentsDevice descripition. . . . . . . . . . . . . . . . . . . . . . . . . . . 2Technical data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Maximum exhaust pipe length. . . . . . . . . . . . . . . . . . 4Equipment cooling. . . . . . . . . . . . . . . . . . . . . . . . . . . 5Surround cooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Exhaust air accessories. . . . . . . . . . . . . . . . . . . . . . . 5Electrical connections . . . . . . . . . . . . . . . . . . . . . . . . 6Sound system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Air conditioner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6AQUA / AROMA SYSTEM. . . . . . . . . . . . . . . . . . . . . . 61.Facial tanner (UV high pressure lamps)2.Audio systemwith headphone connection andMP3-connection (optional)3.Backrest (acrylic glass panel)4.Shoulder tanner with integratedback tanner5.Nozzles AQUA / AROMA SYSTEM6.Adjustable air nozzle face cooling /AROMA7.Hand tanner (UV high pressure lamps)8.Infrared interface9.Ergonomic moulded seat10.Footrest with LED lighting11.Operating panel12.Central exhaust air socket (optional)13.Accent lighting14.Accent lightingDevice descripition Technical dataElectrical dataNominal power consumption:5600 W Nominal voltage:400 - 415 V 3N~ Nominal frequency:50 Hz Rated fusing: 3 x 16 A (time delay) Mains supply line (for example):H05VV-F 5G 4 mm2 orNominal voltage:230 – 240 V ~3 Nominal frequency:50 Hz Rated fusing: 3 x 35 A (time delay) Mains supply line (for example):H05VV-F 5G 6 mm2 Performance:Facial tannerUV high pressure lamps 6 x 700W Hand tannerUV high pressure lamps 2 x 250W Back tannerUV low pressure lamps12 x 40 W Noise emissionAcoustic pressure level:with exhaust system60.3 db (A) w/o exhaust system62.5 db (A) Inlet and exhaust airTemperature difference,supply/exhaust air:17 °C Max. air requirement:1000 cm³/h Opt. ambient temperature:25 - 30°C Max. ambient temperature:15 - 40°C Max. inlet air temperature:40°C Exhaust cross section w/o exhaustsystem:210 cm²Cabin inlet air cross section1850 cm²Warm air return:possibleO p e n S u n P i l o tDimensionsB 1320 mm B+1640 mm T (w/o sound system)1664 mm T+ (with sound system)1747 mm T11390 mm H 1700 mmH11665 mm H21500 mm H3520 mm BK 1800 mm TK2100 mmMaximum exhaust pipe lengthCalculation base (without additional ventilator): Back pressure100 PascalAir pressure100,000 Pascal Air temperature40 °C Density 1.112 kg/m3 Dynamic inertia of the air 1.92E-05 Pa x sCorrugated pipe∅Roughness(at centre)k absoluteFlow volume Loss coefficient90° bend in line(metal)Permissiblelength ofstraight linemm mm m³/h of pipe of bend pieces m250825000.1821)0.211)012 110 28 36Smooth pipe∅Roughness(at centre)k absoluteFlow volume Loss coefficient90° bend in line(metal)Permissiblelength ofstraight linemm mm m³/h of pipe of bend pieces m2500.125000.0611) 1)zeta value (ζ)0.211)036133229326O p e n S u n P i l o tAir is drawn in through filters fitted in each lamp element to cool the unit. The sucked air is fed past the heated UV lamps, flows through the two swivel arms and is then rout-ed through the central exhaust air connection on the rear of the tanner to the outside.The user's body is cooled by connectible air nozzles fitted on the canopy of the body section tanner.The cabin or studio air is drawn in and deflected onto the face and upper body of the user seated underneath. The air nozzles can be adjusted manually.Connection to a central exhaust system is possible upwards and to the rear.The aperture intended for this purpose is located at the central exhaust air bracket.Adequate ventilation of the equipment is possible up to an exhaust air hose length of 12 meters (without 90° bend). For exhaust air hose lengths greater than 12 meters, you will require an additional fan.Equipment coolingSurround coolingExhaust air accessoriesItem Accessory partsArticle No.Notes1Central exhaust air bracket, without warm air recy-cling (∅ 250 mm)100001640with tube adapter (see item 6) connection to a corrugated pipe of ∅ 300 mm is possibleCentral exhaust air bracket, with warm air recycling (∅ 250 mm)1000016412Connector bracket for corrugated pipe (∅250 mm)34503500Connection of the corrugated pipe, e.g. to a canal 3Corrugated pipe (∅ 250 mm, 6 m length, flexible, grey) including 2 hose clips34502800–4Corrugated pipe connector piece (∅ 250 mm)34506700for connecting two pipes590° tube bend for exhaust air connection, upwards 34521900Installation angle can be offset by 45°6Tube adapter (∅ 250 mm to ∅ 300 mm)34522000–Electrical connectionsMains supply line includedElectr. control line noneLine for external music and channel selection noneSound systemDescription:Article No.NotesSound system100001639optionalControlsControl Article No.NotesMCS III plus hand-held remote control500000456With chip card terminalMCS IV plus34010400With electronic coin testerMCS VI34009700With electronic coin tester + chip card terminal Air conditionerNo air conditioner can be supplied with this device model.AQUA / AROMA SYSTEMStandard equipment: Scent and body cooling for the user.。
OpenDaylight开发基础

基本节点类型
grouping: 定义树形结构的“暂时”树干 container:没有值,但包含一系列的子节点 list:定义了一组具有相同数据结构的数据,在json格式的实例中是一个 数组,在xml格式的实例中是一系列名称和结构相同的xml节点 。List 中的各个元素之间通过key来唯一标识;例如nodes leaf:用来定义属性值,如name,ID等。有值,但不包含任何子节点 leaf-list:兼具leaf和list的特点,定义了一组相同类型的值。不包含子节 点。在json格式实例中是一个数组且数组中每个元素都是一个值,在 xml格式的实例中是一系列名称相同值不同的xml节点
OpenDaylight架构框架
https:///view/OpenDaylight_Controller :Architectural_Framework#Service_Abstraction_Layer
OpenDaylight Hydrogen技术架构
与grouping类似,type也可以一处定义多处使用。
https:///view/YANG_Tools:YANG_to_Java_Mapping
rpc: Remote Procedure Call
rpc:用于定义netconf的一 个rpc操作。它可能包含 input和output子节点,分别 是该rpc操作所需要的输入和 输出数据结构。若没有则表 明该操作不需要输入数据或 者没有输出数据。
https:///html/rfc6020 /twiki/bin/view/Main/YangDocuments
YANG,NETCONF,RESTCONF
Network Configuration Protocol (NETCONF)是由IETF标准化的一个网络管理协议, 它提供了添加,修改,以及删除网络设备配置的机制。 RESTCONF是web应用通过http协议获取和操作使用YANG定义的网络资源信息协 议。应用和网络设备之间通过REST-like API进行交互。
OpenDaylight控制器Beryllium版本性能测试报告

集群模式 集群模式下,3 个 OpenDaylight 控制器均可以同时连接 1000 个交换机。同样测试了不同交换机节点数 的集群中各个控制器的内存占用情况,如下图所示。从测试结果可以看到,集群模式下每个控制器的内存 占用相差不大。相比于单点模式,集群模式下 OpenDaylight 控制器内存占用相对减少。
单点模式是指只启动一个 OpenDaylight 控制器实例进行测试,下同。
2
Global SDN Certified Testing Center
本测试例中,设置 ODL 安装了 odl-openflowplugin-all 和 odl-l2switch-all 两个插件。在不设置交换机 拓扑结构的情况下,OpenDaylight 控制器可以同时连接 1000 个交换机。在上图中可以看到不同交换机节 点数时 OpenDaylight 控制器占用内存情况(ODL 安装上述的两个组件后内存占用 1500M),不同交换 机数量下 ODL 所占用的总内存相差不大。
结果请参见下图:
3
Global SDN Certified Testing Center
3.2 拓扑发现时间测试 • 测试目的 测试控制器对不同交换机数量、不同类型的拓扑结构发现时间。 • 测试方法 本测试中,测试工具将模拟一定数量的交换机,并且交换机之间互相连接形成一定的网络拓扑结构,测
试待测控制器完全发现此拓扑结构所用的时间,具体测试步骤如下: 1. 启动待测控制器; 2. 启动测试工具,启动时只设置交换机数量而不设置拓扑结构; 3. 待交换机与控制器的连接稳定后使用 set-topo 命令设定拓扑(支持预先定义的 linear/ring/fullmesh/leaf-spine 结构,也可自定义拓扑结构); 4. 测试工具记录控制器下发的第一个 LLDP 消息的时间,并依照流表内容响应该消息; 5. 测试工具记录最后一条 LLDP 消息上送控制器的时间; 6. 使用 show-result 命令查看测试结果; 7. 改变交换机数量并设置相同的拓扑结构进行迭代测试; 8. 不改变交换机数量但改变拓扑结构进行迭代测试; 9. 进行 5 次测试得到平均测试结果。 • 测试工具要求 1. 测试工具可以模拟大量 OpenFlow 1.3 交换机,并与控制器建立连接; 2. 测试工具可以响应全部相关 OpenFlow 1.3 协议消息(Hello,Echo,feature_request etc); 3. 测试工具可以随时监测控制通道活性; 4. 测试工具可以创建不同的网络拓扑结构; 5. 测试工具可以解析 Packet_out 消息,以便提取其中的 LLDP 消息; 6. 测试工具可以解析 LLDP 拓扑发现消息,以便给出对应的响应; 4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Md-sal中
How To Look Up Data In MD-SAL –Helium Version Posted by Kanika
Previously I wrote how to look up data in MD-SAL data store but that holds good
only for OpenDaylight’s Hydrogen release. In OpenDaylight’s Helium release, data broker API’s have been changed. Here is how you can look up data in MD-SAL data store if you are using OpenDaylight’s Helium v ersion. Note that you also have to switch your OSGI bundle to be config subsytem aware before you can start using
new DataBroker service.
import mon.base.Optional;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import mon.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction ;
...
...
//Look up all the nodes from MD-SAL operational data store
InstanceIdentifier<Nodes> nodesIdentifier = InstanceIdentifier.builder().node(Nodes.class).toInstance();
Optional<Nodes> nodes= null;
try {
nodes= readTx.read(LogicalDatastoreType.OPERATIONAL, nodesIdentifier).get();
List<Node> nodeList = nodes.getNode();
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
How To Insert Data In MD-SAL Data Store – Helium Version
Posted by Kanika
Previously I wrote how to insert data in MD-SAL data store but that holds good only for OpenDaylight’s Hydrogen release. In OpenDaylight’s Helium release, data broker API’s have been changed. Here is how you can insert data in MD-SAL data store if
you are using OpenDaylight’s Helium version. Note that you als o have to switch your
OSGI bundle to be config subsytem aware before you can start using new DataBroker service.
AD-SAL与MD-SAL的比较
AD-SAL
主要功能:定义抽象服务,吸收南向协议的差异,提供统一的抽象服务和API,并提供相应的Request Routing。
北向的Plugin可以通过调用AD-SAL提供的北向API来实现对南向Plugin的调用,操作其管理的设备和服务。
在AD-SAL中,抽象服务由南向和北向API实现,南北向API是一对一的映射关系。
这种架构比较好理解,也很常用。
而开发者在开发过程中,要充分考虑下层协议和Plugin 对服务抽象层提供的服务的支持程度。
这里写图片描述
MD-SAL
功能:提供Request Routing和用来定义抽象服务和相应API的基础框架。
管理基于Yang Model定义的各种Plugin。
需要说明的是,抽象服务和相应API严格的说是由各个Plugin通过yang model
和service来定义,而不是由MD-SAL定义。
这里会引出Yang Tools Plugin这样一个神器,他通过各个Plugin的model 用这些Sevice Interface实现具体的API和服务内容。
Plugin通过MD-SAL和生成的API(RPC,Notification)、DataStore 去利用其他各个Plugin的服务和数据。
其实在这个架构中,所有功能模块的信息交互、数据存储调用都是通过MD-SAL来完成。
简单的解释MD-SAL 的主要功能就是管理基于Yang Model定义的各种Plugin。
二者比较
在AD-SAL中,南北向API是1:1的对应关系,同一API无法被复用。
所有南北向Plugin的功能都需要定义相应的AD-SAL API来承载,造成AD-SAL模块会更加庞大、实现更为复杂、维护困难性增加。
而MD-SAL加入了自动化的思路,所有模块的通信都要经过MD- SAL,不过结构更复杂,从架构上避免了很多问题,不过也增加了学习成本。