Google也在追捧的“软件定义网络”,下一个科技创新巨头诞生之地!
2012-12-04 10:11

1998年夏天,当Larry Page和Sergey Brin为了打造一间以Google搜索引擎为卖点的公司,而著手起草正式的生意计划时,受到他们请托的Guido Appenzeller帮了他们一点小忙。

Appenzeller和Page及Brin一样,都是美国加州史丹佛大学的电脑科学系博士生。根据Appenzeller的说法,Page和Brin敲他的门,只因为他上过商学院的课。他给Page和Brin的第一项建议就是叫他们用微软Word程序,而不是他们有意使用的HTML网页编辑器,来撰写生意计划。Appenzeller回想:“我们就这件事讨论了两个下午,这就是我帮过忙。”

从那以后的数年间,Google成长为网络上最庞大的势力,Appenzeller只能远远关注他们而已。

Appenzeller拿到史丹佛大学的博士学位,然后自己成立一间创新公司Big Switch,2008年他回到史丹佛大学担任教授和研究人员,然后扛起管理OpenFlow发展的重责大任。OpenFlow是一个开源网络建构技术,这项技术很快就重塑Google处理自家全球网络帝国内部网络流量的作法。

这不是一件小事。为了支持Google各式各样的网络服务(从Gmail搜寻到Google Drive),Google现在于美国和欧洲经营的资料中心就有九间之多,从全 ?球其他设施租赁的空间更是无法计数。很多人认为Google资料中心绵密的网络,是网络上技术最困难的作业,掌控Google内部网络的王者Urs Hölzle 表示,他任职于Google这十几年来,OpenFlow是网络建构竞赛中最显著的改变。

Rob Sherwood跟Appenzeller一起在史丹佛大学研发OpenFlow。简单来说,OpenFlow让使用者可以像透过程序控制电脑、智能手机和平板电脑一样,能够透过软件程序来控制网络设备。Sherwood表示,这项技术重塑网络的方式,就好像Android与苹果应用商店重塑手机一样。

OpenFlow让使用者可以撰写自己的网络软件,而不用仰赖传统驱动网络设备、能力非常有限的专属软件。Appenzeller说:

“这基本上是从某种封闭的东西转向一个非常开放的生态系统,就像是从十年前的Nokia手机或更之前的大型手机进行转移。”

现在随着Google众所瞩目的试验,Appenzeller正领导其他人一起迈向软件程序控制网络的新世界。2010年,Appenzeller跟Kyle Forster(另一位前史丹佛大学研究生,他在学校的办公室离Appenzeller的办公室不远)一起创立专攻OpenFlow的Big Switch Networks公司,前些日子这间新创公司正式推出一系列多样化的OpenFlow软件工具。Appenzeller告诉我们,某些著名的大公司已经采用这些工具,不过他拒绝告诉我们这些公司的名字。

这是我们听到耳朵都要长茧的故事:

Google因为必需控制逐渐增加的大量资料,被迫重塑它的线上作业,而且它的努力成果后来遍及到整个业界。不过这一次故事情节有点不同,而且故事情节可能进展较快。故事的不同点在于OpenFlow并非发源自Google的开源技术,而且这个技术已经获得很多软件和硬件供应商(包括Big Switch和Nicira等新创公司在内),还有HP、Cisco和Juniper等著名大公司的支持。

Ethane 网络产生OpenFlow

追本溯源,OpenFlow来自一个叫做Martin Casado的人,他也是史丹佛大学的学生。

Casado的博士论文发表于2007年,论文中描述了一种新时代网路架构,他称之为Ethane,这就是被昵称为“软件定义网络”(software-defined networking,SDN)行动的开端。软件定义网络不是这波行动的最好名称,而且随着愈来愈多公司加入这波浪潮,这个名字逐渐失去意义。不过这个新架构的基本概念很好掌握:软件定义网络想要提供一个更好的方法来控制电脑网络。

现在,我们使用打造交换器、路由器和其他网络设备的公司(像是Cisco、Juniper或HP等公司)所提供的专属软件来管理网络,这不是一件简单的事。Yahoo前科技长Raymie Stata将复杂的电脑网络比喻成数字推盘游戏(15-puzzle game),过去我们管理网路的方式,就好像试着在一个只能放进16块板子的方框里头移动15块滑板。不过软件定义网络想要改变这一切,藉由创造一个比较能够透过软件程序操作的网络来改变这个状况。

美国加州大学柏克莱分校教授Scott Shenker是指导Casado进行Ethane论文的人,他今年稍早时曾告诉我们:

“软件定义网络就是将模组化的概念用在网络控制上。”

“模组化是每个软件程序设计师梦想的东西。如果程式没有模组化,就只是一堆散??乱没有秩序的代码而已。软件定义网络就是想知道什么是可以让我们建构网络控制面板的正确软件抽象化(注),如此一来程序就可以演化,不再只是一堆散??乱的代码而已。”(注:软件抽象化,物件导向设计的重要概念,旨在减少软件的复杂度。)

2007年,Casado、Shenker和另一名Casado的史丹佛大学指导教授Nick McKeown,成立一间叫做Nicira的网路新创公司。这间公司把Ethane的概念应用在虚拟网路(只存在于软体的网路),进展相当不错。今年七月,虚拟服务器龙头VMware付出12.6亿美金买下这间小小的硅谷设备供应商。不过McKeown提到,他和他的共同创办人也对创造一个应用更广泛的开源技术感兴趣。McKeown说:

“我们真的觉得,打造一个开放性生态系统,比打造Nicira这种单一公司重要得多,我个人特别认为如此。Nicira专攻网络虚拟化,不过我们觉得软件定义网络可以用在整个网络。”

从他们的想法诞生了OpenFlow,一个用在远距操作网络设备的开源协定。Nicira使用协定控制虚拟网络交换器,同时打造使用者可以不用透过运行虚拟网路的硬件,就能够独立进行配置的虚拟网络。不过OpenFlow也可以协助管理硬件本身,包括实体交换器。

把故事的镜头拉回史丹佛大学。McKeown雇用他过去的学生Guido Appenzeller来监督OpenFlow持续的发展,并且协助争取包括硬体制造商在内的业界支持。你无法使用OpenFlow来管理硬件,除非你把OpenFlow内建在硬件里面。

HP、Cisco、Juniper和NEC等硬件制造商很快就支持这项计划,Google也是如此。Google的Urs Hölz??le今年春天告诉《Wired》这项转变:

“我们早在往这个方向进行,不过是采取比较低阶的方式进行软件定义网络。当我们发现OpenFlow的时候,事情很明朗,这就是我们要追求的方向。如果你不需要自己做的话,为什么还要自行发明呢?”

Google现在使用OpenFlow来控制负责分配旗下大型资料中心间网络流量的硬件。而且Google有很大的机率,在旗下资料中心内部进行同样的事。Google本来借助外来力量打造自家的OpenFlow硬件和软件,不过现在市场演变的程度,已让Google不需要再自行这么做。一部份是因为在史丹佛大学的Appenzeller的努力之下,让Cisco、Juniper和Arista纷纷提供OpenFlow的商业用硬件,而且他的Big Switch Network公司也在提供软件监控这项设备的公司之列。

虚拟遇上实体

跟Nicira一样,Big Switch贩售网络控制器,也是能监控网络的软件。不过Big Switch提供的工具和Nicira的控制器不一样,可以让使用者同时控制虚拟和实体设备。

虚拟网络不是很容易掌握的东西,不过基本的想法就是使用者可以从软件层面控制网络最复杂的部分,而不是透过硬件;可以控制的包括网络安全,以及网络封包路由的方式。透过Nicira和Big Switch等公司贩售的控制器,使用者不需购买OpenFlow硬体,即可享受OpenFlow的优点。

不过一旦使用者开始更新硬件,就可透过Big Switch的控制器控制一切。是的,这的确让人搞糊涂了,但这也是网络世界前进的方向。Nicira极有可能在未来提供软件,以控制实体OpenFlow设备;毕竟它协助打造控制器,借此监控Google旗下资料中心之间分配流量的硬件。

Appenzeller和Big Switch还提供一个用来分析网络流量的网络分接头(tap),以及一个叫做FloodLight的开源控制器,让每个人都可以制作OpenFlow应用程序。

这些工具至少激起另外两间企业的兴趣,这两间公司监控部分世界上最大的网络作业:金融巨头高盛(Goldman Sachs)和Fidelity。这两间公司的名字都出现在Big Switch记者发表会的材料上,不过他们目前都还没表明他们的确使用OpenFlow或是Big Switch的软件。

当Nicira于去年二月正式上路的时候,Nicira提到几家著名大公司采用它的工具,这些公司包括Fidelity、AT&T、eBay、日本通讯龙头NTT,以及Amazon在云端运算竞赛中的主要对手Rackspace。Rackspace和eBay都告诉我们他们使用Nicira的技术。另一方面,Big Switch的客户虽然存在,但是保持沉默。

同时间在史丹佛大学,Appenzeller也协助开放网络基金会(Open Network Foundation)打下基础,开放网络基金会是一个非营利联合组织,现在负责监督OpenFlow计划,其董事会成员包括Facebook、微软和高盛。Facebook还没有开始采用OpenFlow,不过其他人或多或少可能已经开始进行。毕竟不管Google走到哪,其他人就会跟到哪。





via i黑马 BY wired