在网络工程师的平常工做中,咱们常常和各类网络协议,不一样厂家的网络设备打交道。从你们熟知的RIP,OSPF,ISIS以及互联网无处不在的BGP等等。配置和优化以上协议已经成为网络从业者的屡见不鲜。
而在业余时间,咱们认真好学,积极充电。学习Cisco,Juniper,华为等厂商的认证课程。
但是,自从IGRP至1980代发明以来,这些路由协议就没有怎么改变过。顶多在原来的基础上,新增了部分功能,例如RIP,OSPF,IS-IS支持IPv6,BGP支持新的family协议族等。python
换句话说,在突飞猛进,万象更替的今天,做为网络工程师的咱们,仍然用着30前发明的技术!程序员
诚然,有朋友会解释道,现现在的网络技术也在逐步升级,例如SDN技术的引入。但其实SDN只是一种新的解决方案,它解决了自动化集中控制的问题,优化了转发和控制层面。其对现现在的网络技术体系并非替代性的,颠覆性的。算法
假设有一天,这些传统的路由协议都消失了,取而代之的是咱们彻底没有接触过的新技术,网工的饭碗岂不是丢了?
想一想就细思极恐。编程
做为一名在网络行业浸淫多年的资深工程师,我我的也不但愿看到有这么一天。
可是很不幸,时代的脚步没有人可以阻止。在地球的另一端,一家社交媒体公司正在悄然改变这一切。服务器
它就是今天的主角:Facebook网络
由于某些缘由,你们平时对Facebook知之甚少。因此在这里有必要稍稍介绍下Facebook。架构
Facebook 是一家主打网络社交平台的公司,它相似于咱们平时使用的QQ空间,人人网等其余社交平台。并发
不知道大家是否看过一部电影,全名《社交网络》(THe Social Network)。它就是讲述了Facebook CEO扎克伯格被女朋友甩了之后,如何借助别人的点子建立了Facebook帝国,并发展壮大的过程。
本篇文章对于Facebook如何建立,咱们并不感兴趣。可是你们须要注意的是,CEO扎克伯格天才般的码农技能吸引了一大批志同道合的牛叉码农。他们坚信代码改变世界。运维
为了让你们有个更直观的了解Facebook的体量,让咱们来看看下面几组数据(截止2017第三季度)。ide
在如此规模用户量背后,是全球范围的数据中心,以及跨越各个大洲的国际骨干网在支持着数亿人天天的社交动做。天然而然,网络设计规划以及平常运维也是成为公司业务的关键。
由于体量巨大,Facebook极其容易遭遇平时你们不太可能遇到的各类协议上的扩展性问题。有些问题对普通企业来讲,发生的几率为0.00000001%。可是在Facebook内发生的几率就是100%。
由于不断增长的用户量和数据量,现在的网络协议逐渐跟不上Facebook内部不断产生的新应用。存在以下问题:
基于以上几点,Facebook放弃了修改已有协议,转而编写一套适合本身的全新的路由平台系统,那就是今天的Open/R。
上图为Open/R的宏观总体架构。
各个部件功能以下:
仔细一看,这不是和日常的OSPF, ISIS同样吗?对外经过Hello发现邻居,创建邻接关系。对内经过Shortest Path算法算出最优路径,而后下发FIB。
没错,Open/R设计之初,就充分吸取学习现有路由协议的优秀机制,并加以利用。可是同时,它也引入以下众多功能:
然而,最主要也是最重要的功能,是极强的扩展性。
今天你看到的是这些功能,可是随着业务发展须要,Facebook能够随时添加新模块进入此系统。并且-----Open/R开源了!!!
其实今天的讨论重点,不是在Facebook 的Open/R,而是借着Open/R,和你们聊聊关于网络工程师的将来,关于咱们本身!
不知道你们看完Facebook Open/R介绍之后,想到了什么,有什么样的思考。
我说说我看到Open/R之后,个人感觉吧。
首当其冲,若是本身再不转变,就要失业了。
做为一名网络工程师,咱们赖以生存的技能就是网络技术,更深一层来讲,深入理解网络各个网络协议之间的运行机制,以及如何规划并实施。
可是正如我开篇提出的问题,假如这些协议在某一天都消失了怎么办?
取而代之的是像Open/R这样的新网络系统。曾经熟知的OSPF区域类型,BGP 的policy,协议timer等通通派不上用场。一切一切都是被码农们提早预设好,系统循序渐进运行就能够。若是遇到系统故障,做为网络工程师的咱们也插不上手,由于代码故障还须要代码来解决。
若是你们只是以为,Facebook离我很遥远,并且Open R目前只有Facebook以及零星几个合做伙伴在部署。那就大错特错了。
首先,由于Open/R的开源,其余存在相似协议扩展性困扰的公司就会借着Open/R的设计思路和原理,开发出符合自身的路由平台。这个趋势不是谁可以阻挡的,包括设备制造商。
相似的例子为虚拟化,包括Cisco或者Juniper原来是借着硬件设备外加软件系统来盈利。可是在虚拟化面前,不得不推出虚拟化的路由交换平台,放弃部分硬件设备的利润。
仍是那句话,在科技进步的潮流面前,没有谁可以阻挡。
而此次潮流的最终受益者----是程序员。
在科幻世界里面,有这么一个方式叫作“高维打低维”。大概解释为:高维空间的生物打击低维空间的生物,易如反掌。
而在现实生活中,这种正在发生在咱们身边。农耕时代敌不过工业时代,工业时代的产物又敌不过互联网时代。一样,在互联网应用发展迅猛的今天,程序员如雨后春笋,一切问题,均可以用代码解决。所以从某种层面上来讲,程序员们站在了更高的维度。而做为网工的咱们,则是低维。
翻开如今的博客,公众号。大大小小的文章都是关于程序员的,貌似做为网络工程师的咱们,已经成为过气明星,只能在街边小剧场路演。
那么咱们应该怎么办,继续生活在象牙塔内,内心暗暗仇视日夜加班的码农么?No No No,咱们不只不能仇视,还应该和他们成为朋友,合做双赢才是将来。
有句话说得好,与其坐以待毙,不如融入其中。
总结一句话:夯实网络基础知识,同时大力发展写代码能力,成为程序员的一份子。进可攻,退可守。
毕竟,程序员再强,他们对于网络技术知识的理解仍是不如职业的网络工程师,因此夯实网络基础知识很是重要。只要练好看家本领,才能开疆扩土。
同时,做为网工的咱们,应该大力学习编程,进入程序员的领域Get新技能,把本身变成程序员,跟上时代的步伐,才不会被时代所抛弃。
最后,以一句略带危机感的话语,结束这篇文章:
做为一名网工,但愿你们换个角度看待当下。网络并不只仅是OSPF,ISIS,BGP。也并不只仅是多少个CCIE。也许在地球的某个地方,破坏性的创新正在侵蚀咱们熟知的领域,最终引领咱们走向陌生。
----END-----