首页 > 代码库 > NDN与TCP/IP
NDN与TCP/IP
搬运自http://blog.csdn.net/programmer_at/article/details/49203241
当前TCP/IP协议存在哪些问题?如何改进?
当时没有回答好,然后提到了NDN可以针对TCP/IP做出改进,但是在行家面前就漏洞百出,一是对TCP/IP网络理解不够深入,另外一方面是自己对NDN比较陌生。趁着这段时间比较得闲,在网上搜了《Named Data Networking(NDN) Project》(2010.10)和初略看了看北大出版的《信息中心网络与命名数据网络》(雷凯老师编著),对我当时的回答进行补充和完善吧。
有需求才有探索与实践,所以,首先,要理解一下当前的互联网的发展背景,才知道TCP/IP为什么逐渐无法满足我们的需求了。
一.当今互联网发展趋势与特征
2.手机网民规模日益扩大,对移动性网络的需求在增强
3.互联网应用习惯出现显著变化,包括新型即时通信(微信),微博,云视频,云存储等在内的新兴互联网内容应用迅速扩散,说明用户越来越依赖互联网来进行内容的传播和分发,对于内容共享需求日益强烈。
二.TCP/IP协议
1.目的
在两个实体之间端到端的数字数据交换2.优势
3.问题
(1)安全性
(2)移动性和多网址
(3)组播传输
(4)可拓展性和服务质量的保证
(5)资源浪费
(6)带宽竞争和拥塞会导致骨干网压力,网络出入口压力大
针对TCP/IP网络的这些问题,NDN做出如下的改进或者革命(其实NDN的提出是想要替代IP网络的主体地位)
三.NDN网络
1.数据和网络安全性高——安全性
通过检查IP数据包头部或有效载荷来推测数据包的内容,通过检查目的地址可以得出谁(来自哪里)在请求该数据。NDN明确的命名数据,无疑使网络更容易监控什么样的数据被请求,然而,NDN通过签名加密了关于数据请求者的信息,除非点对点链路直接连接到发出请求的主机,否则路由器将只知道有人请求某些数据,但不知道是谁发起请求。2.内容中心的位置无关传输机制——移动性
3.原路返回的反馈式流量平衡机制——流量,负载均衡;组网传播
NDN中只有Interest包被路由器转发,任何接收到该Interest包的路由节点,如果拥有可以满足这个Interest包的数据,就回复一个Data包,而Data包沿着各个节点PIT中所记录的接口信息按“原路返回”:不进行路由转发,只简单沿着Interest包被传输的相反路径返回。IP路由采用单一的最佳路径以防止循环,不能形成网络回路;而NDN中Interest包是不会形成环路的,,其关键设计是Interest包中的Nonce字段,该字段是个随机数,根据它可以很容易地判断出重复的Interest包,及时地丢弃,而Data包沿着Interest包被传输的相反路径返回,不形成环路,从而解决了组播的问题。
4.基于名字路由的可拓展性更优
NDN解决了TCP/IP网络中的IP地址耗尽问题,内网穿透问题,移动性问题,可扩展地址管理问题,打破传统的C/S结构,解决了TCP/IP网络下热门服务器负载过重的问题。5.基于逐跳的报文包转发——减少冗余传输
6.传输层的嵌入式缓存——减轻带宽压力
NDN路由器可以对内容缓存,而且这个缓存直接建立在网络传输层,节省了带宽,提高了内容共享率,无论IP路由器转发后不能重用该数据,而NDN路由器能够重用该数据,因为它们的命名是不变的,而且不包含代表位置相关的IP地址信息,数据可以在传输路径中间任意节点缓存,复制或者移动,尽可能长时间地保存接收到的数据,将数据缓存自身以满足未来潜在的请求。四.NDN网络工作机制简介
NDN中的通信是由接收端(即数据消费者)驱动的。为了接收数据,一个消费者发出一条兴趣(Interest)报文,该报文携带一个名字,由名字识别期望的数据(见1)。例如,一个消费者可请求/parc/videos/WidgetA.mpg。一台路由器记住请求到达的接口,之后通过在其转发信息表(FIB)(是由一种基于名字的路由协议传播的)中查找该名字而转发兴趣报文。一旦兴趣到达拥有被请求数据的一个节点,则发回一条数据(Data)报文,它携带数据的名字和内容,还有生产者密钥的一个签名(图1)。这条数据报文经兴趣报文所产生的反向路径到达消费者。注意兴趣或数据报文都没有携带任何主机或接口地址(例如IP地址);依据兴趣报文中携带的名字,兴趣报文向数据生产者路由,而数据报文依据在每个路由跳处由兴趣所建立的状态信息得以返回(图2)。
NDN路由器在一段时间内保持兴趣和数据。当从下游接收到相同数据的多条兴趣报文时,仅有第一条兴趣报文朝向数据源发送到上游。之后路由器将兴趣存储在未决兴趣表(PIT)之中,其中每个表项包含兴趣的名字以及由之接收到匹配兴趣的接口集合。当数据报文到达时,路由器查找匹配PIT表项,并将数据转发到PIT表项中列出的所有接口。之后路由器清除相应的PIT表项,并在内容存储(Content Store)中缓存数据,内容存储基本上是受限于缓存替换策略的路由器缓冲内存。数据采取与请求数据的兴趣报文相同的路径,但方向相反。一个数据沿每跳满足一个兴趣,取得逐跳的流平衡。
NDN与TCP/IP