互联网的架构

编者按:作者从计算机的架构说起,阐述了计算机架构的变革历程。由计算机到网络架构,是侧重终端还是侧重网络?这又引出了计算机厂商与电信运营商历史之战,20多年的纠葛以互联网的终端侧告胜。时至今日,云计算又将网络控制权从终端侧悄悄转移到网络侧。兜兜转转,谁是谁非?

“架构(Architecture)”用于描述一个系统内部的各组成要素,以及他们之间的相互关系。架构可以是开放的,也可以是封闭的。一个架构可以是另一个架构的要素,一个要素也可以有自己的架构。架构之间的关系可以是时间上的,也可以是空间上的,也可以是排列的或组合的。要素间可以是层级结构的,也可以是递归分形的。

把架构分解成要素时,是先水平还是先垂直,主要是技术性的,但很多时候是历史、政治活经济利益的结果。承载了30亿网民的互联网架构,是技术的,也是经济和政治的原因造成的。

早期的计算机与家电、计算器等一样,也是专用目的的。每次使用时若想要改变用途,就要先输入需执行的程序,更改线路甚至重新设计机器,因此可以称为是“硬件编程”的架构。现代计算机是通用目的的,是可以存储程序的,功能是软件定义的,这就是所谓的冯·诺伊曼架构的计算机。

存储程序型计算机可轻易改变其程序,并在程序控制下改变其工作性质和内容,因此冯·诺伊曼架构与存储程序型计算机成了互相通用的名词。后来的哈佛架构,则是一种将程序数据与普通数据分开存储的设计概念,是对冯.诺伊曼架构的一个重要发展。

冯.诺伊曼架构的计算机有五大基本组成部件。1) 输入数据和程序的输入设备; 2) 记忆程序和数据的存储器; 3)完成数据加工处理的运算器; 4)控制程序执行的控制器;5)输出处理结果的输出设备。

互联网和PC一样,都是冯.诺伊曼架构的计算机,是这一架构的又一实现,又一成功案例。只是为了从PC的本地环境延伸到全球性的网络环境,5个部分的具体表现形式与PC相比发生了显著变化,但每个部分的功能和目的仍然不变。移动互联网与PC互联网的架构一致,甚至连扩展都几乎没有。云计算也只是冯.诺伊曼架构计算机的一个变种,数据中心就是计算机。

架构差异体现在要素细节处。互联网中一些功能只能让终端去做,一些功能只能让网络去做,因此首先可以把互联网架构划分为终端和网络两大部分。但一些功能终端做得,网络也做得,重叠部分的麻烦来了。

60年代末,随着计算机产业的兴起,计算机厂家和电信运营商分别从需求侧和供给侧(终端侧和网络侧),开始了长达20多年的计算机联网的技术路线之争。前者说联网是计算机的一个新功能,让计算机多干点活;后者说联网是电信网络的一个增值业务,让网络多干点活。

即使是今天,二十多年竞争的遗迹仍随处可见。比如大学有两门课分别叫“计算机网络”和“数据通信”,一个来自计算机行业的叫法,一个来自电信行业的叫法。再比如,计算机界习惯采用水平方向、分层方式绘图;电信行业习惯垂直方向、分块方式绘图。无论计算机界的先空间还是电信业的先时间,都只是为了突出自己的重要性。

双方都希望自己多干点活,“减轻”对方的负担,都很“无私”,都夹杂了私活。架构背后的逻辑是活干的多,就意味着控制权更多,利益更大。于是互联网终端与网络功能的划分,从一个技术活变成了经济账,行成了两大阵营。

20多年的纠缠后,90年代初计算机行业的技术路线等来了WWW强援,决定性的胜出了这场网络技术的竞争,胜利者就是今日互联网使用的TCP/IP技术:最大限度地将控制权放在终端上,最大限度地简化网络,让网络变成缺乏智慧的傻网络。

今日互联网的几乎所有重要特征,包括优点和问题,外部的和内部的,创新的和安全的,都与这一战后结果有关。计算机界设计的“互联网思维”,主导了网络行业的普世价值。作为计算机界“富二代”的互联网巨头们,享受了战胜后的巨大红利。而战败后的全球电信业只能做“网络马车夫”了,只能去搬运比特当管道工去了,试图投奔对方的“转型”鲜有成功。

无知者无畏。互联网的这一架构,是一帮当时对通信没有多少概念的研究生主导干的,IP无连接的基本思路也被当年的通信界大佬讥讽为不懂通信。 在无法改变电信运营商拥有物理网络的事实面前,在政府拨款严重不足的情况下,这些研究生们为了按时毕业,激发出了尽量利用现成物理网络资源的IP over Everything的做法,Best effort的完成然后交给下波学生再迭代的互联网产品思维。没应用怎么办,那就开放网络让别人去做,于是有了Everything over IP,也自圆其说了。资源短缺,也是生产力。

这帮孩子也认为自己是为了毕业才“瞎对付”的一个技术,于是谦卑地把这些实验性的文档称为RFC(Request for Comments,请求评论),准备将来移交给真正“懂”通信的专家或国际标准组织。在国际权威标准组织接受缓慢的情况下,才有了IETF对国际互联网标准的主导地位。IETF和IAB负责互联网架构的政治正确性,任何试图增加网络控制力、破坏了“端到端透明”架构的标准提案,即使在市场上大行其道的,也很难在IETF得到讨论和批准,比如NAT。IETF为了坚持互联网架构的路线正确,早已从谦卑走向了僵化,虽然所有标准仍然叫RFC。

电信业今日比特管道的命运,从20年前技术路线之争“战败”时起,就已注定了的。技术轮回决定了,没有永远正确的架构,只有适应技术和市场环境的架构。而云计算,虽然仍然是冯.诺伊曼架构的,却正在把互联网的控制权,从终端侧悄悄转移到网络侧,转移到云服务商。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2015-03-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ThoughtWorks

如何培养技术洞见力? | TW洞见

今日洞见 本文作者:ThoughtWorks - 禚娴静。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或...

30740
来自专栏钱塘大数据

如何实现数据分析的工业化?

导读:顾名思义,工业化意味着自动化,能够实现事半功倍的效果。以前,农民用牛犁一块地需要花费几天时间,但现在用拖拉机只需要几个小时。同样,现在企业可以也用先进的...

346100
来自专栏刘望舒

为什么程序员们愿意在GitHub上开源自己的成果?

21030
来自专栏PPV课数据科学社区

【机器学习】Azure机器学习利用无处不在的数据成就生意和生活

利用数据,企业可以预测出潜在的趋势,比如员工离职和办公室能源需求。利用数据,健身房能找到与客户续约的最佳时间点。利用数据,鞋商可以决定哪种产品需...

368110
来自专栏hbbliyong

对程序员非常重要的24个软技能

英文原文:Soft Skills are so important to Software Engineers   软技能通常是被低估的。几乎所有的软件工程师都...

29240
来自专栏云计算D1net

传统IT七大职业的云计算转型之路

如今,企业上云已经成为不可阻挡的趋势,云计算这项技术已像水电一般被人们所利用。 毫无疑问,对于那些传统IT技术——企业架构师、系统管理者、测试验收工程师或者网络...

42180
来自专栏AI科技评论

百度如何用人工智能做金融?| KDD China

AI科技评论按:在周日于深圳举行腾讯大数据技术峰会暨KDD China技术峰会上,百度金融服务事业群组研发负责人、KDD China副主席沈抖博士介绍了百度金融...

31780
来自专栏大数据文摘

机器学习与人工智能将应用于哪些安全领域?

20370
来自专栏人称T客

Gartner:十大安全发展趋势预测

关键词:安全,漏洞管理,数据,IDaaS,CASB,物联网 薄弱的内部代码、云环境下数据以及物联网将成为下一阶段攻击活动的主要对象。 IT 安全人员需要更好地...

48820
来自专栏云计算D1net

人们关于云安全的关注并没有太多改变

行业专家Sue Marquette Poremba 关注网络安全已有十年时间,一直在撰写关于云计算安全的问题。十年前,企业对于采用云计算犹豫不决,因为面临很多问...

35970

扫码关注云+社区

领取腾讯云代金券