“命名数据网络”来了 TCP/IP会退休吗?

面对当今的互联网需求,TCP/IP有些不堪重负,研究人员想要用新的互联网协议栈取代它,这个新协议被称为“命名数据网络(Named Data Networking)”。

互联网并没有被构建为支持Netflix,并且在过去相当长的时间内,这是完全没问题的。

“命名数据网络”来了 TCP/IP会退休吗?

当互联网的架构师开始互连通信网络时,从现在的标准来看,他们当时需要支持的应用类型很简单:远程登录、电子邮件、文件传输,以及后来的Web访问。而互联网协议组TCP/IP非常适合完成这些任务。

在20世纪80年代初公共互联网诞生的不久后,业界就开发了域名系统(DNS)来将端点的数字IP地址转换成域名,例如acme.com。这样做的目的是更便于人们和应用的理解来交换数据。但对TCP/IP和DNS的依赖导致创建了两个单独的命名空间,一个用于数字,一个用于名字,研究人员称这个系统已经变得越来越复杂和麻烦。这是因为现在的互联网已经非常不同,它包括流媒体、点播视频内容、电子商务交易、数字和社交媒体、智能手机应用和云计算软件等。

加州大学洛杉矶分校(UCLA)计算机科学系教授Lixia Zhang表示:“你传输数据包到数据包中指定的目标IP地址,而你使用的应用则是采用域名地址。”Zhang同时也是命名数据网络(NDN)项目的首席研究员,她带领着一组研究人员致力于构建新的互联网架构来取代TCP/IP。他们的目标是创建可支持单个命名空间且消除数字IP地址的协议,使消费者和应用只能使用名称来访问这些数据。

这是一个大胆的举动,但这可以显著改进IP流量的处理方式。Frost &Sullivan新兴电信研究主管Ronald Gruia表示,对于运营商来说,通过更好的安全性和更智能的路由及数据包转发,NDN可以为互联网增加灵活性。对于企业来说,这可能意味着,他们可以不必确定地址,而是简单地指向某个话题,移动大量数据,这可以加速信息流动。

然而,实验室是远离生产环境的世界,NDN仍然处于实验室阶段。他们真的可以做到吗?NDN可以淘汰互联网的基础TCP/IP吗?更重要的是,IT行业是否会认真对待NDN?

从大学到生态系统

命名数据网络项目在2010年推出,作为美国国家科学基金会(NSF)资助的未来互联网架构(Future Internet Architecture)研究项目,该项目最初完全由美国10家机构的计算机科学家带领。它脱胎于一个更早期的项目—内容数据网络(Content-Data Networking),这是由TCP/IP主要贡献者之一Van Jacobson架构的网络。

该项目已经获得大约1500万美元的NSF资助。在去年秋天,随着全球各地其他研究机构以及整个行业对NDN的兴趣增加,该项目已经扩展为命名数据网络联盟。该项目已经向美国以外的一些学术研究人员敞开了大门,还有MITRE Corporation等组织和一些IT供应商,包括阿尔卡特朗讯、思科、华为、松下、VeriSign以及戴尔等。以营利为目的的公司必须贡献2.5万美元以加入该联盟,并获得投票权。然而,该联盟开发的任何协议和架构都将作为开放标准来公布。

“思科很擅长应对技术过渡,以及保持其在网络领域的整体行业领先地位,”Gruia表示,“从他们通过加入NDN联盟,我们看到了这一点。显然,他们的主要动机是在下一次升级周期到来时,他们可以保持其地位。”

该项目的创始人认为,随着互联网流量的增长,一台服务器和IP地址无法应对人们和应用制造的数千到数百万信息请求。该行业正在试图通过任播(anycast)和内容分发网络(CDN)来解决这一挑战,任播即发送请求数据的数据包到很多机器中的一台,而CDN则在靠近网络边缘的多个位置复制数据。不过,CDN仍然要求DNS服务器查找和提供所需的信息。

根据NDN支持者表示,目前我们需要使用这些方法来解决TCP/IP的局限性,但随着命名数据和内容的发展,这些做法会让TCP/IP变得更加复杂。

参与该项目的思科工作人员David Oran表示:“现在的问题是,是否有更好的协议架构考虑了互联网中应用不断变化的性质?”

NDN联盟正在努力回答这个问题,其目标是构建一个架构,可以消除对DNS的需要,并基于其名字来传输内容。

Oran称:“对于互联网,这是全新的3层网络,而且它将取代TCP。”

多路径路由

在基于NDN的网络中,数据本身可以有多个位置。NDN协议将通过结合NDN路由和被称为转发策略(forwarding strategy)的机制来决定使用哪个位置以满足数据请求。NDN转发被设计为可以使用多路径路由,即在NDN路由器中,路由表条目可以制定多个输出接口。转发策略决定使用哪个输出接口。

华盛顿大学计算机科学与工程副教授兼NDN研究人员Patrick Crowley解释说:“现在NDN测试平台最常见的默认转发策略会跟踪每个接口的性能,并选择最佳性能接口,同时偶尔循环其他替代接口。”

当为数据转发NDN请求时,路由器会考虑其数据包缓冲是否已经包含所请求的数据,它最近是否转发过此数据的请求,以及它应该使用什么输出接口来转发这个请求。如果路由器的内容存储(网络内缓存)已经包含该数据,则NDN路由器可以立即发送该数据。如果所请求的数据已经在传输过程中—NDN路由器可以使用待定请求表(Pending Interest Table)来确定这一点,该路由器可以聚集对相同数据的进一步请求,并减少上游流量。

Crowley表示:“对于广播和多播,这是非常有效和自然的机制。”NDN路由器可以基于路由表来确定将所请求的数据转发到哪里,路由表这非常类似于IP路由表,不过它包含名称前缀而不是IP地址前缀。

UCLA的Zhang表示,该请求只需检索所需的数据—实际的来源并不重要,只要数据包是由原始制造者签名,这可以允许消费者确定他们得到其所请求的东西。

“该请求并不一定会发送到数据制造者,数据可以来自端点、缓存或制造者。网络会将所请求的数据从最近的位置带回来,”她解释说,“NDN可以做IP所做的一切事情,并且可以比IP做更多事情,而不需要额外的调整,例如组播交付或网络内缓存。NDN内置了这些功能,而IP需要多次跳转来支持它们。”

设计用于视频和安全

思科的Oran表示,基于NDN的网络中的路由器将有“相当大”的存储容量来支持缓存,它们将执行数据缓存,在网络中中间根据需要自动优化。

这个功能存在两个动机。其一是电影和视频在互联网内容的比重越来越大,并且它们具有海量数据。与CDN的原则类似,基于NDN的网络可以缓存更接近用户的数据,以减少中央服务器的负载,并减少等待时间。但在NDN中缓存还有另一个目的。

Oran称:“在电源和电池有限的传感器网络,你不需要总是‘唤醒’传感器。你想要传感器缓存其在网络中的读取内容,这样当有人需要这些内容时,你不需要再回到设备并再次唤醒它,耗尽电池寿命。”在网络中缓存数据,而不是在设备缓存数据,这可以有利于物联网,其中包括这样的传感器网络。

NDN支持者表示,他们的架构还可以比IP更好地保护流量,因为攻击者很容易欺骗IP地址。对于NDN,当设备接收到对命名数据请求的答复时,数据包中的数据会包含数据发布服务器的加密签名。

Crowley称:“这让接收者可以独立地核实所请求名字和所接受数据之间的关系。”

NDN真的可以取代TCP/IP吗?

然而,在学术界之外,有些网络工程师并不那么确信NDN可以取代TCP/IP。

IT咨询公司Xi Group的Ivo Vachov是具有网络背景的软件工程师,他表示:“在我看来,另一个协议栈需要很长的时间才能实现TCP/IP目前的成熟度、部署率和部署质量。”

“我不相信新的协议栈会迅速席卷整个世界,”他补充说,“人们已经投入的精力和金钱不会允许迅速采用一项新技术。底层技术栈,数据链路层技术(以太网、移动和DSL)更难以改变。这将需要一段时间我们才可以从TCP/IP转移。”

该联盟的成员承认,NDN仍然处于研究的早期阶段,现在尚不清楚它是否会取代TCP/IP。如果NDN确实会取代IP,这个过程将非常缓慢,因为对大规模互联网进行淘汰并取代的工作根本无法很快完成。

“新架构的部署模式是开始作为IP之上的覆盖网络,然后随着时间的推移,随着流量转变和经济驱动这种变化,我们会淘汰IP,并运行NDN,”思科的Oran表示,“大多数这么大的变动需要花20到30年时间。在接下来的20年,我们仍将看到IP作为互联网的主要协议之一,但如果当这个新的NDN架构受到拥护时,IP可能会作为新架构的一种传输工具。”

作为新的3层网络协议,NDN将基于数据包请求数据,这类似于HTTP协议请求URL。

华盛顿大学的Crowley表示:“HTTP已被证明非常有效,但存在大量浪费的基础设施被用于映射HTTP流量到端到端IP信道。”NDN最终可能移除对这些浪费基础设施和额外映射的需要,从而加快数据请求。

相关推荐