opendaylight架构剖析ppt课件_第1页
opendaylight架构剖析ppt课件_第2页
opendaylight架构剖析ppt课件_第3页
opendaylight架构剖析ppt课件_第4页
opendaylight架构剖析ppt课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

opendaylight opendaylight 背景核心技术主要特色编译与使用Ad sal与Md salPacket处理 背景 SDN市场 未来应用为主 底层屏蔽 网络服务于应用 controller的争夺 由IT厂商发起的组织思科 IBM dell Redhat Vmware等主要为网络设备制造商 软件商 ONF由网络用户发起 成员都是网络设备用户 致力于标准化 openflow 而南向接口不仅仅是openflow SDNController协作开发 由各公司贡献project 打造统一开放的SDN平台 本质核心控制和转发分离 南向不需标准化 推动产业向前 需要标准化 但又不希望标准化 硬件 最初核心代码由思科和bigswitch 目标是打造一个网络操作系统 核心技术 OSGI一种面向服务的架构 将应用视为对等模块的相互协作 支持在控制器运行时进行服务的安装 删除和更新 Maven构建工具 能够帮我们自动化构建过程 从清理 编译 测试到生成报告 再到打包和部署 Infinispan实现集群Sal多种南向协议对上提供统一的北向服务接口 南向netty管理底层的并发IO北向Rest osgi 模块化定义了osgi模块的概念 并将之称为一个bundle 包含一个元数据的jar文件 其中元数据MANIFEST mf 由name value对组成 由类及相关资源组成 关注的是打包和共享代码 生命周期定义了osgi在框架中如何动态安装和管理 通过生命周期的操作 安装 更新 卸载等 动态地管理和改进应用程序 不需要重启应用程序 重点在于执行时模块管理和对底层osgi框架的访问 服务层面向服务 服务注册 查找等 接口与实现分离 osgi服务是java接口 模块内的组件间交互和通信 Maven 优秀的构建的工具 可以每个mavn项目中核心是pom xml 其定义了项目的基本信息 编译时就是使用了mavencleaninstall 一个重要插件maven bundle plugin在pom xml 可自动生成osgi中元数据 MANIFEST mf 设置如importpackage exportpackage 以及最重要的Bundle Activator 设置其bundle Project 协作开发 目前有很的project 20个左右 由各公司开发 目前发布了Hydrogen版本 主要涉及以下几个projectBaseOpendaylightController YANGTools OpenflowPluginVirtualizationAffinityDefense4All OpenDOVE OVSDB VTNSerivceProviderBGP LSandPCEP LISPFlowMapping SNMP4SDN下个版本为Helium InHydrogenRelease TheOpendaylightControllerConsistsOfTheFollowingModules AD SAL Api drivenServiceAbstractionLayerAD SALNetworkServiceFunctionsForOpenflow capableNodes SwitchManagerStatisticsManagerHostTrackerARPHandlerForwardingRulesManager FRM TopologyManagerClusteringAndHigh availabilityServicesForAD SALMD SAL Model drivenServiceAdaptationLayer ASetOfInfrastructureCommonAndGenericServicesForApplicationsAndPlugins Basically A Plumbing ThatConnectsApplicationsAndPluginsToEachOther Md salBaseNetworkFunctions TopologyExportersInventoryManagersMD SALNetworkServiceFunctionsForOpenflow capableNodes ForwardingRulesManager FRM StatisticsManagerMD SALNetconfConnector SouthboundNetconfPlugin MD SALRestconfConnector NorthboundRestconfPlugin AnInfrastructureComponentThatRendersRESTApisForDevice ServiceModelsLoadedIntoTheControllerConfigSubsystem Netconf YangBasedFrameworkForConfiguration PerformanceAndFaultManagementOfControllerInfrastructureAndPluginsDeployedIntoTheControllerNSFAdapters NetworkServiceFunctionAdapterThatAllowTheMD SALBasedOF1 0 1 3PluginToTalkWithAS SALBasedNetworkServiceFunctions 安装与使用 https wiki opendaylight org view release hydrogen base installation guideInstallingFromZiphttp nexus opendaylight org content repositories opendaylight release org opendaylight integration distributions base 0 1 1 distributions base 0 1 1 osgipackage zipInstallingFromRPMvirtualboximage下载源码 编译 编译与运行 搭建环境 Ubuntu12 04安装jdk maven 设置环境变量 eclipse 安装插件https wiki opendaylight org view opendaylight controller eclipse cli setup下载project openflowplugin controller gitclonehttps git opendaylight org gerrit p controller gitMvncleaninstallor DskipTests Dcheckstyle skip运行 run sh OpenDayLight中的bundles 核心基类 ComponentActivatorAbstractBase每个模块的bundle都要继承 Start context 启动方法 会遍历其所提供的实现 依次配置依赖关系 getGlobalImplementations 获取全局的实现类 其导出接口的实现类 getImplementations 获取容器相关的实现 ConfigureGlobalinstance c Imps i c是前面提到的ComponentconfigureInstance 在一个容器中配置实现的依赖关系 containerCreate StringcontainerName 配置Componet 里面说明了导出的接口和依赖的接口 最后放到dm及缓存中 会在ContainerMangaer的bundle启动中调用 CreateServiceDependency 生成服务依赖对象 需要被子类调用 在配置componet的依赖关系的时候需要用到 依赖管理 bundle的抽象基类 管理全局和容器相关的服务 当然bundle本身就是一个大服务 Container是OpenDaylight中的一个网络域 有很多链接信息 整个域网络信息等 由ContainerManager管理容器 而OSGI管理各个bundle 每个模块中有多个实现 其中通过DependencyManager管理其依赖关系 每个实现一个Component 每个Component就是一个服务 里面说明了导出的接口和依赖的接口 通过DependencyManager以component管理依赖 Sal 主要作用将服务抽象出来 不管控制器和网络设备之间使用何种协议 提供协约国的一服务 是odl的核心设计 支持多种南向协议 为各模块和应用提供一致的服务 这些服务的实现 是由底层插件 基于已存在的组件 如OF 和网络设备的功能 的所提供的接口 但是与SAL是松耦合的 具体将请求 映射到相应的插件 完成服务 所提供服务DataPacketServices为数据报文的处理 提供服务TopologyService为应用提供节点和链路的更新信息 Inventoryservice为如节点或者节点连接提供API查询FlowProgrammingService流编程服务Resourceservice资源服务 Sal dapacketService 首先OF组件收到APR 需要交到ARPHandler处理 将首先根据类型 调用IPOPS到SAL 交由SAL层Sal中的DataPacketservice实现了IPOPS其会通过dispacthPacket 方法 其会调用实现IListendatapacket的应用 依赖于实现些接口 会最后ARP实现了IListenDatapacket会将其送到ARPHandler处理 MD sal Md sal的主要功能是促进提供者和使用者之间的管道 它可以提供提供者和使用者之间的管道在不同的容器中 它将连接到一个消息总线和共享数据存储的集群opendaylight容器 南向与北向的一致性 提供者或消费者在md sal中注册 从而 一个消费者可以找到所需的供应商 提供者可以生成通知 消费者可以接收通知 并从提供者获取数据 插件sal角色 消费者或生产者 定义的sal中的数据是被移走或存储数据 提供者可以将数据存入sal的 一个消费者可以从sal读取数据 Md sal提供请求路由和基础设施服务 以支持服务 但它不提供服务本身 由插件提供服务 Yang使得Componet之间 plugin 北向等api 使得这种接口和ad salREST接口相比更抽象 符合模型驱动 MD 的思想 1 FPC注册RegistersWithTheMDSALForFlowConfigurationDataNotifications与OP AddFlow RPCimplementationwiththeSAL2 requestsaflowaddthroughtheController sRESTAPI3 theMD SALgeneratesa datachanged notificationtotheFlowProgrammerService4 usestheOFPlugingeneratedAPItocreatetheRPCinputparameterDTOfortheOFPlugin s AddFlow RPC5 MD SALwillroutetherequesttotheappropriateOFPlugin6 下发流表 与AD sal类似 Packet处理流程 PacketIn消息到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论