NDN网络学习笔记(一)——NDN基础

NDN(Named Data Networking)是用来取代当前TCP/IP架构的新的互联网架构,在2010年被提出。

NDN 的网络架构如下右图,它继承了 IP 架构的沙漏型瘦腰结构:
NDN继承了IP瘦腰模型

TCP/IP架构存在的问题

TCP/IP互联网只提供一个通讯管道,只负责维护管道,不关心传输的内容。内容的管理和获取是有应用和服务管理的。

存在哪些问题呢:

  1. 效率低。管道是单源单路径的,容易造成拥塞,比如同一个视频,要从单个服务器发送无数次。
  2. 可扩展性差。不断打补丁,网络设计管理越来越复杂。IP地址也不够用了。
  3. 安全性弱。重视管道保护,但不能保证数据本身的可靠性。比如建立一个信任连接后,对方发的恶意代码也会照收无误。

NDN架构基本思想

当前网络的功能(建立管道)和目的(获取数据)不匹配。NDN网络企图用数据内容取代管道的核心地位。
数据为核心
核心思想是:

  1. 用户程序只提供数据的名字,无需目的地址;
  2. 数据可以来自任何节点;(不用都从服务器拿数据,可以从就近的缓存获取)
  3. 每个数据包必须有数字签名;(保证安全可靠)

优势有:

  1. 高效。(多源多路径,组播发送,有缓存)
  2. 适合现代场景如移动互联网、物联网、灾害救援、时延容忍网络(DTN)等。(无需建立管道连接)
  3. 安全。(数据有签名,需要时可加密;应用程序开发时就考虑数据安全,而非事后弥补)

NDN数据包

数据包格式

IP数据包:核心字段是地址。
IP数据包
NDN数据包:分为兴趣包和数据包两种类型,不包含地址,核心是名字。
NDN数据包

数据包命名

名字由程序应用生产,对网络层透明。它包括:

  1. 数据包大小。(废话)
  2. 多层级。(就像文件夹分层一样,方便匹配前缀)
  3. 签名。(和名字、秘钥紧密关联,保证安全可靠)

下面是一个NDN数据包命名的例子:
NDN数据包名称举例:一个视频数据名

NDN路由机制

命名驱动

  1. 服务端注册名字。数据发布者需要注册一个名字前缀(name prefix),比如YouTube注册了一个YouTube/……

  2. 路由器根据名字建表。路由器能计算出到达每个名字前缀的路径,建立起路由表。

  3. 用户端拿名字请求数据。数据消费者发送兴趣包来请求数据,路由器根据名字和路由表匹配转发。

路由缓存

每个节点都可以缓存数据,可以被反复请求使用。

用户的请求的数据包是没有收货地址的,那快递回来后给谁呢?是这么解决的:每个路由器都维护一个兴趣包缓存表(PIT, Pending Interest Table),就像是淘宝订单,谁请求过什么数据都记录在案!路由器能根据兴趣包缓存表,将数据反向传输给请求者。

路由转发

先看反面典型,IP数据包路由转发。缺点有:

  1. 单向的。(请求可能有去无回)
  2. 路由器是无状态的。(太笨)
  3. 不会缓存任何数据。(太慢)
    IP路由机制

再看NDN兴趣包和数据包的转发。优势是:

  1. 双向的。(有请求才有数据,二者一一对应)
  2. 有状态的。(路由器记录多种状态,信息量大)
  3. 有缓存。

下面是兴趣包和数据包各自的路由机制。

兴趣包结构如下,查询步骤是:
CS:是否已经有缓存了;
PIT:是否已经有其他人请求过了,那就不用再重复发请求了,只需记录一下,在包回来时给所有请求都分一份就行;
FIB:查询哪条路径能满足请求,把兴趣包转发下去。
兴趣包路由
数据包结构如下,查询步骤是:
PIT:若有该数据的请求,发给所有请求列表;若无则直接丢弃。
CS:留一份缓存后,继续转发。
数据包路由

杂想

NDN可能取代IP吗?

新型网络体系提出多年,为啥现在仍是老一套呢?不禁想到了键盘布局的例子,当初键盘布局被特意打乱来减低机器打字的效率,防止太快机器出故障,结果这种“乱序”布局竟然流传至今,原因就是人们习惯了。

那么会不会因为习惯的力量,而同样使人们放弃更先进的NDN,继续使用IP呢?

这倒不会。因为网络结构作为底层实现,是不影响人们正常使用的。不论用NDN还是IP,用户使用习惯丝毫不受影响。NDN由于更灵活、高效、安全,能带来更好的用户体验,还是很有希望取得革命性发展的,就像汽车取代马车一样。

现在的IP网络实在太老旧,在飞速发展的时代面前显得越来越力不从心。相信不久的将来,新一代网络体系必将崭露头角。

参考资料:

张北川:命名数据网络(NDN)

视频简单介绍-命名数据网络

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值