@ fnii.cn

登录邮箱

陈翔 神州数码对SDN的思考和实践

发表日期:2014年12月09日      共浏览 1059 次      编辑:

谢谢主办方给大家提供了这么好的平台,来进行SDN相关问题的讨论和探讨。我觉得特别感谢在座的各位,通常一个论坛一个会议开到第二天,尤其开到第二天下午,我觉得参会的,尤其是听众,我觉得比演讲人应该是更疲惫,因为演讲人讲完一场就休息了,听众不行,一场接一场,信息量都特别大,但我们被排到第二天下午的时候我觉得压力挺大的。大家都在埋头看手机,我希望我演讲内容有一些跟以前讲的嘉宾不一样的内容观点,尽量希望让大家听完之后有点收获。

首先我们来分析一下,一些方法论方面的东西。一般大家是搞科学研究也好,或者说办一个企业也好,希望能够找到一些成功的方法,通常情况下,一般来说可能会自己去摸索,还有一种就是借鉴一下人家成功的经验,人家是怎么成功的,能不能有一些方式可以进行克隆,进行复制。我们纵观这么多年来,在计算领域是有一套非常成功的方法,是什么呢?实际上就是我们现在在边上画的这张图,这个图特别像一个细腰型结构,前两天一些嘉宾演讲的时候也讲过,这种哑铃型的结构。这种结构是计算领域成功非常关键的要素,对上是一个开放的接口,对下也是一个非常开放的接口,采用这种哑铃型以后,从最早的IBM小型机,当时市场容量不是很大,用的人很少,是一个全封闭的体系,是从linux和X86打破以后,就变成了水平分割。代表对上对下都是开放的,自从开放以后整个计算领域是获得了非常非常快速的发展,现在来讲X86的服务器和PC都是大行其道。为什么大家提出SDN这个概念呢?从方法论的角度上来讲,也是想复制计算这套比较成功的模型,也就是说能不能也采用这种哑铃型的结构,把以前网络相对于比较封闭的体系打破。现在SDN、ONF主推的把控制器从网络里面抽象出来,就是试图做这方面的一些努力。想克隆在计算领域比较成功的模式,目前从网络领域的控制器的平面发展来看,现在有些开源,有自己一个新的开源的系统,ON、OS,其他的厂商也有自己的一些私有的这种实现,目前来讲其实在这个平台上的这种竞争,应该是非常非常激烈。目前来看鹿死谁手还不好说,我觉得从长期目前的情况来看,我认为这种开源系统,可能这个生命力会更强一些。这种体系下对原有设备厂商利益会有影响,设备本身的功能跟智能被降低了,有一部分的控制平面被抽到控制器上,对用户的扩展,会变得更多了。下面我们再来看第二个。

看看云计算领域的成功。云计算领域的成功,我认为是离不开两个特别关键的要素的,是什么呢?这里头有两个特别关键的组建,一个是linux,一个是openstk,网络控制器可以等同于云计算方面的openstk(音),我认为应该就是说未来整个网络的操作系统,应该呈现出一个非常标准的linux化的情况,只有说在整个网络设备的操作系统变成linux才能加速SDN产业发展,这也是一个非常关键成功的要素。大家其实都知道ONF最近这一两年在标准化工作里面都做了非常多标准化的工作。但其实为什么标准化的工作落地目前看起来不是那么容易呢?比如说举一个简单的例子,在openflow1.3的标准体系里面有OF进行网络计算机进行配置的标准体系,现在实现的人是非常少的,各个厂商不见得那么快的跟上。设想一下,如果我们有一个比较开放一点linux的系统,我们在开源社区里面应该有很多人可以实现。一个linux的INS在里面的处境是非常关键的要素。

NOS真的形成了以后是什么样的生态或者目前什么样的情况呢?这是我简单画的图,在目前整个开源社区,对linux已经有了一些探索,有些公司都已经在做这方面的事情了,我们从一步一步从下面往上看,ONIE这个组件可以驱动任何的操作系统,不论是基于linux还是其他的厂商,我们有一块比较好的东西。其实OCP脸书做了一个开放的交换机体系,他是定义了交换机的设计规范。交换机如果大家拆开来看,其实是非常非常简单的一件事情。从市场上抓来一些CPU主板都是现成的,买一些显卡一插就行了。未来的网络设备有没有可能是这种形态呢?OPC在定规范方面,已经走出了非常好的一步,实际上网络板型设计也是非常简单,通过PCIE的接口进行连接,整个核心功能是由交换机上的软件来实现的,OCP做的是什么呢?你用什么样的交换芯片,你用什么样的CPU,你的电源功耗应该怎么设计,总而言之定义了,包括电源功耗LED灯,风扇怎么怎么设计都定义了。这么定义好一切的目的,最后达到一个什么目的呢?任何人的软件都可以。比如说有两个开发商都有基于OCP的板子,开发规范做完之后,可能有很多家硬件的代工厂做出来的交换机,不同的软件开发上,可以把你的软件无缝放到其他各个硬件开发商做的板子上,从这个层面上实现了软件和硬件无缝的切割。

整个OCPW方面已经做的非常好了。再往上我们就是一个标准的linux内核了,因为linux现在生命力是非常顽强,而且为云计算做出了非常大的计算。如果能够把它的影响力持续耕耘到网络设备上来讲,整个生命力更强,也会加速推动openOS的发展。接下来还有一个关键的层次就是HAL,我们定义叫硬件抽象层,设计是很关键的。为什么思科能赚这么多钱,它的软件在中国市场上,华为能赚那么多钱,为什么赚那么多钱,大家随便拿一个linux在网络上跑,跑不通,缺什么东西呢?最主要就是缺这个HAL,硬件抽象层,干什么东西呢?整个交换机芯片转发平面,转发平面是按照那个里头的一些流表,或者一些计储器的设计在工作,就是把路由规则,二层的规则进行翻译之后,下到相应的芯片里面去,是做了这么一个转换的翻译。目前在这一部分来讲还没有开源社区的实现,我觉得不久的将来应该会有这样的一些东西在,开源的社区实现。接下来还有网络交换机里面不可或缺就是一个路由的协议站,开源协议站已经做的相对比较成熟跟稳定。而且这个里头也得到了开源社区大力的支持。在二层的协议站里面,目前零零碎碎也都有一些,只是功能还做的不是特别完善。但是我觉得如果说真的开源社区厂商在里头能够推动的话,也不是特别大的问题。接下来就是像ONF,对OVSD的支持,目前来讲都是有一些开源的实现,接下来是关于SDN编排的东西。再往上对于网管,自动化的运维,目前是如日中天云计算的软件,目前linux做的很好。简简单单的画出这么一套架构图,其实我觉得在这里头目前来讲,形成一个OpenNOS70、80%的框架就可以搭起来了,我们需要填的空白点已经不多了,还有一个特别令人兴奋的事情,就是应该在这个区域。现在随着X86CPU价格包括功耗上的解决,很多网络设备可以选用X86,意味着什么呢?就是X86的CPU可以充分利用linux的虚机包括容器这些功能,可以把用户托管的一些应用。用户来讲,你就是可以认为你在一个linux系统上对网络界面进行开发,回到我们刚才的问题,没有厂商支持没关系,我们有用户托管应用我可以自己组织开源社区,就可以在一个平台上跑了。托管应用有什么好处,如果能跑在KVM上面的话,我们认为这些是比较成熟开源,你的稳定性上面有一定的差异,如果用虚机有一个稳定性得到一定的保证,你再怎么样也不会毁坏整个系统。这是未来网络的一个发展的方向。

现在看一下SDN的现状,目前来讲SDN突破的大规模应用可能是数据中心的场景,SDN定向北向的接口主要是API为主,ONF今年已经启动了北向标准组,还没有发布标准。如果我们有开源的东西,你没有准也没关系,你自己完全是可以在开源的linux做自己的准,可以先用起来。标准化的组织讨论到发布标准,到最后形成商用,这个事情往往是非常漫长的。我认为,或者标准有时候不是讨论出来的,是你做出来的,很多事实上的标准也不是说经过标准化组织讨论就出来的。第三点SDN控制器还在发展中目前尚未有绝对的主流产品,SDN南向接口区域多样化。以前最早的时候openflow是比较多的,现在包括各种各样的应用场景,这种接口会越来越多。SDN物理设备和虚拟设备是各有长短。真正对SDNopenflow支持特别好的硬件芯片,目前来讲,从市面上来讲还是没有主流的产品。

SDN解决方案有两大流派,第一大流派是以IT技术为中心,是基于服务中心overlay的方案,因为是IT做出来,就是互联网的人,对于他们来讲,他们把交换机作为一个可连接的通道,优点是可以不需要物理设备就可以实现任何支持,只要物理设备可以做到可达可通就可以了,是用软件实现这些流量的。如果过渡到万兆领域的话,一个万兆流量完全靠服务器性能支撑算下来不划算。第二层技术是基于交换机整个openflow的解决方案,是在交换机上,就是把一些隧道这种交换机进行。优点是性能非常好,交换机或者说网络产品的看家本领。流量的可视化非常好,缺陷就是这个产业链还不够完善,在SDN方面做的一些工作,其实在SDN方面投入是很早的,大概09年最早的时候我们就在SDN领域做一些事情。2014年4月份的时候,我们加入了ONF,成为ONF的成员单位,也希望能够标准制定上发布自己的贡献。在5月份的时候我们DCN的6500交换机是国内首家通过ONF1.0协议认证,到目前来讲可能还是国内首家。在2014年的4月份和11月份应该是连续两次参加了ONF组织的测试活动,测试效果是非常好的。9月份是我们作为首批会员单位参加了测试。我们DCN在openflow领域是非常早的。从我们最低端5700的交换机到59到6265,到最高端168的产品其实都是可以全面的来支持1.0和1.3的产品,包括到主流开源控制器都是有非常好的支持,这是整个VCN今年推出重量级的大交换机,我们认为是一个SDN集大成者,是支持了SDN和传统网络很好的融合。整个设计上面是叫九槽16U,根据我们对业界其他同行的扫描,我们做的是最紧凑的设计,对于一般的机柜来讲可以放进三个框,在SDN特性上面,对openflow的支持,都做了非常完善的支持。下面我们来看干货,看看openflow这些方向一般是怎么来实现的。做业界主要是博通在独大,现在也有一些新兴的芯片公司,像MTK希望出来挑战一下,这个对设备商来讲是非常欢迎的,目前来讲的确是一个现状,目前在这个市场上确实是一家独大,openflow支持肯定是绕不过的。对于openflow1.0实现是比较简单的,基本上就是说传统通过流表进行模拟就可以了,到了1.3有多级流表的时候这个做起来就比较难。某些情况下可以通过其他的这种表,,可以模拟和方针其他的多级流表,可以部分来实现OF1.3的支持。目前还在研究我们下一代真正的,数据中心的产品,我们定位叫6550,整个设计的体系上非常非常贴近整个openflow的定律的,在里头有二层跟三层两条并行的流水线,你可以把你的数据包进来之后有传统的业务,也可以有引擎进行openflow1.3的协议的解析和处理。能够支持用户自定义开了很多窗口,可以任意去看很多字段,为未来的安全,更深入四到七层数据包提供了无限的可能性,这一款设备等到明年推出来的时候应该在市场上会有一些用户会感兴趣。我们对整个物理交换机和虚拟交换机一体化的管理,其实也做了很多的考虑。为什么呢?因为考虑到实际用户的部署场景上来讲,很多用户已经做了方案,我们交换机也可以支持OVSDB的协议,目前是广泛应用在OVS的里头。目前加入到了我们物理交换机来支持。

最后来看一下SDN方面的应用案例,2013年9月份的清华大学用了SDN的设备,我们构建了一个试验床,实现了成功跨域互联,这个地方主要是验证SDN跟openflow控制器互通的功能。第二是数据中心的互联场景,这个地方是我们和中国移动运营商一起合作做的一些探索性SDN的试验,段所长讲的也提到了场景,这里头用的都是我们的设备。这个地方多个数据中心进行互联的时候,中间通过隧道的协议,走实际的物理协议,把这个数据包流量对冲起来。出口流量调度场景是合在一起用的,这个地方也是我们和运营商一起合作做的一些试验,数据中心一般在出口上面他们通常会牵引多根带宽进来。怎么保证每个链路的有效性,是大家在研究的话题。其实我们和运营商进行了一些探索之后,发现在某些场景下,确实通过SDN的方式可以选择流量的过载均衡率做到更高的要求。最后我们再看一下园区网SDN的解决方案。传统上来讲,主要覆盖市场领域还是在园区网里面做的比较多。在园区网用户里面,用户主要的痛点要求是什么呢?其实和运营商用户挺像的,还是两个,第一个是怎么想办法要降低采购成本。第二个是想办法怎么降低运维成本,我们新的基于SDN的园区网方案有什么特点呢?也是围绕用户两个核心需求开展的。第一个,我们目前是采用这种大二层,在园区网里面什么叫大二层呢,我们解释一下。传统园区网在主网建网时候,已经都很多年了,最早可能是思科提出来的,大家一说就是接入汇聚核心,通常是接入就是二层,汇聚是三层。这种非常非常成熟的组网方式大家用了非常多年。最近我们提出来一个叫大二层的概念,我们把整个三层功能都上收了。三层功能只是在核心,这样做的好处使得整网整个设备成本会下降很多,支持二层的汇率设备和支持三层的汇率设备差别还是挺大的,用户的采购成本就降低了。

而且维护的成本也降低了,大家知道部署一个三层设备跟部署一个二层设备花的时间跟代价是完全不一样的,三层设备你一旦出了问题,你查一堆链路状态,看看哪个路由不见了,会费很大的工夫,可能都需要考一个CCAN工程师的能力才能搞得定。一个二层设备非常简单,可能任何一个集成商有点网络经验的工程师就可以搞定。整个三层变小了之后,使得用户运维复杂度会减很多。还有一个新的方案,除了核心以外,我们汇聚和接入层交换机都做到了即插即用,以前需要配置设备的数量缩小了很多。这个是怎么做到的呢?比如说我们的核心设备通常还是需要经过一些配置的,这个里面会有SDN的控制器和零配置的应用,这个地方做什么呢?首先如果说汇聚层的设备上线之后,是先获取一个IP地址,这个时候SDN控制器就会感知到了新的设备的上线,就会把我们预配置好的设备同到二层的汇聚设备上,就可以接着工作了。通过这种方式,应该是可以极大的简化用户的部署和运维的场景。对整个的认证,以前大家在园区网里做认证通常在接入层开始做,一旦有时候认证不通过一台一台查配置也是非常复杂的,在我们新的园区网SDN解决方案里头,整个的认证功能都被上升到核心了。未来只要把核心两台机器管好,整个运维就会做的很好。我们新的园区网解决方案,配合SDN控制器和应用,可以极大的降低用户的采购成本和运维成本。

最后做一个简单的总结,SDN必将蓬勃发展,短期内不会全面取代全面组网方式,openflow目前还是SDN主流技术。应用是推动SDN发展核心驱动力,最后也是我花了很多篇幅强调,SDN产业链需要各个环节,控制器甚至包括网络交换机本身的操作系统本身都要能够做到开放开源,可以极大的促进这个产业的发展,谢谢大家!