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
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.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.概述1.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+。
ONOS与OpenDaylight比较
ONOS与OpenDaylight比较目前以设备提供商为代表的OpenDaylight阵营目前发展势头正劲,而由斯坦福大学和加州大学伯克利分校SDN先驱创立的非营利性组织b也紧锣密鼓地推出了自己的开源SDN操作系统——ONOS。
此次打造的商业级的以用户为导向的ONOS开放网络操作系统是以服务提供商为首的,并且得到了开放网络基金会ONF的鼎力支持,意欲与OpenDaylight一决高下。
具体的性能究竟孰好孰坏还需要等待发布之后的评测,下面小编就从不同的方面比较一下这两个业界最知名的网络操作系统。
1. 驱动方式不同驱动方式不同ONOS白皮书中写道,一个操作系统应该具备下述功能:l 为用户管理有限的资源。
l 隔离和保护NOS用户。
需要操作系统能复用多个应用和多个设备。
l 提供一个可用的抽象层让用户灵活的使用操作系统所管理的服务和资源,并且无需了解网络的复杂性。
l 为外部操作系统提供安全保障。
l 提供敏捷高效的服务,那么用户就不需要创建、重建相同的服务。
这些都是网络应用所需要的。
通常控制器的所控制的范围十分局限,通常设置为控制一个设备。
ONOS具备一个操作系统所具备的所有功能,不仅仅是控制器的功能,例如可以提供高效敏捷的抽象层,能够将不同的控制器使用者隔离开来,能够提供有价值的服务等等。
ONOS是根据服务提供商的特点和需求进行软件架构设计的。
因此ONOS是需求驱动下的产物。
相比而言,目前围绕SDN的炒作更多的是来自设备供应商。
OpenDaylight是由思科和IBM 联合其合作伙伴,以及竞争对手建立的组织。
其初创成员包括:微软、Big Switch(已退出)、博科、思科、思杰、戴尔、爱立信、富士通、IBM、英特尔、瞻博网络、微软、NEC、惠普、红帽和VMware等。
我们可以看到这些成员都是设备供应商,和ONF不同的是OpenDaylight是由大厂商控制的并且削弱了用户的声音。
并且它还可能会出于利益问题将部分功能同设备锁定,这并不是SDN的初衷。
OpenDaylight应用指南
7 Top ol og y Processing Framework项目
7.3 拓扑聚合和拓扑过滤示 例
7.3.1 拓扑聚合示例——equality 7.3.2 拓扑聚合示例—— unification 7.3.3 拓扑过滤示例—— filtration
8 BGPCEP项目(BGP插件)
8.1 BGPCEP项目简介
3.2 安装与配置
3.2.1 安装运行 3.2.2 Mininet安装
3 OpenDaylight Controller项目
3.3 开发指南
3.3.1 环境准备 3.3.2 创建项目 3.3.3 加载组件 3.3.4 定义启动配置 3.3.5 定义数据模型
3 OpenDaylight Controller项目 3.3 开发指南
1.2.1 商用控制器 1.2.2 开源控制器 1.2.3 OpenDaylight控制器概述
2 OpenDaylight社区
2.1 OpenDaylight 社区介绍
2.1.1 OpenDaylight 开源社区 2.1.2 OpenDaylight 社区管理 2.1.3 OpenDaylight 社区运营
4.1.2 OpenDaylight中 的YANG
4.1.3 YANG语法
4 YANG To o l s 项 目
4.2 项目介绍
4.2.1 YANG Tools项目结构
4.2.2 YANG Tools的Java映射介 绍
4 YANG Tools项目
4.3 安装与运行
4.3.1 安装 4.3.2 配置 4.3.3 运行
2015
9.2 开发指南
9.2.1 PCEP插件实现 9.2.2 PCEP消息处理
OpenDaylight:以更开放的姿态融入中国
OpenDaylight:以更开放的姿态融入中国作者:暂无来源:《计算机世界》 2016年第16期随着用户对上网需求的增长,网络变得越来越重要,未来业界的创新将会聚焦于让网络变得更加开放、灵活、可编程。
而SDN 和NFV 已成为业界公认的变革网络的关键技术。
文宋辰对于企业来说, 通常存在着类似的两种技术使用模式, 一种由高层管理者决策自上而下执行, 另一种则是由对技术最了解的人员自下而上的说服高层管理者来应用。
旨在加速SDN 和NFV 采用的开源项目OpenDaylight 即属于第二种。
研究机构预测,到2020 年,SDN(软件定义网络)、NFV(网络功能虚拟化)及其他下一代网络计划(SDX 等)总市场价值将达到年1015 亿美元。
SDN 和NFV 要想获得成功必须拥有一个通用的平台,支持各种各样的终端、应用场景。
软件定义网络(Software DefinedNetwork, SDN) 最早由斯坦福大学cleanslate 研究组提出。
SDN 的核心是控制与承载相分离,实现网络开放,使流量可以被灵活控制,从而为上层的业务和应用提供更优化的服务。
这意味着,网络应用、网络操作系统、硬件可以来自不同的供应商,只要它们可以使用部署在白盒或“brite”盒上彼此约定的接口进行通信。
白盒交换机用的是现成的商用交换机芯片,里面含有开放的SDN 软件来运行网络应用程序。
NFV 用于实现虚拟网络功能,因此其可以运行在成本较低的硬件平台上,并且可以以自动化的方式提供服务。
虚拟化的网络功能(VNF)将像虚拟机一样运行在COTS平台上,并且通过编排工具来管理要执行(创建)的服务。
许多VNF 将由云来交付,从而最大化的利用资源;同时微服务和容器将帮助运营商打造创新的服务。
随着用户对上网需求的增长,网络变得越来越重要,未来业界的创新将会聚焦于让网络变得更加开放、灵活、可编程。
而SDN 和NFV 已成为业界公认的变革网络的关键技术。
以opendayplan写一篇英语作文
英文作文:Title: The Joy of Open Day at Our SchoolThe dawn of a crisp autumn morning heralded the annual Open Day at our esteemed institution, a day that not only showcased the vibrant academic life but also fostered a sense of community among students, parents, teachers, and the wider public. As the sun cast its golden rays over the sprawling campus, excitement brewed among everyone involved, eager to embark on this journey of discovery and celebration.The atmosphere was electric from the moment the gates flung open, welcoming a steady stream of visitors. Colorful banners fluttered in the breeze, adorned with slogans that echoed the spirit of learning and inclusivity. Guided tours led by enthusiastic student ambassadors weaved through classrooms, laboratories, and art studios, each space brimming with creativity and intellectual curiosity.In the classrooms, students demonstrated their projects with pride, ranging from intricate science experiments that illuminated the wonders of the natural world to captivating literary performances that transported audiences to far-off lands. The energy was palpable as teachers facilitated discussions, encouraging critical thinking and fostering a love for learning that transcended textbooks.The sports grounds came alive with the sounds of laughter and the thud of balls, as visitors joined in friendly matches or watched in awe as our athletic talents showcased their skills. The gymnasium echoed with the rhythm of dance performances, where students expressed themselves through the universal language of movement.The Open Day was also a platform for showcasing the diverse clubs and societies that enrich our school life. From robotics clubs tinkering with futuristic inventions to photography societies capturing life's fleeting moments, each group invited visitors to participate, fostering a sense of belonging and encouraging exploration beyond academic boundaries.As the day drew to a close, the sense of accomplishment and camaraderie was palpable. A grand finale concert brought together musicians, singers, and dancers from across the school, presenting a spectacle that united hearts and minds. The crowd, filled with pride and admiration, applauded fervently, a testament to the strength of our community and the magic that Open Day had woven.In conclusion, Open Day at our school was more than just an exhibition of achievements; it was a celebration of our shared values, a testament to the powerof education to bring people together, and a glimpse into the bright futures that lie ahead for our students.中文翻译:标题:学校开放日的欢乐在一个清爽的秋日清晨,我们学校迎来了一年一度的开放日,这一天不仅展示了学校活跃的学术氛围,还促进了学生、家长、教师以及更广泛社区之间的紧密联系。
open day英语作文不少于五句话
open day英语作文不少于五句话全文共6篇示例,供读者参考篇1Oh my gosh, Open Day was so much fun! We got to show our parents around our school and they got to see all the cool stuff we do every day.First, we went to the art room where we have painting and drawing classes. My mom was so impressed with my painting of a flower. She said it was the best one she's ever seen!Then, we went to the science lab where we did an experiment with bubbles. It was so cool to see them float up in the air. My dad even got to try it out and he made the biggest bubble ever!After that, we went to the library where we can borrow books to read. My dad loves to read so he was really happy to see all the different books they have. He even signed up for a library card!Overall, Open Day was a blast and I can't wait for next year's. It was so nice to show off my school to my parents and I'm proud to be a student here. I love my school!篇2Hey guys, guess what? Our school is having an open day soon and I can't wait to show everyone around! It's going to be so much fun.We get to show off all the cool stuff we do in class, like science experiments and art projects. I'm going to show everyone my favorite painting that I made last week.There will be games and activities for the visitors to participate in, like a scavenger hunt and a mini sports competition. I'm going to join the relay race and try to win a prize!I hope lots of people come to our open day so they can see how awesome our school is. I want them to know that we have the best teachers, the nicest friends, and the most fun learning environment.I'll definitely be wearing my school uniform and a big smile on open day. I can't wait to greet all the visitors and show them around. See you there!篇3Open day is super exciting! Yesterday, my school had an open day and it was so much fun. There were lots of activities and games for everyone to enjoy.Firstly, we had a tour of the school where we got to see all the classrooms and the sports facilities. I was amazed by how big the school actually is!Next, we watched some performances by the students. They sang, danced, and even did a really cool magic show. I was so impressed by their talents.After that, we got to participate in different workshops like painting, baking, and even science experiments. I made a really cool painting that I can hang up in my room.Lastly, there was a big barbecue where we all got to eat delicious food and talk to the teachers and other students. It was a great way to end the day.I had so much fun at the open day and I can't wait for next year's!篇4I went to the open day of our school last week, and it was so much fun! There were lots of activities to do and I got to meet the teachers and see the classrooms.First, we had a tour of the school and got to see all the different classrooms. The classrooms were colorful and full of interesting things like books, posters and art supplies.After the tour, we got to try out some of the fun activities that the school offers, like painting, playing games and even a mini science experiment. It was really cool to see how much we can learn and have fun at the same time.I also got to meet some of the teachers and they were all very nice and friendly. They showed us some of the projects that the students had done and told us about the different subjects they teach.Overall, the open day was a great experience and it made me even more excited to start school in the fall. I can't wait to learn new things, make friends and have fun at this school!篇5Open day is super fun! Our school had an open day last week and it was awesome! There were so many cool things to see and do.First, we got to show our parents around the school. We took them to our classrooms and showed them our desks and all the cool projects we've been working on. They were so impressed!Next, we went to the science lab and saw some cool experiments. We got to mix chemicals and make things bubble and fizz. It was so cool! My mom even got a little scared when the experiment made a big bang!After that, we went to the gym and watched a basketball game. It was so exciting! The players were so good and we cheered them on really loudly. We even got to try shooting some hoops ourselves.Finally, we went to the art room and saw all the beautiful paintings and sculptures the students had made. I was so proud to show my parents my own artwork hanging on the wall.I had so much fun at open day and I can't wait for the next one!篇6Open day is super awesome! It's like a special day at school when we get to show our parents and other people around. We get to show off all the cool things we've been learning and working on.I love open day because I can show my parents my desk and all the cool pictures and projects I've made. I even get to show them my favorite books that I've been reading in class.During open day, we also get to see what other classes have been up to. My friends and I love walking around the school and checking out all the different projects and artwork. It's so fun to see what everyone else has been working on.One of the best parts of open day is when we get to perform for our parents. Last year, my class did a dance routine and it was so much fun! I felt like a superstar dancing in front of my mom and dad.I can't wait for open day this year. I'm already thinking about what I want to show my parents and how I can impress them. Open day is the best day ever!。
云数据中心网络与SDN:技术架构与实现
云数据中⼼⽹络与SDN:技术架构与实现云数据中⼼⽹络与SDN:技术架构与实现技术审校本书赞誉1 云数据中⼼⽹络演进1.1 传统的3-Tier架构1.2 设备“多虚⼀”——虚拟机框1.2.1 Cisco VSS1.2.2 Juniper VC与H3C IRF1.3 ⾼级STP欺骗——跨设备链路聚合1.3.1 Cisco vPC1.3.2 Juniper MC-LAG和Arista M-LAG1.4 变⾰3-Tier——向Leaf-Spine演进1.5 初识⼤⼆层1.6 插叙——虚拟机的接⼊1.6.1 VEB1.6.2 Cisco VN-TAG1.6.3 VEPA1.6.4 VEB性能优化1.7 消除STP——Underlay L2MP1.7.1 TRILL1.7.2 SPB1.8 Cisco私有的⼤⼆层——FabricPath1.8.1 整体设计1.8.2 控制与转发过程分析1.8.3 其他技术细节1.9 Juniper私有的⼤⼆层——QFabric1.9.1 整体设计1.9.2 集中式的控制机制1.9.3 控制与转发过程分析1.10 Brocade私有的⼤⼆层——VCS1.10.1 整体设计1.10.2 控制与转发过程分析1.10.3 其他技术细节1.11 跨越数据中⼼的⼆层——DCI优化1.11.1 Cisco OTV1.11.2 HUAWEI EVN与H3C EVI1.12 端到端的⼆层——NVo3的崛起1.12.1 VxLAN1.12.2 NvGRE1.12.3 STT1.12.4 Geneve1.13 新时代的开启——SDN⼊场1.14 Overlay最新技术——EVPN1.14.1 传统⽹络对SDN的反击1.14.2 组⽹与数据模型1.14.3 控制信令的设计1.15 Underlay最新技术——Segment Routing1.15.1 SID与Label1.15.2 控制与转发机制1.15.3 SDN2.0?1.16 本章⼩结2 杂谈SDN2.1 SDN与传统⽹络——新概念下的⽼问题2.2 转控分离——⽩盒的曙光2.2.1 芯⽚级开放2.2.2 操作系统级开放2.2.3 应⽤级开放2.2.4 机箱级开放2.2.5 ⽩盒的“通”与“痛”2.3 ⽹络可编程——百家争鸣2.3.1 芯⽚可编程2.3.2 FIB可编程2.3.3 RIB可编程2.3.4 设备配置可编程2.3.5 设备OS和控制器可编程2.3.6 业务可编程2.4 集中式控制——与分布式的哲学之争2.4.1 在功能上找到平衡点2.4.2 在扩展性和可⽤性上找到平衡点2.5 回归软件本源——从N到D再到S2.5.1 模块管理2.5.2 模块间通信2.5.3 接⼝协议适配2.5.4 数据库2.5.5 集群与分布式2.5.6 容器与微服务2.6 本章⼩结3 SDDCN概述3.1 需求3.1.1 ⾃动化与集中式控制3.1.2 应⽤感知3.2 整体架构3.2.1 实现形态3.2.2 功能设计3.3 关键技术3.3.1 ⽹络边缘3.3.2 ⽹络传输3.3.3 服务链3.3.4 可视化3.3.5 安全3.3.6 ⾼可⽤3.4 本章⼩结4 商⽤SDDCN解决⽅案4.1 VMware NSX4.1.1 从NVP到NSX4.1.2 NVP控制平⾯设计4.1.3 NVP数据平⾯设计4.1.4 NVP转发过程分析4.1.5 NSX-V整体架构4.1.6 NSX-V管理平⾯设计4.1.7 NSX-V控制平⾯设计4.1.8 NSX-V数据平⾯设计4.1.9 NSX-V转发过程分析4.1.10 NSX-MH与NSX-T4.2 Cisco ACI4.2.1 整体架构4.2.2 管理与控制平⾯设计4.2.3 数据平⾯设计4.2.4 转发过程分析4.2.5 议ACI与SDN4.3 Cisco VTS4.3.1 整体架构4.3.2 管理与控制平⾯设计4.3.3 数据平⾯设计4.4 Juniper Contrail4.4.1 整体架构4.4.2 管理与控制平⾯设计4.4.3 数据平⾯设计4.4.4 转发过程分析4.5 Nuage VCS4.5.1 整体架构4.5.2 管理平⾯设计4.5.3 控制平⾯设计4.5.4 数据平⾯设计4.6 Arista EOS与CloudVison 4.6.1 整体架构4.6.2 管理与控制平⾯设计4.6.3 数据平⾯设计4.7 HUAWEI AC-DCN4.7.1 整体架构4.7.2 管理平⾯设计4.7.3 控制平⾯设计4.7.4 数据平⾯设计4.8 Bigswitch BCF与BMF 4.8.1 整体架构4.8.2 BCF控制平⾯设计4.8.3 BMF控制平⾯设计4.8.4 数据平⾯设计4.9 Midokura Midonet4.9.1 整体架构4.9.2 控制平⾯设计4.9.3 数据平⾯设计4.10 PLUMgrid ONS4.10.1 整体架构4.10.2 数据平⾯设计4.10.3 控制平⾯设计4.10.4 转发过程分析4.11 Plexxi Switch与Control 4.11.1 整体架构4.11.2 数据平⾯设计4.11.3 控制平⾯设计4.12 Pluribus4.12.1 Server Switch设计4.12.2 Netvisor设计4.12.3 再议数据中⼼SDN4.13 本章⼩结5 开源SDDCN:OpenStack Neutron的设计与实现5.1 ⽹络基础5.1.1 ⽹络结构与⽹络类型5.1.2 VLAN⽹络类型中流量的处理5.2 软件架构5.2.1 分布式组件5.2.2 Core Plugin与Service Plugin5.3 WSGI与RPC的实现5.3.1 Neutron Server的WSGI5.3.2 Neutron Plugin与Neutron Agent间的RPC5.4 虚拟机启动过程中⽹络的相关实现5.4.1 虚拟机的启动流程5.4.2 Nova请求Port资源5.4.3 Neutron⽣成Port资源5.4.4 Neutron将Port相关信息通知给DHCP Agent5.4.5 DHCP Agent将Port相关信息通知给DHCP Server5.4.6 Nova拉起虚拟机并通过相应的Port接⼊⽹络5.5 OVS Agent的实现5.5.1 ⽹桥的初始化5.5.2 使能RPC5.6 OVS Agent对Overlay L2的处理5.6.1 标准转发机制5.6.2 arp_responder5.6.3 l2_population5.7 OVS Agent对Overlay L3的处理5.7.1 标准转发机制5.7.2 DVR对东西向流量的处理5.7.3 DVR对南北向流量的处理5.8 Security-Group与FWaaS5.8.1 Neutron-Security-Group5.8.2 FWaaS v15.8.3 FWaaS v25.9 LBaaS5.9.1 LBaaS v15.9.2 LBaaS v25.9.3 Octavia5.10 TaaS5.11 SFC5.12 L2-Gateway5.13 Dynamic Routing5.14 VPNaaS5.15 Networking-BGPVPN与BagPipe5.15.1 Networking-BGPVPN5.15.2 BagPipe5.16 DragonFlow5.17 OVN5.18 本章⼩结6 开源SDDCN:OpenDaylight相关项⽬的设计与实现6.1 架构分析6.1.1 AD-SAL架构6.1.2 MD-SAL架构6.1.3 YANG和YANG-Tools6.1.4 MD-SAL的内部设计6.1.5 MD-SAL的集群机制6.1.6 其他6.2 OpenFlow的⽰例实现6.2.1 OF交换机的上线6.2.2 l2switch获得PacketIn6.2.3 l2switch下发PacketOut和FlowMod6.3 OpenStack Networking-ODL6.3.1 v16.3.2 v26.4 Neutron-Northbound的实现6.4.1 对接Networking-ODL6.4.2 RESTful请求的处理⽰例6.5 Netvirt简介6.5.1 OVSDB-Netvirt和VPNService的合并6.5.2 Genius6.6 Netvirt-OVSDB-Neutron的实现6.6.1 net-virt分⽀6.6.2 net-virt-providers分⽀6.7 Netvirt-VPNService的实现6.7.1 elanmanager6.7.2 vpnmanager6.8 SFC的实现6.8.1 sfc-openflow-renderer分⽀6.8.2 sfc-scf-openflow分⽀6.9 VTN Manager的实现6.9.1 neutron分⽀6.9.2 implementation分⽀6.10 本章⼩结7 开源SDDCN:ONOS相关项⽬的设计与实现7.1 架构分析7.1.1 分层架构7.1.2 分层架构的实现7.1.3 模块的开发7.1.4 分层架构存在的问题7.1.5 数据存储与集群7.1.6 其他7.2 OpenFlow的⽰例实现7.2.1 OF交换机的上线7.2.2 fwd获得PacketIn7.2.3 fwd下发PacketOut和FlowMod7.3 ONOSFW的实现7.3.1 vtnmgr分⽀7.3.2 sfcmgr分⽀7.4 SONA的实现7.4.1 openstacknode分⽀7.4.2 openstacknetworking分⽀7.5 CORD简介7.5.1 R-CORD的架构7.5.2 R-CORD的控制与转发机制7.6 本章⼩结8 学术界相关研究8.1 拓扑8.1.1 FatTree8.1.2 VL28.1.3 DCell8.1.4 FiConn8.1.5 BCube8.1.6 MDCube8.1.7 CamCube8.2 路由8.2.1 Seattle8.2.2 FatTree8.2.3 VL28.2.4 PortLand8.2.5 SecondNet8.2.6 SiBF8.2.7 SPAIN8.2.8 WCMP8.2.9 OF-based DLB8.2.10 Flowlet与CONGA 8.2.11 Hedera8.2.12 DevoFlow8.2.13 MicroTE8.2.14 Mahout8.2.15 F108.2.16 DDC8.2.17 SlickFlow8.2.18 COXCast8.2.19 Avalanche8.3 虚拟化8.3.1 NetLord8.3.2 FlowN8.3.3 FlowVisor8.3.4 ADVisor8.3.5 VeRTIGO8.3.6 OpenVirteX8.3.7 CoVisor8.4 服务链8.4.1 pSwitch8.4.2 FlowTags8.4.3 Simple8.4.4 StEERING8.4.5 OpenSCaaS8.4.6 SPFRI8.5 服务质量8.5.1 NetShare8.5.2 Seawall8.5.3 GateKeeper8.5.4 ElasticSwitch8.5.5 SecondNet8.5.6 Oktopus8.6 传输层优化8.6.1 MPTCP8.6.5 Fastpass8.6.6 OpenTCP8.6.7 vCC8.7 测量与分析8.7.1 Pingmesh8.7.2 OpenNetMon8.7.3 FlowSense8.7.4 Dream8.7.5 OpenSample8.7.6 Planck8.7.7 OpenSketch8.8 安全8.8.1 SOM8.8.2 FloodGuard8.8.3 TopoGuard8.8.4 FortNox8.8.5 AVANT GUARD8.8.6 OF-RHM8.8.7 Fresco8.9 ⾼可⽤8.9.1 ElastiCon8.9.2 Ravana8.9.3 BFD for OpenFlow8.9.4 In-Band Control Recovery8.9.5 OF-based SLB8.9.6 Anata8.9.7 Duet8.10 ⼤数据优化8.10.1 BASS8.10.2 OFScheduler8.10.3 Phurti8.10.4 Application-Aware Networking 8.10.5 CoFlow8.11 本章⼩结9 番外——容器⽹络9.1 容器⽹络概述9.2 容器⽹络模型9.2.1 接⼊⽅式9.2.2 跨主机通信9.2.3 通⽤数据模型9.3 Docker⽹络9.3.1 docker09.3.2 pipework9.3.3 libnetwork9.4 Kubernetes⽹络9.4.1 基于POD的组⽹模型9.4.2 Service VIP机制9.5 第三⽅组⽹⽅案9.5.1 Flannel9.5.2 Weave9.6 Neutron⽹络与容器的对接9.7 本章⼩结10 番外——异构⽹络与融合10.1 融合以太⽹基础10.1.1 PFC10.1.2 ETS10.1.3 QCN10.1.4 DCBX10.2 存储⽹络及其融合10.2.1 FC的协议栈10.2.2 FC的控制与转发机制10.2.3 FCoE的控制与转发机制10.2.4 昙花⼀现的SDSAN10.3 ⾼性能计算⽹络及其融合10.3.1 InfiniBand的协议栈10.3.2 InfiniBand的控制与转发机制10.3.3 RoCE与RoCEv210.4 本章⼩结思维导图防⽌博客图床图⽚失效,防⽌图⽚源站外链:)思维导图在线编辑链接:。
opendaylight集群工作原理
OpenDaylight是一个由Linux基金会管理的开源项目,它是一款使用JAVA开发的控制器,旨在推动SOpenDaylight是一个由Linux基金会管理的开源项目,它是一款使用JAVA 开发的控制器,旨在推动SDN(软件定义网络)技术的创新实施。
其核心工作原理是通过控制平面来管理和控制网络设备,使用户能够通过统一的接口进行网络管理和编程。
为了提高系统的高可用性和稳定性,OpenDaylight支持集群模式。
在集群模式下,多个OpenDaylight节点可以协同工作,形成一个统一的控制平面。
每个OpenDaylight节点都需要akka.conf配置,这是为了确保集群中的各个节点能够正常通信和协调。
例如,当一个节点出现故障时,其他节点可以迅速接管其工作,确保网络服务的连续性。
此外,OpenDaylight还支持多种协议,以满足不同网络环境的需求。
为了均衡每个控制器的主控范围,研究者们还设计了基于交换机MAC地址的Hash算法。
- 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,不过结构更复杂,从架构上避免了很多问题,不过也增加了学习成本。