如何基于SDNsdn开源控制器器开发APP

SDN开发报告_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
SDN开发报告
上传于||文档简介
&&S​D​N​网​络​,​o​p​e​n​f​l​o​w
大小:654.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢博客访问: 163535
博文数量: 25
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: IT职场
& & &&SDN落地,测试先行。足以说明测试在技术发展中起着举足轻重的作用。那么如何测试,测好,这就要求我们对有一个很深的认识,对的功能有一个全面的了解。本文将从发展背景及其核心架构开始,逐步分篇给大家介绍一下控制器相关技术,以及如何测试与评估控制器。
1&SDN产生的背景
& &&互联网作为人类历史上最重要的发明之一,自发明以来已经深入到了人类生活的各个方面,包括工作、学习和生活方式。到目前为止互联网已经成为世界上规模最大、覆盖范围最广的基础设施。但是,由于互联网的设计初衷并不是为了只是如此大规模的应用,其体系架构在可扩展性、安全性、移动性、服务质量保障等方面问题随着网络规模的增长逐渐凸显。针对当前的网络架构的种种问题,无论是采用渐进式或者颠覆式进行网络架构协议创新,其最大的问题在于无法进行现网大规模的验证。
& &&软件定义网络()概念为网络创建带来了新的契机,它最初是由美国斯坦福大学研究组提出的一种新型的网络架构,设计初衷是为了解决无法利用现有网络中的大规模真实流量和丰富应用进行试验,以便研究如何提高网络的速度、可靠性、能效和安全性等问题。其基本思想是把当前网络互连节点中决定报文如何转发的复杂控制逻辑从交换机路由器分离出来,以便通过软件编程实现硬件对数据转发规则的控制,最终达到对流量进行自由操控的目的。
2&SDN的基本架构
& &&SDN是一种新型的网络架构,它的设计理念是将网络的控制平面与数据转发平面进行分离,并实现可编程化控制。网络的架构定义如下:
& & & & & & & & & & & & & & & & & & & & &图&网络体系架构图
& & &其中,应用层包括各种不同的业务和应用;控制层主要负责处理数据平面自有的编排,维护网络拓扑,状态信息等;基础设施层(数据转发层)负责基于流表的数据处理、转发和状态收集。
3&SDN控制器&
& &&在的架构中,控制器可以说是的核心。它是连接底层交互设备与上层应用桥梁。一方面,控制器通过南向接口协议对底层网络交换设备进行集中管理,状态监测、转发决策以及处理和调度数据平面的流量;另一方面,控制器通过北向接口向上层应用开放多个层次的可编程能力,允许网络用户根据特定的应用场景灵活地制定各种网络策略。其层次化的体系架构如下图所示:
& & & & & & & & & & & & & & & & & & & & &图&控制器体系架构图
从实现上看,控制器设计主要分三个层面来考虑,南向接口技术,北向接口技术以及东西向的可扩展性能力。下面逐一描述。&
3.1&南向技术
&& &南向网络控制技术主要包括通过南向接口协议进行链路发现、拓扑管理、策略制定、表项下发等。链路发现和拓扑管理主要是控制器利用交换机上报的信息进行统一管理(上行),而策略制定和表项下发则是控制器向交换机发送控制信息从而实现统一控制(上行)。
&3.1.1&链路发现&
& & SDN控制器主要使用(,链路层发现协议)作为链路发现协议。该协议可将设备的能力、管理地址以及设备标识等一系列信息组织成一系列的&(),并将其封装为报文()发布给自己的直连邻居,邻居收到这些信息后会以()的形式保存,以供网络管理系统查询机判断链路的通信状况。而在架构中,发送数据包的工作由控制器来完成。如下图所示,控制器首先会发送一个消息向所有直连的交换机发送数据包,而交换机接收到数据包后,也会继续转发给它的邻居。普通的交换机可以直接处理并转发数据包,但对于交换机来说,一切操作都与流表相关,此时它会查询流表查找相关操作,匹配的流表项会通过一个&消息将数据包发送给控制器。而控制器接收到消息后,会对数据包进行分析并保存链路发现表中相关交换机的链接记录。
& &基于的链路发现只能对与控制器直连的交换机进行链路发现。对于存在非直连的交换机情况,直连的交换机在收到后还会发送一个广播包,非直连的交换机收到广播包后也会发送给控制器,从而达到链路发现的目的。&
3.1.2&拓扑管理
& &拓扑管理作用是为了随时监控和采集网络中交换机的信息,及时反馈网络的设备工作状态和链路链接状态。控制器一般通过发生消息来获取交换机的链路状态信息。
3.1.3&策略制定
& &策略需要针对特定的网络传输需求进行制定,控制器制定策略后会将相应的转发策略生成对应的流表项下发给交换机。的优势在于可以拥有全局的网络资源视图,更容易制定出更好的策略。&
3.1.4表项下发&
& &表项下发有主动和被动两种模式。主动的表项下发(静态)是指在传输数据前就下发了流表项,因此当数据包到达时,交换机就知道该如何转发了;被动的流表下发(动态)是指当交换机接收到第一个数据包时,因为不存在相关的流表项,会将数据包发送给控制器处理。当控制器确定了相应的处理方式后,就会将相关流表项下发到交换机,交换机在下一次就可以直接转发了。
3.2&北向技术
& &SDN北向接口是通过控制器向上层应用开放的接口,其目的是使得应用能够便利地调用底层的网络资源。通过北向接口,网络业务的开发者能以软件编程的形式调用各种网络资源同时上层的网络资源管理系统可以通过控制器的北向接口全局把控整个网络的资源状态,并对资源进行统一调度。因为北向接口是直接为业务应用服务的,因此其设计需要密切联系业务应用需求,具有多样化的特征。同时,北向接口的设计是否合理、便捷,以便能被业务应用广泛调用,会直接影响到控制器厂商的市场前景。
3.3&东西向扩展&
& &控制器负责整个网络的集中化控制,对于把握全网资源视图、改善网络资源交付都具有非常重要的作用。但控制能力的集中化,也意味着控制器的安全性和性能成为全网的瓶颈。另外,单一的控制器也无法应对跨多个地域的&网络问题,基于控制器组成的分布式集群,可以避免单一的控制器节点在可靠性、扩展性、性能方面的问题。&
& &如下图所示,采用分布式控制器的方式,每个控制器控制一定数量的交换机。而主控制器将汇总所有控制器的信息形成整个网络的全局视图。几个关键技术要点是:主控制器选举、集群虚拟地址(控制器间的负载均衡)、全网拓扑获取和控制器失效应对。
& &&通过对控制器基础知识的学习,基本能够确定控制器测试的大方向,后续将以南向、北向以及东西接口为主题,构建测试环境,仔细分析并测试控制器的各个功能及性能。
本文来源于,可点击此。如果您对本文感兴趣,可参与以下互动方式与作者近距离交流。
(1)&微博()
(2)微信账号:)
& & & & & &&
(3)&QQ群
&&SDN研究群()
& & & & & & &&&OpenDaylight研究群()
阅读(2553) | 评论(0) | 转发(0) |
下一篇:没有了
相关热门文章
给主人留下些什么吧!~~
请登录后评论。1 是模拟平台的选择,估计都是用MININET比较合适?2 一个说法是较轻量级的控制器较适合入门,而FloodLight的太庞大。另外是学习SDN的目的主要是为了科研和发论文,非开发,请推荐一款3 如果可以请比较一下最主流的几款控制器优势分别是什么?您认为哪个/些控制器最有潜力?比如从各种应用场合的应用价值,适合开发还是科研?
蟹妖1,模拟平台Mininet够用。另外就算不够用的话也好改。(参考: 思博伦的of test center用的mininet。标准测试层次的东西用Mininet话应该一般科研应该不会有什么担心吧?)2,推荐POX。代码简单,修改容易,目前是mininet的默认控制器(和Mininet一样都是Python写的)。选控制器还是看语言吧,怎么方便怎么来。另外,如果对C熟悉的话,NOX-classic也是个好选择。之前听传说,上交的人用Ryu...3,不了解各个控制器的优势,不敢瞎说。我觉得,从目前的情况看,控制器的潜力看厂商动向就够了(毕竟Network OS不是OS,没那么多闲的蛋疼的人开发)。相比之下,目前floodlight这个系列的控制器显然更受厂商青睐。【相关问题前两个都关于台球... 这是要闹哪样...
1. 模拟平台的话还是用 Mininet 最简单省事,进程级的所谓 Host 隔离,轻量易部署,快速搭建网络拓扑,还提供了Python 的 API&br&&br&当然如果你蛋疼的话,也可以跟我一样搭硬件平台,比如这样,用的是硬件组做的 SDN 交换机&br&&br&&img data-rawheight=&720& data-rawwidth=&960& src=&/47e89b32ad30754aeef390_b.jpg& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/47e89b32ad30754aeef390_r.jpg&&&br&&br&不过最近做的东西发现 Mininet 已经不够用了,因此在造轮子,目测是基于 OpenStack 和 Docker 之类的吧&br&&br&2. 控制器的话,之前的 NOX ,后来叫 NOX-classic 的已经被废弃了,不建议使用,剩下的我基本读过源码的主要有这么几个,Python 开发的 POX 和 Ryu,Ruby 和 C 混合开发的 Trema,Java 开发的 OpenDaylight,Floodlight,Maestro 和 Beacon&br&&br&从入门难度来讲,POX 不错,当然 Ryu 更加新一些,对协议的支持也更完善,社区也更活跃&br&&br&Trema 用 Ruby 和 C 混合来写的风格很奇怪,你可以看下它的源码和项目组织风格&br&&br&OpenDaylight 这玩意规模太太太太庞大了,我目测有 100 万行以上的代码,不推荐&br&&br&Floodlight 算是基于 Java 的控制器里比较好上手的了,代码规模比 ODL 小多了,如果用 Java 的话建议这个,不过这玩意坑也不少,最近项目上在用,整天帮 Floodlight 修 bug&br&&br&Maestro 之前是读 Paper 的时候遇到过,后来看了下源码,给我感觉就是个 PHD 个人作品的档次,代码规模极小,而且似乎 2011 年以后就没更新了?不推荐&br&&br&Beacon 的话也是 Paper 遇到的,当年应该是以高性能作为卖点,不过最近 ONOS 似乎后来居上了,根据 benchmark 来看,性能吊打 Beacon&br&&br&综上,Python 的话推荐 POX 或者 Ryu,更推荐 Ryu 一些,Java 的话就是 Floodlight 了
1. 模拟平台的话还是用 Mininet 最简单省事,进程级的所谓 Host 隔离,轻量易部署,快速搭建网络拓扑,还提供了Python 的 API 当然如果你蛋疼的话,也可以跟我一样搭硬件平台,比如这样,用的是硬件组做的 SDN 交换机 不过最近做的东西发现 Mininet 已经不…
既然邀请我来回答,我也简单说几句吧,我关注的是SDN整个技术的发展,技术太深入也不太懂,也不敢回答,对于3.据我了解的是1.思科有自己的SDN控制器,不对外开放,属于私有,但支持其他OpenFlow交换机,高富贵用户可以选择他们的整套解决方案,2.华为有自己的SDN控制器,系统叫OSP,很强大,完全对外开发,支持很多协议,同时华为也是ONF、opendaylight等等组织的会员,技术也很先进3.瞻博网络是有自己的控制器,它完全开放给了opendaylight,目前opendaylight已经出了第一个版本的系统,喜欢的可以下载试试,4.bigswitch和nicira一样都是初创厂商,不过nicira被收购了,bigswitch之前是参与了opendaylight,但后来opendaylight不想用它的系统,后来宣布退出了,我所熟悉的就是这几家,正如楼上这位说的你可以关注SDNAP网站,这个网站创建者跟我都很熟悉,我做的几个关于SDN专题在里面都有位置,图书推荐张卫峰写的那本,通俗易懂,希望帮到了你。
既然邀请我来回答,我也简单说几句吧,我关注的是SDN整个技术的发展,技术太深入也不太懂,也不敢回答,对于3.据我了解的是1.思科有自己的SDN控制器,不对外开放,属于私有,但支持其他OpenFlow交换机,高富贵用户可以选择他们的整套解决方案,2.华为有自己…
已有帐号?
无法登录?
社交帐号登录Opendaylight学习及开发初级教程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Opendaylight学习及开发初级教程
上传于||文档简介
&&o​p​e​n​d​a​y​l​i​g​h​t​ ​o​v​e​r​v​i​e​w
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩43页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢基于ONOS的T-SDN Super控制器_网易新闻
基于ONOS的T-SDN Super控制器
用微信扫码二维码
分享至好友和朋友圈
(原标题:基于ONOS的T-SDN Super控制器)
传送设备包含ROADM、OTN、MS-OTN等多种设备类型,有城域、骨干、移动回传、DC互联等多种应用场景,同时又涉及多种模拟传输技术和算法,譬如oDSP,这些都给传送网带来了太多的复杂性,需要全新的技术架构来更好地管控传送网。于是,T-SDN应运而生。
而在传送网SDN化的演进过程中,运营商必然会面临一个重要难题,就是现有的传统网络结构通常会部署3~5个不同厂家的光传送设备。这样的网络架构给运营商提供了冗余保护的能力,但当下各厂商设备之间的信息却无法直接互通,导致各厂商之间的管控系统相互封闭,给运营商带来了诸多运维问题,譬如跨域的专线业务开通时间长、网络故障定位困难等,这无法满足政企客户及OTT厂商业务快速开通的诉求。同时运营商的网络架构需要更加开放,用于支持第三方应用的快速集成,从而可以适应互联网多样化的业务诉求和快速的业务上线与创新。
如何做到更好的互联互通?各运营商均做过较多的技术研究和测试,譬如之前借E-NNI接口来实现网络互通,但目前仍没有达到商用程度。而SDN的出现找到了一个更好的解决方案来打破多厂家互通的壁垒,实现真正的多厂家端到端运营。
T-SDN单域控制器,主要将物理层的网元信息抽象,通过南向接口协议实时获取网络资源并给物理层数据处理提供控制指令,同时在网络拓扑资源发生改变时做出及时的调整以控制网络的正常运行。它主要负责单域光传送网络的集中管控。
T-SDN Super控制器,主要管理多个不同厂家的单域控制器,实现端到端的跨厂商业务发放,同时可以使上层协同层轻载,使第三方公司可以快速地开发协同层和应用层功能,更聚焦于上层业务应用,快速地开发更多的创新应用。Super控制器主要特征是:
——端到端资源抽象和管理以及资源视图查看,屏蔽各个厂商设备网元上的功能差异。
——跨厂商跨域端到端路径计算,Super控制器结合各个单域网络资源情况,集中控制统筹安排,可以计算出最优的网络路径,提升网络资源利用率。
——端到端业务发放以及策略管理等功能,基于Super控制器,运营商可以制定不同的业务策略,比如最优时延策略、最少跳数策略、最小距离策略以及最少经过域策略等,同时Super控制器可以基于全网视角,提供更优的全网业务保护。
T-SDN单域控制器和Super控制器主要区别是,前者主要完成域内算路、同层域内算路和设备配置;而后者主要完成同层跨域算路和跨层跨域算路。Super控制器,其核心就是通过使用标准化的南向开放接口,快捷简便地管控第三方SDN控制器,实现多厂商/多域组网场景下的端到端连接控制和管理。
T-SDN Super控制器主要目的是降低协同器的复杂性,让上层协同器更聚焦于业务的编排,从而降低协同层的开发难度,使运营商甚至第三方互联网公司可以快速地开发协同层和应用层功能,加快业务创新,促进业务快速上市。
本文来源:中国信息产业网-人民邮电报
责任编辑:王晓易_NE0011
用微信扫码二维码
分享至好友和朋友圈
加载更多新闻
热门产品:   
:        
:         
热门影院:
阅读下一篇
用微信扫描二维码
分享至好友和朋友圈

我要回帖

更多关于 sdn控制器有哪些 的文章

 

随机推荐