︾
互联网发展至今已有45年之久,老态初现。可以肯定的是,它为我们提供了无与伦比的服务。其基础技术为我们提供了万维网(年约28岁,还称得上是青年)和全球通信网络。互联网用户基础已经达34亿,这些技术也相应地扩大了其规模。■然而,当今用户提出的性能要求之高,是互联网设计之初从未曾设想过的。最早的互联网协议的创始人在20世纪60年代后期开始了他们的创举,设计了一个主要用于在计算机间发送电子邮件的网络。然而如今,人们把更多的时间花在了流媒体Netflix电影上。通常,一个内容必须同时分发给成千上万甚至数百万用户——并且是实时的。■随着互联网的发展和使用方式的转变,互联网正承受着巨大的压力。这就是为什么当你想看“热门视频”时,经常会看到“正在缓冲”的提示。■网络工程师需要不断地修补程序,提高性能,或者在已经老朽的架构中寻找能略微增加容量的方法。展望我们所希望的互联网黄金时代,思科系统公司预计,到2020年全球流量将实现每年22%的增长。但是,如果仍然沿用传统的架构,这一愿景将很难实现。
︾
我们真正需要的是一个能够即时为许多用户提供更高带宽和较低延迟的互联网,并且要确保安全。我们和加州帕洛阿尔托研究中心(PARC)的同事们一起开发了一个更好的互联网架构。我们称之为内容中心网络(CCN)。我们的方法从根本上改变了信息的组织和提取方式,提高了网络的可靠性、可扩展性和安全性。
经过10年的发展,我们所提出的理念开始进入测试阶段:2016年1月,帕洛阿尔托研究中心发布了内容中心网络软件的开源代码。此后,来自个人、大学和工业研究机构的下载量超过了1000份。近年来,阿尔卡特朗讯(现为诺基亚公司的一部分)、华为、英特尔、松下和三星等公司也在内容中心网络的一个或多个方面开展了大量的研发工作。2016年2月,思科宣布收购了我们最初在帕洛阿尔托研究中心开发的内容中心网络平台。
︾
随着互联网用户数量向下一个10亿迈进,所有用户都想传输视频流并将内容上传到核心区,现在是时候重新考虑互联网的构建方式了。虽然我们不指望内容中心网络完全替代互联网协议,但我们相信,在很多情况下,替代架构可以提供更好的性能和安全性。
现代互联网的源头在很大程度上效仿了支持公共电话系统的技术。就像电话系统一样,早期的互联网需要一组识别用户的地址,以及一些能够说明如何在网络中传输及保护信息的指令。随着时间的推移,那些曾用于让电话更安全可靠的方法以及拓展电话系统的途径也被用到了互联网上。
︾
这个策略并不完美,因为早期的电话依赖电路交换网络。在这样的网络中,用户通过在呼叫开始时建立的单个连接发送信息流。而互联网是分组交换网络,这意味着它将所传递的内容(由许多比特构成)分成更小的数据包(packet)。在互联网中,数据包可以通过网络上的不同路径发送,并在目的地重新组合成原始内容。
每一部分在线内容都被存储在用户的服务器(称为主机)上,通常是内容创建者的服务器。要检索内容,其他用户必须导航到该服务器并提出请求。然后数据包必须发送给请求者。
在这个过程中,路由器必须不断地传递这些数据包。为了帮助路由器直接发送数据包,互联网的创始人想出了一个好办法,为每台计算机或服务器分配唯一的IP地址。IP地址类似于电话号码。路由器通过读取收到的数据包上(可表明其预期目的地)的比特信息,并在路由表中查找接收者的IP地址,向接受者的方向转发数据包。
每当互联网用户输入URL或电子邮件地址时,域名系统(DNS)就会将这些字符转换为匹配的IP地址。DNS可以看作是互联网的电话簿。通过这些服务器,一个URL(如http://spectrum.ieee.org/)对应一个IP地址(如23.197.245.16)。
︾
用户有了正确的IP地址后,为了使数据包在主机之间传输,互联网的创始人还建立了一个共享的网络架构。它有4个基本层,每一层都有其独特的功能。第一层是发送信息的物理链路,例如铜线、光纤电缆、蜂窝塔和家庭路由器。第二层和第三层由一些通用规则管理。这些规则也被称为协议,定义了信息如何被命名和路由。这里,主要协议包括互联网协议和传输控制协议。互联网协议负责管理数据包和主机的地址;传输控制协议定义了信息如何传递。最上层与特定应用有关,有更多在不同互联网浏览器及其他程序内翻译显示信息的协议。
这些基本协议支持互联网发展了40多年。但它们确实存在一些缺点。例如,它们并不总是以最有效的方式组织内容,也不包括安全性处理,如默认加密。尽管这些功能可以通过添加更多的协议来实现,但这样做可能会增加延迟并进一步产生额外流量,给网络造成负担。
︾
通过内容中心网络,我们根据信息在网络内的组织过程而不是主机IP地址开发了新架构。这就是为什么它被称为“内容中心网络”——它是以如何命名和存储内容(而非内容所在的位置)为基础而构建的。我们设计了新的协议,可以在给定时间从网络的任何地方发现和检索内容。这些协议还可以执行许多其他任务,使网络更快、更有弹性、更安全。
要了解该网络是如何工作的,我们将带你了解内容中心网络如何帮助喜欢在网上阅读文章或观看视频的用户找到并检索到内容数据包。
当今互联网中只有一种数据包,即同时携带内容以及用户之间的内容请求的数据包。但是在内容中心网络中,数据包有两种类型:内容数据包和兴趣数据包。它们协作向用户提供信息。内容数据包很像传统的数据包,其中的比特可以具体指明网页上的广告部分、文章中的照片或视频的前几秒。另一方面,兴趣数据包就像金毛寻回犬一样,用户将其发送到网络上,它会查找特定的内容数据包并将其带回来。
用户在访问网页时,计算机平均需要获取大约100个内容片段。一个内容片段可能是一段文字、一张照片或一个标题。通过内容中心网络,当你导航网站或者点击链接时,兴趣数据包会被自动发送,指明你想要检索的内容。只需输入一个URL或Web地址,就可以触发用户的浏览器自动发出数百个感兴趣的数据包,搜索构成该页面的各个组成部分。
︾
兴趣和内容数据包都有标签,每个标签都是一系列比特,表示相应数据包的类型、生成时间及其他信息。内容数据包上的标签还包括一个名称,指明包含哪些内容比特;而兴趣数据包上的标签指明希望找到的内容。例如,当用户点击链接并产生一大堆兴趣数据包时,网络就会搜索名称匹配的内容数据包以满足该请求。
数据包标签上的名称被称为统一资源标识符(URI),它有3个主要部分。第一部分是前缀,路由器会根据这一前缀,确定出一条内容信息的大致目的地;第二部分说明了数据包所包含的或希望查找的特定内容。第三部分列出其他一些信息,例如内容创建时间或应按照什么顺序显示。
假设一位网络用户的浏览器正在使用内容中心网络来浏览IEEESpectrum网站上的这篇文章。网络必须找到和传送能构成完整文章的所有内容数据包。为了简化过程,统一资源标识符使用分层命名系统来指示页面需要哪些数据包,以及按照什么顺序排列。
︾
一旦内容中心网络用户点击上述链接或在网上输入上述地址,用户的机器就会向网络发送兴趣数据包,以搜索对应的内容;其他被发出的兴趣数据包则搜索数据包10和11。当传送第9个兴趣数据包时,它所路经的路由器或服务器必须对其进行评估,以确定其是否包含符合要求的内容数据包。如果没有,则该节点必须明确接下来向哪儿转发这个兴趣数据包。
为了做到这一切,所有节点都需要一个被称为内容中心网络转发器的系统。转发器所作用的组件与路由中的组件类似。内容中心网络转发器需要处理器、内存和存储元件来管理请求。转发器还运行一个被称为转发引擎的通用软件程序。转发引擎决定在哪里存储内容、如何在流量很大时平衡负载,以及明确两个主机之间的哪条路径是最好的。
内容中心网络的转发引擎有3个主要组成部分:内容存储库(CS)、待定兴趣表(PIT)和转发信息库(FIB)。概括地说,内容中心网络的工作原理为:一个节点的转发引擎接收兴趣数据包,然后检查被请求的信息是否在其中;如果没有,接下来引擎会查询待定兴趣表;最后的办法是搜索其转发信息库。在它传递信息的同时,引擎还使用算法来决定要存储或缓存哪些内容,以及如何最好地向用户传递内容。
︾
要了解该系统如何改进我们现有的互联网协议,让我们看看新的兴趣数据包到达节点时会发生什么。转发引擎首先查找内容存储中的内容。内容存储库是一个可以容纳数千个内容数据包的数据库,用于快速便利地获取数据,类似常规路由器中的高速缓存。但内容中心网络有一个关键的不同:在传统的互联网协议中,内容只是存储于原始主机或有限数量的专用服务器,而内容中心网络则不同,它允许任何节点在网络中的任何地方复制和存储任何内容。
为构建自己的内容存储,节点可以抓取任何通过它的数据包,保存其副本,并将该副本添加到存储库中以备不时之需。该功能意味着内容不会只存留在最初被创建的服务器上。内容可以通过网络移动,并被存储在最需要的地方,这将有望实现更快的传送。
目前,诸如Netflix这样的大型公司,已在多个根据区域数据中心而构建的内容传送网络内花费了大量资金,存储那些受大众欢迎的内容信息的额外副本。有了内容中心网络,整个互联网就犹如一个巨大的内容传送网络。任何具有可用内存的服务器(不仅仅是Netflix管理的服务器)都可以存储那些备受欢迎的Netflix电影的前3秒。稍后,我们将解释内容中心网络最基本层中内置的特殊安全防范措施,通过这种方式可以安全地复制和存储内容。
回到我们的示例,如果转发器在节点的内容存储中找到了被请求的内容,则系统会通过相同的“面”或网关(兴趣数据包进入系统时所经过的路径)将内容包发送回给用户。然而,当兴趣数据包到达时,该节点的内容存储中可能并没有所需内容的副本。因此下一步,转发引擎会查询待定兴趣表。待定兴趣表实质上是一个记录日志,保存了近期通过节点的所有兴趣数据包的标签以及它们所请求的内容。待定兴趣表还会记录下每个兴趣数据包所到达的网关和用于转发该内容的网关。
︾
在新的兴趣数据包到达时,通过检查待定兴趣表,转发引擎可以知道最近是否接收过请求相同或内容相似的其他兴趣数据包。如果是这样,它可以选择沿着完全相同的路线转发这个新的兴趣包;也可以等到被请求的内容返回时,再复制一份,然后发送给所有对此感兴趣的用户。
思路是这样的,这些待定兴趣表为每个兴趣数据包创建一个碎屑踪迹,跟踪其从节点到节点的网络路径,直到找到对应兴趣包所请求的内容。这与传统网络截然不同,传统网络的路由器会立即“忘记”转发过的信息。转发引擎会在每个节点上查询相关的待定兴趣表,最终得到原始请求者的反向路径。
然而,假设在兴趣包到达节点时,转发引擎既没有在其内容存储中找到所请求内容的副本,也没有在待定兴趣表中找到任何条目。如果是这样,节点则会去查询转发信息库,这是尝试满足新请求的最后手段。
理想情况下,转发信息库应是整个网络中所有统一资源标识符前缀或可路由目的地的索引。当一个兴趣数据包到达时,转发引擎检查该索引,以找到所请求的内容的大致方位。然后,向对应方位的临近网关转发该兴趣数据包,并向待定兴趣表中添加新条目以供将来参考。在现实中,整个互联网的转发信息库太大,无法在每个节点中存储整个转发信息库,所以就像今天的路由表那样,将转发信息库信息拆分并散布在网络中。
︾
在传统网络中,路由器执行类似的搜索,以找到存有用户希望检索的内容的服务器IP地址,并确定应向哪个网关转发请求。这里的区别在于,转发信息库会通过内容中心网络找到信息在网络上的当前位置,而不是存储信息的服务器地址。
侧重内容本身的位置,而不是追踪其原始主机的地址,使得内容中心网络比当今的网络更灵活,反应更迅速。实际上,我们的研究表明,内容中心网络模型在可靠性、可扩展性和安全性3个关键方面都优于传统的基于IP的网络。
内容中心网络允许内容被存储在网络中的任何地方,这提高了网络的可靠性。这一特点对于比特错误率较高的无线网络特别有用,例如当数据被从智能手机传输到信元塔,或者数据从Wi-Fi接入点以广播形式传出时。当前的互联网协议将错误恢复的任务分配给较高级别的协议。通过复制曾发送过的内容数据包,内容中心网络节点可以减少需要重新传输的数据包所造成的上行流量。如果数据包未能传输到下一个节点,则上一个节点不需要再次从原始主机请求它,因为它有自己的副本,可以重发。
待定兴趣表还可以提高网络的扩展性。通过将类似的兴趣数据包汇聚在一起,可以减少用于满足每个请求所需的带宽。如果兴趣数据包所请求的内容在节点本地已有副本,那么节点就可以满足所有类似兴趣数据包的请求,而无须针对每个相同的兴趣数据包向原始主机发送新请求。如果记录显示对某一流行视频的需求很大,则该节点内的算法可能会在其内存中保留所有这些数据包的额外副本,以更快地满足将来的请求。
更高的可靠性和更强的扩展性是两个重要的优势。但对我们来说,内容中心网络最重要的优势是它提供的额外安全保障。在传统网络中,大多数安全机制都侧重于保护信息传播的路径(类似于早期电路交换电话网络中使用的策略)。相反,内容中心网络保护每个信息包,无论它们在哪里流动。
目前,两个用户可以通过已建立的互联网协议来建立安全连接。其中最常见的两种安全连接分别是HTTPS和安全传输层协议。使用HTTPS,用户的系统会检查第三方(如赛门铁克公司)颁发的数字证书,以验证其他用户的身份。而如果采用安全传输层协议,用户会在每个会话开始时协商一组加密密钥和加密算法,用于彼此安全地传递信息。
使用内容中心网络,每个内容数据包都默认加密,因为每个内容数据包都带有数字签名,以将其与原始的创建者对应。用户可以在自己的兴趣数据包中指定他们所信任的内容创建者(例如Netflix公司)。
︾
使用此系统,创建者可以允许其他用户复制和存储其内容,因为数据包始终保持加密状态并且可验证。只要用户能够验证签名,他们就可以确认来自相应创建者的内容数据包,比如电影,而且在任何地方都可以安全地访问。
这个安全功能带来了另一个好消息:分布式拒绝服务式攻击(黑客向网站或服务器发送大量请求以使其崩溃的行为)在内容中心网络中更难以执行。不正常的流量模式在内容中心网络中更容易辨别,可以被快速关闭。另一方面,聪明的攻击者可能会试图找出一种以兴趣数据包的形式来淹没网络的方法。这个安全问题必须在内容中心网络被广泛采用前解决。
另一个重大的挑战是如何将内容中心网络协议集成到以当前网速所运行的路由器中。分析师尤为担心的是,内容中心网络系统中的路由器必须存储相当大的转发信息库和待定兴趣表来跟踪网络上的众多移动内容对象,带来大量与计算和内存相关的挑战。然而,研究人员正在思科、华为、帕洛阿尔托研究中心和圣路易斯华盛顿大学研究这个问题,结果显示原型路由器可支持内容中心网络协议的各种元素。
同时,其他研究人员正在为内容中心网络的另一个版本制定自己的协议。这些组织在瑞士巴塞尔大学和瑞士国家科学基金会的支持下,建立了名为“内容中心网络-lite”和“命名数据网络”的类似架构。所有这些项目以及帕洛阿尔托研究中心软件都是一个更广泛领域——信息中心网络(ICN)的一部分,其中包括重新划分互联网架构但与内容中心网络没有直接关系的其他研究。
︾
值得一提的是GreenICN研究计划。该计划由德国哥廷根大学的傅晓明领导,十几所大学和公司合作进行,探讨如何使用新技术(包括帕洛阿尔托研究中心的开源内容中心网络软件)创建更强大的网络,以便在自然灾害后迅速部署。傅晓明和他的同事利用了内容中心网络不依赖于任何私人网络就可以独立运行并可更好管理有限能源资源的能力。该团队在2016年初展示了一个网络原型。
从一开始就没有人预测到互联网会发展成什么样。对于人们在网上如何活动,现在我们已经有了45年的经验。我们希望建立比上一代更好的互联网。我们相信,有关内容中心网络的早期商业部署或许将在明年进行。或许内容中心网络会部署在用于视频分发或金融交易的私人网络,届时转发器和缓存的数量可以被谨慎地控制。
今天的互联网还处于发展中期,很难预测其未来的状况。但请想想:1876年,西部联合电报公司放弃购买亚历山大•格雷厄姆•贝尔的电话专利,并在内部备忘录中表示:“‘电话’”缺点太多,不能将其视为通信手段。”
自从有了电话,技术变革的步伐急剧加快,所以很难想象当前的互联网技术可以持续125年。借助内容中心网络,互联网可以开始新的演变,在数十年后发展成为数十亿用户可以依赖的更快、更安全的服务。
作者: GlennEdens , Glenn Scott
>>>本文为原创,转载请回复。<<<