专访Nick McKeown:网络领域的游戏颠覆者

若是要找到一个过去10年在网络领域最热的词汇,那么非SDN(软件定义网络)莫属。在过去的十年间不管是学术机构仍是标准组织,不管是电信巨擘仍是互联网大厂都成其拥趸。html

然而几乎每一件SDN的重大事件都离不开一个男人。斯坦福大学教授,美国国家工程院、美国艺术与科学学院、英国皇家工程院院士、开放网络实验室(ON.Lab)创始人,获英国计算机学会Lovelace Medal奖,IEEE Kobayashi计算机与通信奖,ACM Sigcomm终身成就奖和IEEE Rice通信理论奖,还有ETH荣誉博士学位,Barefoot首席科学家,曾创办的3家科技企业分别以4亿、1250万、12.6亿美圆被收购。这些使人眼花缭乱的角色都指向了这个男人,这位叱咤学术和产业界的传奇人物,也是咱们这篇文章的男主角——Nick McKeown,喜好中国文化的Nick给本身起了一个颇具哲学意味的中文名——马格里。笔者有幸在UCloud TIC大会上对本文的男主角进行了访谈,围绕可编程网络趋势、开源项目进展和马老师教育心得进行了沟通,下面咱们就来走进马老师的网络世界。程序员

图片来自UCloud TIC大会

网络界的“带货王”

SDN起源于马老师团队的Clean Slate项目,最初的SDN方面的学术贡献几乎由斯坦福大学包揽全局。马老师无疑成为了SDN界的领军者,不管是早期的SDN控制器NOX仍是进阶的POX,不管是仿真界的小王子Mininet仍是虚拟化软件FlowVisor,这些成果都离不开马老师的研究团队。同时这些成果也成功的驱动了整个网络行业的变革,企业蜂拥而至,应用百花齐放。马老师彷佛也成为了网络界的“带货王”。编程

“咱们大约10年前开始研究可编程网络,由于我特别失望的是当时的互联网还很原始,架构是相同的,功能是相同的。他们老是由委员会设计,由芯片设计师设计,如你所知,芯片设计师不会运维网络”安全

在这样的场景下,本应该是建网络的人最了解网络最须要什么,如今却让外行掌握着核心技术。马老师意识到“释放软件能力进入网络领域”的重要性,服务器

“可编程是其中的关键,由于咱们知道软件可能会发生变化,进化和改进,比硬件快得多,因此若是你能够变成硬件问题,那么你能够将程序员的全部力量释放到网络上,所以咱们制定了很是雄心勃勃的目标,试图让网络计划可以用到计算机,因此你能够编写程序来操做,修改”。网络

咱们也看到了马老师的研究轨迹,从固定功能的黑盒到控制面与转发面解耦,从转发面可编程到开发芯片、开发语言、开发组件,从耳顺之龄迈入了天命之年,“带货王”的背后是对整个网络行业变革的深度实践,是颠覆者的游戏。架构

OpenFlow 10年,是创新仍是桎梏?

在2000年的第一个十年,马老师和他的团队开启了SDN的创新之路。当时马老师一个叫Martin Casado博士生在毕业论文的基础上发明了OpenFlow试图用“管控分离,集中控制”的思想解决网络问题,今后这个思想以星火燎原之势在整个行业里掀起了热潮,同时还伴随着OpenFlow和SDN鸡生蛋蛋生鸡的争论。谷歌开始将OpenFlow用于他们全部的数据中心,以及他们全部的WAN网络,行业同仁也很是欣喜的能在各类公开论文和新闻中获取信息、吸取养料,而后也看到在一些其余大型项目合做中开始使用OpenFlow,创新的味道弥漫在硅谷的上空。负载均衡

“对我而言,OpenFlow是踏上创新阶梯的第一步。” 马老师阐述道。“第一步作到了解耦,这对于SDN初期而言相当重要”。运维

在当时OpenFlow彷佛已经成为了SDN事实中的标准,各大厂家在作优化,版本在作频繁更迭。然而这彷佛只是虚假繁荣,P4的出现让OpenFlow显得无所适从,马老师解释道:工具

“OpenFlow太过于僵硬,为了找到匹配的包头,你必须设法充分描述,再调用接口,灵活性不好。P4带来的灵活性不只能够改变转发面的属性,还能够改变控制器调用的接口。P4 Runtime的出现使OpenFlow也能够成为其属性之一。.P4的文件让任何转发面的属性都变成一个应用程序”。

当笔者问及OpenFlow是否已经完成其使命时,“在某些状况下是的”教授谨慎地回答。

但这并不表明OpenFlow毫无用武之地,“很是简单的网络,不会发生很大变化” 很适合使用OpenFlow,“日本的一些大型基础设施中,部分功能需求不高的项目就应用了OpenFlow。”

与其说完成了使命,倒不如说是完成了进化,任何一个技术都不是万金油,P4在选择上给了咱们颠覆,这是质的飞跃,何须纠结它仍是不是它呢。

从Cloud到万物互联,网络进化的上下求索

自SDN诞生之初,云就一直是网络创新的练兵场。虚拟化技术的优化和成熟推进了云计算的发展,虚拟化的环境也为云服务商优化基础设施配置提供了便利,网络优化也来的更从容甚至激进。以Google、Facebook、Amazon为表明的企业也开始了持续的网络基础架构的迭代优化之路,全球的运营商也试图经过SDN降本增效而且多加些行业存在价值,固然还有一些诸如热气球计划、无人机计划等开脑洞的通讯创新,虽然和SDN不必定有关,但其格局值得敬佩。

马老师也坦言,“近些年,不少创新发生在云中,包括咱们的合做伙伴UCloud,在容量方面有不少的需求,在可视化和测量方面也有诉求。”

“像UCloud这样的云计算公司是不少中国优秀云公司的缩影,我看到它在不断壮大,有工程师的地方就有创新。从SDN硬件卸载到P4到使用P4完成IPv6至IPv4的NAT转换,创新如此充满意义。这同时也给产业链上的公司很大的动力,不管是Barefoot这类芯片厂商仍是设备上都是很大鼓舞。”

图片来自UCloud TIC大会

当谈及云公司和运营商对网络的需求时,马老师发表了下面的观点。

“通常而言,云公司最关心带宽,拥有相对简单的功能和协议,他们须要一切都是可靠的。”

用户的增加和业务的膨胀使云的规模逐渐庞大,其业务特征也变得复杂,诸如虚拟化支持、多业务承载、资源灵活调度。

“他们对负载均衡,防火墙,一个寻址到另外一个寻址的转换,多播到单播的转换,从旧世界到新世界或者从物理世界到虚拟世界的转换都有着巨大的需求。”

从这个角度看云更像是一个转换设备。不管从节省成本仍是节约带宽来说,可编程的网络设备具备更大的价值,“一样使用硬件,但更便宜,更快,行为更可控”。

“对于电信公司而言,种类繁多的用户,使得电信公司长期须要支持更多的特性和协议。不管是带宽和高性能都是他们所关心的。”

业务和客户的复杂度,直接致使了网络的高度复杂。“随着时间的推移,新客户须要新特性,他们须要回收资源以期复用给新特性。”

在此时,若是设备可编程,将能够利用全部资源来开发新特性,为新客户服务。电信公司有不少需求,可编程的设备让这些想象一切都变得简单。

科技发展,突飞猛进。5G、物联网、工业互联网,不管是云仍是边缘,这些不一样类型的网络都有着不一样的需求,不一样的速度,不一样类型的特性,不一样的协议,都有不一样的计费、测量、封装要求,他们在全部的环境中都是不一样的,因此这些不一样类型的网络,意味着须要新的设备。

“此时一个能适用于不一样场景需求的可编程硬件会让事情变得简单,无需为每个场景设计专用的芯片。”可编程的网络硬件的确为网络的创新提供了很好的方向和技术支撑,做为笔者也对马老师倡导的可编程网络方式充满了期待。

关于开源,笔者围绕开源进展、P4与ONF合并和P4的应用场景向马老师进行了探讨。

开源和可编程,可否奏响网络变革的主旋律?

在过去的几年咱们看到了层出不穷的控制面开源项目,但他们彷佛都发展缓慢。

“我认为将来几年网络、互联网和整个世界的变化很小。一个是控制平面将更开放更开源,网络做为基础设施。任何一家公司开发的控制平面都不会即刻获益。诸如Stratum、Sonic,诸如ODL、ONOS,他们因不一样时期需求而产生,在将来仍将继续下去,还有很长的路要走。” 马老师确定的说。

“在15到20年内,世界上全部大型网络都将由开源控制平面控制。我认为这是不可避免的。”

彷佛如今有一种声音是白盒不如黑盒,有太多性能问题须要解决,并且白盒并不比黑盒售价低,还有高昂的研发成本,这是不少用户在质疑的问题。

“如今咱们知道你能够构建具备相同功率,相同成本,相同性能和固定功能的转发平面。然而固定功能转发平面没有将来,未来,全部转发平面都是可编程的。”

“转发平面、控制平面的开源,让网络能够一直向下编程。咱们将以多种方式看到互联网的变化。由于它主要是为了使其更可靠,使其更安全,并容许不一样的公司彼此造成不一样的模式,这对互联网来讲是一个很是重要的进步。”

“当你拥有从上到下的软件时,这意味着你可使用全部软件工程实践来正式测试和验证,甚至能够正确地进行预测。之前永远不可能实现这一点。由于以前,许多功能都隐藏在Verilog中,代码在硬件中运行。咱们不知道那里到底发生了什么。” 如今这些功能均可经过P4语言描述,马老师已经用事实践行了他的观点。

“你能够衡量您在网络中看到的内容,你能够反馈它,在将来10年内,咱们会在网络中“看到更紧密的循环控制,其中有测量,验证,改变其行为以确保一切正常运行。”

P4 + ONF = ?

2011年马老师与加州大学伯克利分校的Scott Shenker老师联合业界知名公司创立了ONF(开放网络基金会),旨在加速SDN落地。P4语言是在2013年左右开始建立的,而且自那时起它一直在增加,汇集开发人员、研究人员,在几年内成长为拥有百余名成员的P4社区。2019年4月9日,开放网络基金会(ONF)宣布已完成与P4.org的合并,并将主持全部P4活动和工做组

“P4目前仍是个小型组织,但咱们意识到若是成为一个更大的组织将会受益良多,联合ONF天然而然成为了好选择,后者有很是规范的组织模式,他与Linux很类似,采用相似的治理模式”。

“做为ONF的成员,这意味着电信运营商能够开始参与P4,而不只仅是拥有这些部件。”
云计算已经成为了将来的基础设施,从公开的一些数据咱们不难看出,大多数P4开发和应用案例都是针对云的。

“如今咱们期待在下一阶段,电信公司也将有所增加。 这一样也符合了全球电信公司软硬件解耦的诉求。开放网络基础设施ONF正好是其中心,ONOS,CORD以及它全部的开源项目,都将与P4有很好的组合。” 马老师阐述了对运营商的期待。

“ ONF的ONOS项目做为控制面,南向接口用P4-Runtime,加上修改过的P4模型。” P4与电信行业的合做彷佛水到渠成。在现有丰满的开源生态中,咱们看到了大量的网络开源项目,在生态中占据不一样的位置。仔细观察P4-Runtime的架构,你会发现它在整个P4生态中相当重要。

“P4-runtime的关键之处在于它容许您使用P4做为语言来表达行为。这使其成为转发平面和控制平面之间的纽带。” 咱们也期待P4&ONF合做后将来在电信公司的更多应用。

UCloud & P4,标杆案例

在访谈中马老师屡次绝不吝啬地对UCloud这位合做伙伴表达赞赏,“ UCloud是很棒的合做伙伴,他们进行了不少出色的工做 ”,咱们也在这里给你们分享两个标杆案例。

云计算业务的猛增给基础设施带来了压力,随着网络带宽从10G向25G、100G的演进,通用服务器须要经过更强力的CPU才能达到线速,随之带来的是高昂的投入成本。特别是单Core的主频越高,价格越贵,且主频增长之间和价格增长是非线性关系。网络IO计算与存储软件自己的计算对CPU构成了争抢。SDN硬件卸载方案呼之欲出,排除了VXLAN VTEP和OpenFlow1.3交换机方案后,在与P4社区及Barefoot公司的沟通下,UCloud经过运行于Tofino芯片的P4程序,取代了以前运行于200台x86服务器之上的负载均衡工做,并且是线速处理,这在云领域数一数二。

对于IPv6转换服务,UCloud使用有状态的NAT64技术来实现,NAT64是一种经过网络地址转换(NAT)形式促成IPv6与IPv4主机间通讯的IPv6转换机制。NAT64网关须要至少一个IPv4地址和一个包含32位地址空间的IPv6网段来完成IPv4与IPv6协议间的翻译。其中NAT64 Access使用P4交换机实现,经过NAT64 Access的一致性Hash实现高可用。同时在NAT64 Access对CPS进行限速,实现DDoS防御。相较于业界的其余方案P4无疑表明了更高效、更稳定的转发性能。

传道授业的再思考,给学习者的建议

做为斯坦福大学教授,马老师向本科生、硕士生和博士生教授网络技术。在谈及教育时,马老师开始口若悬河。

“咱们花了不少时间思考咱们要如何教导下一代网络如何改变。”

由于若是你看看今天大学里大多数网络课程的教学方式大都是从一本书开始,列出全部协议,包括IPv四、IPv6,以及全部不一样类型的协议,“这就像一碗汤,丰富但杂乱无章。”

但咱们看问题的方式的确是这样的吗?若是你想一想网络工程师,或将来的网络软件开发人员,“从软件的角度,他们不会说,我须要实现这个协议,他们会说我对个人网络作了什么行为,让我写一个程序来描述这种行为。” 最后的结果可能与现有协议类似,也有可能创造新的协议。若是软件不错,验证工具也不错,这样他们就能够进入书中没讲的新天地。

“所以,如今咱们须要弄清楚如何教学生首先思考他们想要的行为,并给他们编程技能,让他们可以作到这一点,咱们须要创造这样的环境。”

图片来自stanford.edu

在世界各地,想要学习编程、网络和计算机科学的学生人数都在大幅增加,不管是中国仍是北美。在斯坦福,咱们看到计算机科学专业的学生人数在过去的7年里增加了5%,增加很快。如今全世界都是这样。

“缘由是编程变得如此强大。你能够实实在在地改变世界,咱们天天都能看到它所创造的技术类型。”

全世界每一年大约有100万个新的软件开发工做岗位,然而,咱们每一年只产生大约50万个新项目,这为高薪提供了可能。开源社区的建立,相比于传统网络的封闭,不管是学习仍是推进行业发展,提供了更好的交流方式。

“开放的环境,更容易交流,更容易产生新的创意”。

通常每个领域必然有那么几个的先驱人物,但Nick McKeown的传奇性不只仅是学术界也不只仅是学术产业,我看到的是一位理想主义者,对网络的将来充满无尽的想象。他同时更是一位游戏颠覆者,不管教学仍是研究,不管是学术仍是产业,他的思想一直在进化,用超乎寻常的思考和实践推进整个行业的变革。

相关文章
相关标签/搜索