SR(Segment Routing)不是MPLS的优化和升级

From the engineer’s point of view, technology itself is not suitable to be discussed at a metaphysical level, but it is only at a metaphysical level that a thorough understanding of technology can be achieved without becoming its slave.


看到SR(Segment Routing)技术中的标签栈,很容易让人联想到同样使用标签的MPLS,由于时代的承上和启下, “SR是MPLS的优化和升级” 这种观点就再正常不过了。

然而并不是。

若不是SR的实现方案之一的转发面直接借用了MPLS的转发面,二者之间并无关联。所以,不要再提 “SR去掉了LDP” ,本来无一物,何处惹尘埃。

网络到底应该是集中控制的,还是要分布式控制?这个问题的答案要看具体场景,那么让我们回到互联网的伊始,即阿帕网(Arpanet)的设计。

在美苏争霸的冷战时期,

美国国防部认为,如果仅有一个集中的军事指挥中心,万一这个中心被原苏联的核武器摧毁,全国的军事指挥将处于瘫痪状态,其后果将不堪设想,因此有必要设计这样一个分散的指挥系统——它由一个个分散的指挥点组成,当部分指挥点被摧毁后其它点仍能正常工作,而这些分散的点又能通过某种形式的通讯网取得联系。

阿帕网被设计成了一个 采用分组交换的,去中心化的分布式网络

好了,这就是后面全世界互联的网络的在最初诞生时的背景和形态,这意味着在此后很长时间,全世界互联网的网络均保持着去中心化的分布式特征,无论是OSPF,RIP,IS-IS等IGP还是BGP,均为这种分布式网络设计并在自身体现着分布式原则:

  • 所有节点依靠节点间交换信息共同构建全网一致的FIB转发表。

没有集中化的中心控制。

在阿帕网伊始,网络并非全世界互联的,它在此后很长一段时间的规模都只维持在美国境内,可想而知,互联范围并不大,节点数量有限,这也是采用分布式结构之所以可行的原因之一。

分布式结构被选择的原因并非技术的。

所以,在网络规模达到全世界范围的时候,单纯从技术的视角去比较分布式和集中式两种架构哪一种更优秀就显得毫无意义了。

几乎是任何成功的技术,都是某种妥协的产物,它们并非人们所想象的那样是优秀和优秀之间的联姻。

互联网最终也将面临类似的这种妥协!

就在当前大肆吹捧SDN多么优秀的前面不到10年,分布式的世界互联网被抬到了至高的位置,人们不禁惊叹,没有集中化控制器存在的互联网,竟然可以工作并且工作地如此优雅和美妙。

在这张网络的逻辑层面,git可以让分布在全世界各个角落的互不相识的人们可以像同事一样协同工作共同完成同样一件事,这完全得益于分布式的优秀。

不到10年的时间,进入移动互联网时代后,互联网流量暴增,带内的东西向控制流量将无法满足网络快速收敛的要求,控制流量趋向于南北化,和带内的数据平面分离,有形成独立控制平面的趋势,这就是SDN!

人们马上为这种新东西举世疯狂,高举着旗帜或者鼓槌,叫嚣着 “SDN是时代的必然!” 就好像它将作为网络架构的2.0,彻底替换分布式一样,随着基于SDN的Google B4网络的投产,这种叫嚣声音愈发高昂。

到底是分布式控制还是集中式控制,答案似乎明显偏向于后者了。

激情过后的冷静总能让人有种跌回现实的失落感,人们回忆起冷战时期分布式控制对权力和危机的化解能力,去中心化,区块链,又猛然炒起来。

否定和被否定,没完没了。

谁也打不过谁的时候,妥协才是答案,世界并非纯技术层面的非黑即白。

横向的对抗变成纵向的合作,分布式控制和集中式控制合作可否?

  • 集中式控制在广域的overlay层面起作用。
  • 分布式控制在相对小范围underlay层面起作用。

SDN在用,传统的IGP也在起作用:
SR(Segment Routing)不是MPLS的优化和升级_第1张图片

这就是SR,它是 妥协 的产物,所以我预测它将会成功。它和MPLS没有关系。

非黑即白的程序员世界

我在同事APP上看到一个帖子,大意是在问“hr会不会把员工每天打卡信息进行汇总分析,得到每个员工的到岗离岗以及加班时长信息,最终用来决定晋升,加薪,裁员…”。

我也不知道会还是不会,但我知道问这种问题的一定是程序员,并且他也已经知道答案,他应该觉得“会”,他只是想让大家都回答“会”从而确认一下。

程序员的世界永远是“只要能做到就一定会做”的,他们不会去考虑管理成本。比方说,我有一个问题,上网时如何逃过经理软件的监控,我觉得做个b64编码或者简单的凯撒加密就可以,但是程序员可以马上给出如何破解b64和凯撒加密的代码,告诉你说这样不行。但问题是,经理软件真的会花那么大功夫去监控你吗?或者说,你值得经理软件去监控吗?

Linux进程死了之后,do_exit会把所有的事情做完,然后wait来收尸,这是一个完美的世界。但是人死了之后,如果没有死亡申报,没有人会去注销他的身份证,户口本,他的儿子还能冒领退休金呢。这是漏洞,但是谁会去patch呢?不是不能patch,是管理成本问题…

我也是程序员,所以我来说说我的方法:
每个人每隔一分钟拉取分布式服务器上的20位十进制全局随机ID,手持身份证录像并大声念出ID并上传视频…

然而,世界不是技术的…

在工程师看来,技术本身不适合拿到形而上的层面来讨论,但只有在形而上的层面才有利于彻底理解技术而不至于沦落为它的奴隶。


浙江温州皮鞋湿,下雨进水不会胖。

你可能感兴趣的:(SR(Segment Routing)不是MPLS的优化和升级)