您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 1-3-软件定义网络控制器及OpenvSwitch
2017.5.19软件定义网络控制器及OpenvSwitch目录1控制器核心技术2主流控制器介绍3OpenvSwitch概述4OpenvSwitch部署(操作)2实现了网络流量的灵活控制,使网络作为管道变得更加智能。32是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来一种新型网络创新架构1软件定义网络(SoftwareDefinedNetworking,SDN)SDN架构网络设备网络设备网络设备SDN控制器云管理平台SDN应用转发层控制层应用层南向接口北向接口3控制器总体架构状态报告OF交换机设备管理API本地NIB转发管理配置管理拓扑管理链接发现控制逻辑控制器集群管控全局NIB集群管理OpenFlow设备管理API本地NIB转发管理配置管理拓扑管理链接发现控制逻辑OpenFlow数据操作状态报告OF交换机数据操作状态报告OF交换机数据操作状态报告OF交换机数据操作业务应用API集群管理API控制器API集群管理API业务应用API控制器API3控制器层次化架构SDN控制器(n+1)层SDN控制器(n)层SDN控制器(n-1)层客户端(控制器)服务器(代理)客户端(控制器)服务器(代理)客户端(控制器)服务器(代理)I-CPII-CPII-CPID-CPI至数据平面(n-2)层A-CPI至应用平面(n)层D-CPI至数据平面(n-1)层A-CPI至应用平面(n+1)层D-CPI至数据平面(n)层A-CPI至应用平面(n+2)层相邻控制器层次间以CS模式交互扩展性好,模块化程度高:高层控制器具有更广阔的资源视角,支持更好的网络资源抽象能力提供系统安全性高:每个控制器层都可以有各自的信任域,可针对不同层次之间的引用点进行专门的安全强化4目录1控制器核心技术南向网络控制技术北向业务支撑技术东西向控制器扩展技术2主流控制器介绍3OpenvSwitch概述4OpenvSwitch部署(操作)控制器的网络控制技术主要包括通过南向接口协议进行链路发现、拓扑管理、策略制定、表项下发等–链路发现和拓扑管理:控制器利用南向接口的上行通道对底层交换设备上报信息进行统一监控和统计–策略制定和表项下发:控制器利用南向接口的下行通道对网络设备实施统一控制南向网络控制6链路发现获得SDN全网信息的关键,是实现网络地址学习、VLAN、路由转发等网络功能的必要基础–与传统网络链路发现由各个网元自主进行不同,SDN网络中的链路发现工作由控制器统一完成OF交换机直连链路的发现–LLDP协议OF交换机非直连链路的发现–广播OF交换机直连链路发现7AB拓扑管理随时监控和采集网络中SDN交换机的信息,及时反馈网络的设备工作状态和链路连接状态–控制器通过定时地发送包含有LLDP数据包的Packet_out消息给与其相连接的SDN交换机并根据反馈回来的Packet_in消息获知交换机信息,监测交换机工作状态,完成网络拓扑视图更新–当SDN网络规模较大时,该机制会导致较慢的收敛过程,影响网络情况的实时反馈;8策略制定交换机流表生成算法是影响控制器智能化水平的关键因素控制器需要针对不同网络层次的传输需求,制定相应的转发策略并生成对应的流表项传统网络SDN在各台设备的本地进行相关算法的执行,通常只能根据设备自身所掌握的有限的局部网络链接情况进行数据处理决策具有集中化管控的优势,控制器能够拥有全局的网络资源视图,因此更容易获得优化的算法执行结果,但是处理压力较重9表项下发控制器通过流表下发机制控制SDN交换机的数据包转发–主动(proactive)的流表下发是指在数据包到达OpenFlow交换机之前就进行流表设置。–被动(reactive)的流表下发是指当OpenFlow交换机接收到一个数据包并且没有发现与之匹配的流表项时,只能将其送给控制器处理。10目录1控制器核心技术南向网络控制技术北向业务支撑技术东西向控制器扩展技术2主流控制器介绍3OpenvSwitch概述4OpenvSwitch部署(操作)12北向业务支撑控制器的业务支撑主要是通过北向接口为上层业务应用以及资源管理系统提供灵活的网络资源抽象北向接口定义是当前SDN领域关注和争论的焦点之一13RESTAPI概述RESTAPI(RepresentationalStateTransferAPI)即表述性状态转移是当前网络用户容易接受的方式,成为北向接口主流REST两个基本概念:资源(Resource):将信息抽象为资源,任何能够命名的信息(包括数据和功能)都能作为一个资源。表述(Representation):一个资源当前或预期的状态。14RESTAPI设计原则–可寻址性强:用户感兴趣的所有资源,REST必须都能够寻址得到–接口无状态:寻址之间是互不相关的–注重关联性:每次寻址,需要返回所有关联的信息–接口要统一:为了更好的为开发者运用目录1控制器核心技术南向网络控制技术北向业务支撑技术东西向控制器扩展技术2主流控制器介绍3OpenvSwitch概述4OpenvSwitch部署(操作)16东西向控制器扩展通过控制器的东西向扩展,形成分布式集群,避免单一控制器可能存在的可靠性、扩展性、性能等方面的问题–SDN支持控制能力的集中化,使得控制器具有更大的责任–一旦控制器在性能或者安全性上不能得到有效保障,将导致整个SDN网络的服务能力降级甚至全网瘫痪–在组网架构方面,系统中单一的控制器无法应对跨越多个地域的SDN网络问题17基于控制器集群的SDN架构控制器的软件化使得服务器可以作为控制器的载体,控制器集群可以以服务器集群为基础进行搭建交换机交换机交换机交换机交换机交换机交换机交换机控制器控制器控制器控制器集群层OpenFlow协议集群通信层控制器软件控制器软件控制器软件控制器软件JGroups18控制器集群核心技术交换机交换机交换机交换机交换机交换机交换机交换机控制器控制器控制器控制器集群层OpenFlow协议集群通信层控制器软件控制器软件控制器软件控制器软件主控制器选举控制器失效应对全网拓扑获取集群虚拟地址19目录1控制器核心技术2主流控制器介绍3OpenvSwitch概述4OpenvSwitch部署(操作)20名称编程语言特征简介BeaconJava由Stanford大学开发,采用跨平台的模块化设计支持基于事件和线程化的操作FloodlightJava由BigSwitchNetworks开发,遵循Apache许可证,是企业级的OpenFlow控制器,脱胎于BeaconFlowERErlang由TravelpingGmbH个人开发,是基于Erlang语言实现的用于网络控制的软件平台JaxonJava由Tsukuba大学开发,依赖于NOX,提供了可将Java应用程序和NOX控制器相整合的接口MulC由Kulcloud开发,内核采用基于C语言实现的多线程架构,为应用提供了多各层次的北向接口NodeFlowJavascript由Cisco开发,基于Node.js的OpenFlow控制器,利用了GoogleV8引擎NOXC++/Python由Nicira开发,业界第一款OpenFlow控制器,是众多SDN研发项目的基础POXPython由Nicira开发,是NOX的纯Python实现版本,支持控制器原型功能的快速开发RyuPython由NTT开发,能够与OpenStack平台整合,具有丰富的控制器API,支持网络管控应用的创建TremaRuby/CNEC开发,具有模块化的框架主要开源控制器21NOX/POXNOX是Nicira使用Python开发的首个提供尽可能通用接口的SDN软件定义网络生态系统的控制器,也是用来构建网络控制应用的平台。POX是由斯坦福使用Python语言开发的基于OpenFlow的一种控制器,是NOX的兄弟,它具有能将交换机送上来的协议包交给指定软件模块的功能。22FloodlightBigSwitch主导开发,企业级的OF控制器REST应用Floodlight控制器OpenFlow服务StorageCircuitPusher(python)OpenStackQuantumPlugin(python)RESTAPIVNFFirewallStationFlowEntryPusherJavaAPIModuleManagerThreadPoolPacketStreamerJythonServerWebUIDeviceManagerTopologyManager/RoutingLinkDiscoveryFlowCache*MemoryUnitTestsNoSql*SwitchesControllerMemoryPerfMonTraceCounterStorePortDownReconciliationForwardingHubLearningSwitch23RyuNTT主导开发,支持逻辑上集中控制的SDN操作系统OpenStackQuantumHAwithZookeeperStatsVRRPOF-wireFirewallL2switchSnortEndpointNetconfOFRESTTopologyViewerCLITopologyOF-confOVSDBJSONsFlowNetFlowcomponentlibrarylegend24Ryu架构25ONOS与OpenDaylight比较1.驱动方式不同ONOS:ON.LAB、ONFODL:思科、IBM26非营利性组织ON.LAB推出的SDN控制器ONOS27OpenDaylight是由思科和IBM联合其合作伙伴,以及竞争对手建立的组织282.面向对象不同ONOS:运营商ODL:设备商3.架构不同29ONOS南向抽象层30ODL31ONOSvsODL北向接口层ONOS:将应用与网络细节隔离ODL:支持OSGi框架和双向的REST接口控制平面ONOS:分布式核心平台,可靠性高ODL:附加服务以插件形式加载,灵活性高32ONOSODL南向抽象层ONOS:由网络单元构成,分布式核心平台不需要知道底层设备的具体细节ODL:通过plugin的方式来支持多种协议,但并不是正确的抽象化,它暴露了设备的细节给应用程序33目录1控制器核心技术2主流控制器介绍3OpenFlowController和交换机工作流程4OpenvSwitch概述5OpenvSwitch部署(操作)34OpenvSwitch起源MartinCasado软件定义网络之父硅谷最炙手可热的“40under40”之一OpenFlow的发明人Nicira的创始人35OpenvSwitch提出的背景二十一世纪,x86体系架构统治数据中心服务器虚拟化技术发展云计算登上历史舞台只有服务器虚拟化远远不够(云计算的隔离性、弹性、动态迁移)网络虚拟化的可选方案更多网络领域的玩家更多,标准化组织林立从NIC到虚机的“最后一公里”问题控制权:硬件转移到了软件管理方式由手动转变为自动为基于x86的虚拟交换机的提出铺平了道路OpenVswitch几乎成为了开源虚拟交换机的事实标准36目录1控制器核心技术2主流控制器介绍3OpenFlowController和交换机工作流程4OpenvSwitch概述5OpenvSwitch部署(操作)Q&A谢谢
本文标题:1-3-软件定义网络控制器及OpenvSwitch
链接地址:https://www.777doc.com/doc-6010023 .html