@ fnii.cn

登录邮箱

刘俊达 以数据驱动未来网络

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

大家好!我是周日从美国回来,现在正好是最困的时候,很多朋友都期待着我这个演讲。我是07年去读博士,08年在伯克利做的openflow,在openflow还没有之前就做这个东西。但是真正上对产业和真正学术界和产业界都产生了很大震动的,还是谷歌2012年发表了正是对外公布说我们数据中心和数据中心互联全球骨干网是纯粹的SDN。简单的讲了一下,规模大概是什么样子,用的路由相关的东西,而且都是基于开源自己做的修改。下面一个简单的更新是说谷歌的规模,的确是我脑子里知道是精确数字,虽然每天在变,但是范围在哪儿,在外面看唯一公开信息是Arista,她还在思科的时候,谷歌说我想要一万个非堵塞的,那个时候所有的网络设备商都哈哈一笑,后面的发生事情大家都看到了。在2014年第一季度,在基础设施上的投资是23亿美元,这是一个季度的投资。你要问作为一个搜索公司,为什么这么在乎大规模,第一件事情很显然需求一直在涨,很明显的东西,就是现在的数字世界,尤其是因为智能设备兴起之后,整个发展已经不是线性,甚至是说四次方、五次方的感觉在往上走。YOUTB每分钟都有超过100小时的量在往上传,相当是考虑基础架构,包括网络,同样一份视频,现在要重新编码成不同的分辨率和格式,现在大家手机高清1080P、4K都是很常见的东西。

还有一件事情很有意思,大家都说互联网,尤其是国内互联网思维已经很热了,还有一个非常惊讶的事实是,还有30多亿人没有上过网,这对可能对国内的感觉不是特别明显,但是在美国他们的一个感觉,北美市场饱和很快,他们现在在找新的市场,新的未来,发展。看到还有30亿没有上网,东南亚有一部分,非洲还有我们以前可能不太关注南美。他们在做网络发展,跳过了,就像中国那句话叫跨越式发展,他们没有固网的宽带,是直接到移动的宽带,就是移动互联网,这件事情对互联网公司产生的兴奋就远比对传统运营商要大的多,像谷歌在做气球,在新西兰,通过气球,而不是用地面基站解决传统你在地广人稀的地方布基站高额的成本,你肯定不会有传统运营商做这件事情。著名做高空飞机的被谷歌收购了,脸书有一个项目想各种各样的方法,能把网络从地面移到天上去,移到天上去有一个原因,我可以让网络的部署和供应更灵活。另外一个驱动需求增长的就是说,向云端的迁移是已经发生,而且速度是越来越快。另外一个我们为什么要继续促进规模继续往下走,是因为CPU的问题,本来我们说摩尔定律是程序员最好的朋友,你写了一段代码,放在那个上面,什么事情都不用做,一般说是一年半又快了两倍,做程序员来讲是最好的事情,现在我们看到的事情频率的增长和单CPU,单核CPU频率的增长其实是有一段时间没有涨。多核,想做多核之间协调,把多核的能力发挥出来在考虑一个网络问题了。服务器CPU,一半以上并不是计算单元,而是存储和缓存单元。驱动大规模继续往下走的事情是说新的应用,很热闹的东西叫做谷歌大脑,是一个深度学习的典范。然后通过我们当时在做文章出来的时候是用了1万6千个CPU,这个系统把这些东西扔进去,积极学习没有人指导,最后出来的结果,给了一个图非常频繁,就印证了最流行的东西是什么?就是猫咪,人去看的话很模糊发现,其实这是一个猫,机器只是知道这个东西是什么物品,但不是具体是什么,可以把特征提取出来。真正的应用,传统讲搜索是用户给了你一个词,你把这个结果反过来,移动端做搜索不是特别的方便。有一个趋势,手机你随时带着,他知道你的上下文,大概知道你在哪里,知道你的行程,在问他之前就可以知道答案。一个典型的例子,每次我从美国回来,回来之后他就发现我地址变了,要不要你设一下家里的时钟,我有北京时区还有旧金山时区,不用我去问他,就会知道相关的传感信息,知道有些东西我可能感兴趣。另外就是推荐,怎么去做大规模,甚至说用户可能喜欢喝某一个口味或者某一种品牌的咖啡,他知道应该推荐什么样电视剧,你可能直观去想都没有关联的事情。现在回到SDN的好处,我最后一个讲好处有点多余了。从大规模的角度来讲就是一件事情,把一个N平方的事情,变成了一个N的复杂度。然后对于习惯了写软件做快速迭代的公司来讲,我可以更快的做净化。因为我是通过软件来改变我网络的性能和行为。不是说以前十年通过的协议。五同样很多讲挑战和问题的,聊了这么多可能还是谷歌是真正说第一个走的,现在只有真正是说大规模应用部署还是只有这一个。如果有什么顾虑和担心的话,要把挑战讲一下,也讲一下我们怎么解决的。第一个控制器真正明白到底网络里发生了什么,因为这种解耦,你把决策层放到了集中的控制上面去做,首先是一个信息的流畅,下面发生的事情,控制器要及时知道,另外一个控制器做出了新的决策,交换机怎么更新。最后一个很显然,两个东西必须要一致。

再讲一下谷歌在用SDN里面遇到的问题,一个是路由表象丢失了,还有这个包在里面一直打转。第三个走着走着突然这一个东西没了,就是一个黑洞,把所有的流量都吸进去,你可以看到BUG数还是不少,我们并不是说SDN出来就解决了,SDN给了一个更好的方法解决,SDN自己解耦也好,或者说控制和转化分离的模式带来新的问题,我们再去解决新的问题。这个工作今年发表过了,和斯坦福一起合作,当时结论就是说如果是看1万个交换机的规模,100万的规则。然后通过用很经典的大数据分析来定性处理,最后做的事情是校验控制面和转发面的一致性。现在说的忽悠一点,大是大数据,SDN网络里面的大数据你看所有的转发规则是不是一致的,最后你是不是把所有的规则都汇集起来之后,任何一个节点出了目的地地址的IP包,是不是最终可以送到目的地去,很简单的一个问题。挑战第一个你能不能拿到稳定的可靠的时间点,停下,我把这个网络抓下来。解决办法是说网络虽然一直在更新,但是还是有99.9%的时间上,网络是没有事件发生的。刚看到这个数据如果你觉得很高兴,看到这个控制器你会很不高兴,是因为所有的更改都是突发的,其实对SDN的压力是很大的,另外来说完美的全局时钟,不是说不存在,但是很贵,硅谷这样的土豪公司都觉得贵,精度已经不能保证,你经常会看到虽然你知道事件A会在事件B之前发生,收集下来这两个是倒叙的。如果我只是稳定的静态截图,我有一个技巧,我把每一个事件,不把它看成时间轴上的一个点,而是看成时间轴上的一个段,用它的协议本身上线扩起来,这样至少保证了说我在网络上没有事件发生的时候,真正是完全空闲的,这个我取整个网络静态所有的状态,这个时候还是可靠的。另外一个很简单就是大规模。可能现在更多的,尤其对于运营商来讲会讲业务上的东西,谷歌用SDN最简单的,你不用SDN规模问题解决不了,你用SDN,把N平方变成N,还有可能继续往下走,原来传统说你分布式不管跑什么路由协议,你把它支持的节点数上限立刻就挂了。对我们来讲最简单就是我如果有这么一个大规模的问题,就相当于给分开,尽可能的做并行化,解决方案其实是很直观,首先是按照目的地来做,你会把每一个目的地相关的转发规则汇聚起来,最后结果是什么,直观想一想,正确网络转发规则汇聚起来应该是没有环路,最后都汇聚到最后目的地节点上,就是一个有项无环图,这个事情很简单,已经变成了一个纯粹的数学问题,我把所有的规则拿过来,最后想问到底网络的转发对不对,只需要问每一个目的地是一部分。这就是整个流程是怎么做的,我们是要做独立于SDN之外的校验。是直接从系统里把这些路由信息拿出来,非得到一个集群里面去,最后每一个是按照目的地,是把每一个目的地图再核起来,最后再做一个额外的一步就是判断它是不是带宽,这是一个简单的数据,我们做试验的数据结果,在1万1千个交换机的规模下,200多万的规则,1万多的目的地,用50台服务器在50分钟之内可以做完校校验,把全球广域网AS级别的互联网,看到明显规则会多很多,一起做了,就是一分半钟,这就是我想跟大家汇报技术上的进步。

我们用数据驱动网络的优化和改进,从整个生态的角度讲,我们是想说所有的不管是运营商,就是整个产业链上到最后互联网公司和用户打交道,他们都是为了更好的用户体验去努力,如果能有那么一个平台也好,市场也好,让大家提供基础设施的能够得到应有的报酬和回馈,资源可以在不同的一个充分竞争环境下选择自己需要的资源,带宽也好,具体的网络甚至光纤,甚至是CDN储存也好。我们把这个数据从基础设施的提供者或者真正用这些基础设施互联网的应用和服务上面,两边的数据汇总起来,最终做一个驱动,全局优化的景。

网络已经有了这个能力,SDN,还有很多人只是在看,非常理解。可以完全接收新的要求和,新的要求和新的策略,基于这些反馈来调整网络的运营状态。举一个简单的例子,以前可能传统不可能做的事情,现在有了SDN可编程模型,流级别的力度控制变成了可能。另外一件事情是非常让人激动,在数据科学本身,以前总是要做彩样什么。现在大规模数据实时数据处理,方法也好,相关理论支持也好,对于复杂的问题,以前是批量处理,现在新公司叫,他们做的现在很火的,在初创公司里面很火。从解决问题上来说,你可以实时首先流处理没有问题,要问不同的问题,对同样一个进来的数据流,我可以同时问不一样的问题,从不同的角度问这个问题,这件事情在以前肯定是做不了的。

感谢大家!