重塑互联网最好的方式:以内容为中心的网络

作者:By Glenn Edens and Glenn Scott
译者:NDN新链社区

原文链接:
https://spectrum.ieee.org/telecom/internet/a-better-way-to-organize-the-internet-contentcentric-networking

重塑互联网最好的方式:以内容为中心的网络_第1张图片
宏大的新网络计划有望使互联网更安全,更可靠。

互联网已经有45多年的历史了,并且开始了属于它的时代。可以肯定的是,它很好地为我们服务,它的底层技术提供了万维网(大概是28岁左右的年轻人)和全球通信网络。即使其用户数量已激增至34亿,这些技术的规模也令人赞叹。

但是,今天,所有互联网用户都需要互联网从未有过的高性能。最初的IP协议的开拓者在1960年代后期开始设计一个主要用于从一台计算机向另一台计算机发送电子邮件的网络。而现在,人们花更多的时间观看Netflix电影。通常,一个内容必须实时地分发给成千上万的用户。

随着其互联网增长和使用方式的变化,互联网底层架构有很大的压力。这就是为什么你在尝试观看病毒式视频时,经常需要“缓冲”消息的原因。更多网络工程师发现自己在增强补丁程序以提高性能,或者从原先笨拙的基础架构中想出能增多容量的方法。

即使这样,未来也有望依然是互联网的黄金时代,思科系统公司预计,到2020年,全球流量每年将以22%的速度增长。但是,如果仍然使用原来的框架,很难想象接着会发生什么情况。

我们真正需要的是同时为许多用户提供更多带宽和更低延迟的互联网,并且有更高的安全性。我们与加州帕洛阿尔托研究中心(PARC)的同事一起,开发了更好的互联网架构,称之为以内容为中心的网络 (CCN)。我们从根本上改变了组织信息和检索方式,并改善了网络的可靠性,可扩展性和安全性。

经过十年的开发,我们现在正在测试概念:从2016年1月,PARC发布了CCN软件的开源代码,不仅个人、大学还有行业研究组织进行下载至1000多次。近年来,像是阿尔卡特朗讯(隶属于诺基亚)、华为、英特尔、松下和三星在内的公司也已经在CCN的一个甚至多个方面进行了大量的研发工作。2月,思科宣布已收购了我们最初在PARC开发的CCN平台。

随着互联网拓展到下一个十亿用户,所有用户都希望通过短视频和上传内容至他们核心内容,现在该是我们重新思考互联网构建方式的时候。尽管我们不希望CCN能够完全替代IP协议,但我们坚信一个替代的架构可以在许多情况下提供更好的性能和安全性。

现代互联网很大程度上起源于支持公共电话系统的技术。就像电话系统一样,早期的互联网需要一组地址来标识用户,并需要指令来阐明信息如何在整个网络中路由和保护的。随着时间的发展,互联网上出现许多像电话一样可以呼叫可靠且安全,让电话系统扩大规模并重塑互联网。

不过,该策略并不完美,因为早期的电话依赖电路交换网络。在这样的网络中,用户通过电话呼叫时建立一个连接发送了信息流。互联网是一个分组交换网络,这意味着它将组成内容的字符串分离为小的数据(数据包)。在互联网上,数据包可以通过网络上的不同路径发送,并在目的地重新组合为原始内容。

每个线上内容都存储在用户的服务器(称为主机)上,通常是内容创建者的服务器。要检索内容,其他用户必须使用其请求导航到该服务器。然后,必须将数据包发送回请求者。在此过程中,路由器必须不断处理这些数据包。

为了帮助路由器定向数据包,互联网的开拓者提出了一个巧妙的系统为每台计算机或服务器分配唯一的IP地址。IP地址类似于电话号码。路由器通过读取传入内容包上指示其预期目的地位置来移动信息,在路由表中查找收件人的IP地址并沿收件人的方向转发数据包。

每当互联网用户键入URL或电子邮件地址时,域名系统(DNS)都会将这些字符转换为匹配的IP地址。DNS系统基本上是互联网的电话簿。通过这些服务器,URL(例如/)成为IP地址(例如23.197.245.16)。

为了使数据包能够在用户拥有正确的IP地址后在主机之间传输,互联网的开拓者还建立了共享的网络架构。它具有四个基本层,每个层都有不同的功能。第一层是通过其发送信息的物理链路,例如铜线,光缆,蜂窝塔和家用路由器。第二层和第三层由称为协议的通用规则控制,这些规则定义了如何命名和路由信息。在这里,主要协议是IP协议,它管理数据包和主机的地址;以及传输控制协议,它描述信息的传递方式。上层与特定的应用程序有关,有更多的协议转换信息以在不同的互联网浏览器和其他程序中展示。

重塑互联网最好的方式:以内容为中心的网络_第2张图片

一种新路线

为了在CCN中检索IEEE Spectrum文章,节点会为标记有Spectrum.ieee/2017的可路由前缀的内容发出兴趣包[黄色]。附近的节点[蓝色]转发请求[橙色],直到找到带有匹配标签的内容包[绿色框]。然后,节点通过追溯相同的路径将这些内容返回给请求者[绿色箭头]。沿路任何节点都可以将流行的内容复制并存储在其内容存储库[紫色]中,以备未来的请求使用。

这些基本协议为互联网提供了超过四十年的支持,的确它们确实有一些缺点。例如,他们并不总是以最有效的方式组织内容。默认情况下,它们也不包含安全性规定,例如加密。虽然可以通过添加更多协议来实现这些功能,但这样做会增加延迟负担,并给网络增加额外的流量。借助CCN,我们根据网络上的信息组织开发了一种新的架构(而不是主机的IP地址)。这就是为什么称其为CCN的原因-它基于内容命名和存储,而不是根据内容的位置。我们设计了新的协议,可以在给定时间从网络中的任意位置查找和检索内容,并且还执行许多其他任务,这些任务可以使网络更快,更灵活,更安全。为了了解所有这些方法的工作原理,我们将向您介绍CCN网络如何为有兴趣阅读文章或在网络上观看视频的用户查找和检索内容包。

在当今的互联网中,只有一种数据包,即一种在用户之间传输内容和内容请求的数据包。但是在CCN网络中,有两种类型:内容包和兴趣包。他们共同将信息带给用户。内容包最像传统数据包。内容包中的字符条可以指定网页上广告的一部分,文章中的一张照片或视频的前几秒钟。另一方面,兴趣包就像飞镖,用户发送到网络上特定的内容包并将其带回。当您访问网页时,您的计算机平均需要获取约100条内容。一条内容可以是一段文字,一张照片或一个标题。使用CCN,当您点击网站或单击链接时,您会自动发送兴趣包以指定要检索的内容。输入单个URL或网址可以触发用户的浏览器自动发送数百个兴趣包来搜索组成该页面的各个组件。

兴趣包和内容包都有标签,每个标签都是一系列字符串,指示它是哪种类型的数据包,生成时间和其他信息。内容包上的标签包含一个名称,则是该名称的内容的字符串,而兴趣包上的标签则表明它希望查找的内容。例如,当用户单击链接并生成一堆关注的数据包时,网络将搜索具有匹配名称的内容数据包以满足该请求。

数据包标签上的名称为统一资源标识符(URI),它包含三个主要部分。第一部分是路由器用来查找某内容的通用目的地的前缀,第二部分描述了数据包所保留或希望查找的特定内容。第三部分列出了所有其他信息,例如何时创建内容或内容应以什么顺序出现。假设网络浏览器正在使用CCN导航IEEE Spectrum的网站上的本篇文章。网络必须找到并传输完整文章的组合的所有内容包。为了简化该过程,URI使用分层命名系统来指示该页面需要哪些数据包以及以什么顺序排列。例如,一个内容包分组可以被命名Spectrum.ieee/2017/April/ver=2/chunk=9:540。在此例子中,spectrum.ieee是文章的第二个版本的可路由前缀,特定数据包是构成文章的第九个数据包540。

CCN用户单击该链接或将其键入为网络地址后,该用户的计算机就会将兴趣包连同其他兴趣包一起分发到网络中以搜索该内容,以搜索数据包10和11。对于9号兴趣包,遇到的每个路由器或服务器都必须评估该兴趣包,并确定其是否持有可满足其请求的内容包。如果不是,该节点必须找出网络中下一个转发兴趣包的位置。为此,每个节点都依赖一个称为CCN转发器的系统。转发器在与传统路由器相似的组件上运行。CCN转发器需要处理器、内存和存储来管理请求。转发器还运行一个称为转发引擎的通用软件程序。转发引擎决定在何处存储内容,流量繁忙时如何平衡负载以及两台主机之间的最佳路由。

CCN网络中的转发引擎具有三个主要组件:内容存储,待定兴趣表(PIT)和转发信息库。从广义上讲,CCN的工作方式如下:节点的转发引擎接收兴趣包,然后检查它们是否在其内容存储区中。如果不是,则引擎接下来会查询PIT,并作为最后一个步骤进行搜索,将其转发至信息库。在路由信息时,该引擎还使用算法来决定未来存储或缓存哪些内容,以及如何最好地将内容传输给用户。

要了解该系统如何改进我们现有的IP协议,请考虑当新的兴趣包到达节点时会发生什么。转发引擎首先在内容存储库中寻找内容,内容存储库是一个数据库,可以在其内存中保存数千个内容包,以便快速轻松地进行访问,就像传统路由器中的缓存功能。但是CCN有一个关键的区别, 与IP协议不同是只允许将内容存储在原始主机上,或者存储在有限数量的服务器上,而CCN则允许任何节点在网络中的任何位置复制和存储任何内容。

要构建自己的内容存储库,节点可以抓取通过它的任何数据包并保留它的副本,然后将该副本添加到其存储库中以满足未来的请求。此功能意味着内容不会停留在最初创建该内容的服务器上。内容可以在整个网络中移动并存储在最需要的地方,这有可能实现更快的传输。

当前,像Netflix这样的大公司要花很多钱才能将它们最受欢迎的内容的额外副本存储在由区域数据中心构建的内容传输网络上。使用CCN,整个互联网可以像一个大型内容传输网络一样。任何具有可用内存的服务器(不仅仅是Netflix管理的服务器)都可以存储流行的Netflix电影的前3秒。稍后,我们将说明CCN最基本层内置的特殊安全预防措施如何将这种方式安全地复制和存储内容。

重塑互联网最好的方式:以内容为中心的网络_第3张图片

节点的权力

服务器和路由器可以通过查询两个专用表:待定兴趣表(PIT)和转发信息库(FIB)来找到位于CCN网络上任何地方的内容包。FIB列出了当前存储内容的位置,而PIT跟踪了过去的转发请求。节点还可以提取已缓存在自己的内容存储(CS)中的内容包以满足请求。

回到我们的例子,如果转发器在节点的CS中找到了要查找的内容,系统通过发送兴趣包进入系统的同一“面”或网关将该内容包发还给用户。但是,当兴趣包到达时,该节点可能不会在其CS中保留所需内容的副本。因此,对于下一步,转发引擎将查询待定兴趣表(PIT),这是一本日志,其中记录着最近通过节点传播的所有兴趣包及其正在寻找的内容的运行状况。它还指出每个兴趣包到达的网关以及它用来转发该内容的网关。通过在新的兴趣包到达时检查待定兴趣表(PIT),转发引擎可以查看它是否最近收到了其他相同或相似内容的兴趣包。如果是这样,它可以选择沿完全相同的路径转发新的兴趣包。或者,它可以等待该内容返回,进行复制,然后将其发送给所有对此有兴趣的用户。

主要想法是PIT记录为每个兴趣包创建一小片追踪记录,跟踪其在网络中从一个节点到另一个节点的路由,直到找到要查找的内容为止。这与传统网络大不相同,在传统网络中,路由器会立即“忘记”他们转发的信息。然后,该转发器在每个节点上查询PIT,以遵循反向路径返回原始请求者。

不过,假设兴趣包到达一个节点,并且转发引擎无法在其内容存储库中找到所请求内容的副本,也无法在PIT中找到该条目。此时,节点转向转发信息库(FIB),这是它最后尝试满足新请求。

最理想的情况下,转发信息库(FIB)是整个网络中所有URI前缀或可路由目的地的索引。当兴趣包到达时,转发引擎会检查该索引以找到请求内容的普遍行踪。然后,它将通过任何网关发送兴趣包,将其移动到更靠近该位置的地方,并将新条目添加到PIT中以供未来做参考。实际上,整个互联网的FIB太大了无法将其存储在每个节点上,因此就像今天的路由表一样都分布在整个网络中。在传统网络中,路由器执行相似的搜索来查找服务器的IP地址,该服务器保存用户希望检索的信息字串,并找出发送请求的网关。区别在于,使用CCN,FIB可以找到信息本身在网络中的位置,而不是服务器地址。

通过专注于内容的位置而不是跟踪其原始主机的地址,CCN网络可以比当今的网络更加敏捷和快速响应。实际上,我们的研究表明CCN模型在三个关键方面将优于基于IP的传统网络:可靠,可扩展性和安全性。

CCN通过允许将任何内容存储在网络中的任何位置来提高可靠性。此功能在误码率较高的无线网络中特别有用,例如,当数据从智能手机传输到信号塔或从Wi-Fi接入广播时。当前的IP协议将错误修复留给更高级的协议栈。通过将内容包的副本发送一小段时间后,CCN节点可减少需要重传的数据包的上行流量。如果数据包无法传输到下一个节点,则前一个节点不需要从原始主机再次请求它,因为有自己的副本可以重传。

PIT可以让网络扩展更容易,通过将相似的兴趣包组合一起,可以减少每个请求所需的带宽。节点不必为每个相同兴趣包将新请求发送回原始主机,而是可以使用本地存储的内容的相同副本来满足这些兴趣包请求。如果记录显示对相关猫的病毒视频的需求很大,则该节点中的算法会提示它在其内容存储中保留所有这些数据包的额外副本,以便更快地满足将来的需求。这样有两个好处:提高可靠性和易于扩展网络。但是对我们而言,CCN的最重要优势是它更加安全。在传统网络中,大多数安全机制都集中于保护信息传播的路径(类似于早期电路交换电话网络中使用的策略)。反之,无论信息包流向何处,CCN都会很好保护其信息包。

目前,两个用户之间可以通过IP协议来建立安全连接。其中,最常见的两种方式是HTTPS和传输层安全性。使用HTTPS,用户系统可以通过第三方(例如Symantec Corp)颁发的数字证书来验证其他用户是否所声称的身份。通过TLS,用户在每个会话的开端通过协议的一组加密密钥和加密算法,相互通过密钥相互安全地传输信息。使用CCN,在默认情况下加密每个内容包,并带有数字签名,可将其链接接回其原始创建者。用户可以在其兴趣包中指定他们想要从那个创建者那里检索内容(例如 Netflix)。一旦找到具有创建者匹配签名的内容包,他们就可以对照第三方维护的记录来检查该签名,以确保这是该内容的正确签名。

使用该系统,创始者可以允许所有用户复制和存储内容,因为数据包会始终加密和可验证状态。只要用户可以验证签名,他们就知道内容包是由创建者发起的,并且用户可以在任何地方安全地访问内容 (动态图片)。此安全功能还有一个好消息:分布式拒绝服务攻击-黑客传送到网站或服务器大量的请求导致崩溃,这种攻击在CCN中更难执行。 在CCN网络中,异常流量更容易识别,并且会快速关闭。另一方面,聪明的黑客他们会试图找出一种方法来用兴趣包来占据整个网络。在广泛使用CCN之前, 必须解决这样的安全挑战。

另一个重大的挑战是弄清楚CCN协议如何集成到当前网络的速度下运行的路由器。分析人员非常担忧CCN系统中的路由器必须存储相当大的FIB和PIT表才能跟踪网络上的移动内容对象,这是计算和内存方面的重大的挑战。但是,思科、华为、PARC和圣路易斯的华盛顿大学的研究员正在研究此问题,他们都演示了支持CCN协议各种元素的路由器原型。

与此同时,其他研究人员正在找寻替代版本的CNN协议。这些小组在瑞士巴塞尔大学和国家科学基金会的支持下建立类似的架构,称为CCN-lite和命名数据网络(NDN)。所有这些项目,连同PARC软件都属于非常广泛的领域的一部分,即是ICN,包含跟重构IP协议架构的CCN是没有直接关系。

值得一提的项目 Green ICN研究项目,该项目由德国哥廷根大学的Fu Xiaoming带领,同十几所大学和公司合作。该计划将探索新型的技术(包含PARC的开源CCN软件),创造更强大的网络,自然灾害后能迅速进行部署。Fu和他们的同事利用CCN的优势能独立于任何私有网络运行,并更好地管理有限的资源。该小组于2016年初演示了网络原型。

成立最初,没有很多人能预想互联网能发展成今天的样子。而现在,我们有超过45年关于人们上网方面的知识。我们希望建立下一代互联网,甚至比上一代更好。我们相信CCN的早期商业部署能够在明年进行,用于视频分发或金融交易的私有网络上,该网络可以更好控制用户量、缓存量和转发。

很难预测当今互联网的未来,尤其20世纪中间时期时,但请考虑一下:1876年,西联汇款放弃了购买亚历山大·格雷厄姆·贝尔所有电话专利的机会,并且在内部备忘录指出在意义上的“电信交流”上,“电话”有很多缺点。

自电话问世以来,技术变革的步伐已大大加快,因此很难想象我们今天的互联网技术已经运行近125年。以CCN来说,互联网可以开始发展为一种更快、更安全的服务,数十亿用户将在未来数十年间一直依赖它。

此篇文章来自2017年4月的“数据包保护器”

**

你可能感兴趣的:(网络通信·)