命名数据网络(Named Data Networking, NDN)经常出现在5G、边缘计算相关的文献书籍上,那NDN究竟是何方神圣?一起来了解一下吧!

一、NDN架构概述

众所周知,21世纪的重要特征就是数字化、信息化和网络化,它是一个以网络为核心的信息时代。显然,信息化的实现需要依靠网络,通过网络以非常迅速的速度传递信息。信息网络对社会生活、社会经济等方面已经产生不可估量的影响。信息网络主要提供两个重要的功能:连通性和共享。所谓连通性就是用户可以通过网络交换信息而不受距离的限制。所谓共享是指资源共享,用户通过网络从服务器上获取自己所需要的资源。

TCP/IP体系结构通过分层协作的方式有条不紊的交换数据。TCP/IP体系结构规范了网络通信方式,主机与主机之间通过寻址的方式传输信息。基于“主机到主机”通信方式地TCP/IP体系结构逐渐暴露出其诸多方面的不适性:可靠性、安全性和移动性均无法满足网络的发展需求。现如今,随着网络的不断变革,用户的需求占据主导地位,下一代网络的需求主要包括:内容导向性、移动性、扩展性和安全性。

为了从根本上解决上述问题,专家学者研究人员提出应开发出一个全新的网络架构取代现在的TCP/IP网络协议,于是2010年由美国国家科学基金会(National Science Foundation ,NSF)发起了未来网络架构研究项目。研究人员先后提出了各种方案,其中命名数据网络(Named Data Networking, NDN)将内容本身看作网络中的主导实体,采取基于内容的架构颠覆了当前基于主机的网络架构,因而成为未来未来研究中一个具有代表性的网络架构。NDN是一个完全不同于TCP/IP的体系结构,其将当前网络结构的优势和局限性反映在设计上,目前NDN已经成为国内外的研究热点。

二、NDN体系结构

如图所示,传统的TCP/IP网络体系结构采用的是沙漏架构模型,采用分层结构并通过统一的接口进行数据交换使得层与层之间相互透明。其中最重要的是沙漏“细腰”部分的网络层,基于IP数据包的网络通信基本上覆盖了所有的功能需求。但也正是这个“细腰”的结构无法很好的适应网络向信息中心网络(Information Center Network,ICN)转变趋势,制约了互联网的快速发展。

沙漏模型

通过对TCP/IP的优势、局限性和使用经验等方面的研究,研究人员决定在NDN的架构上保留传统的TCP/IP网络的沙漏模型及分层思想,并对“细腰”处的中间层进行颠覆式的改进,如上图所示。这种改进的核心关键在于完全舍弃了基于IP地址的通信方式,采用基于内容本身的通信方式,根据内容本身对网络中的所有内容数据进行命名,在转发路由机制中通过对内容数据的名字匹配检索获取信息,从而建立一个分布式网络。这样的通信方式不再关心内容数据的存储位置,而直接提供面向内容的服务。NDN的网络架构有效解决了许多网络中现存的通信兼容问题和线路分配问题。

NDN网络架构的优势不仅体现在根据内容本身对网络中的所有内容数据进行命名,还体现在其基于数据本身的安全机制和多样的路由策略选择上。在数据安全方面,由应用进程对内容数据直接进行加密及数字签名以实现对数据安全的控制。在路由策略选择方面,由策略层负责管理转发、路由选择和存储几大功能,其突出的特点是可同时利用3G、蓝牙、WiFI等多种连接方式,并能够在动态环境中灵活切换至最优的连接方式。

因此,NDN网络架构的主要改变如下:

(1)数据命名:根据内容本身内容数据直接进行层次命名,实现了对内容数据的共享;

(2)安全性:对内容数据直接进行加密及数字签名实现对数据安全的控制;

(3)网络节点存储模块:更好的支持时变、断续连接和移动性等环境。

NDN 中有两类角色,分别为消费者(Consumer)和生产者(Producer);有两类包,分别为Interest 包和Data 包;内容(Content)均由名字(Name)作为标识。消费者若要请求某内容,则产生带有相应名字的 Interest包,通过网络转发,到达存有此内容的结点,此结点收到Interest包后,沿着此 Interest 包的反向路径返回携带相应名字的Data包。因此,NDN 采用的是接收者驱动即拉(Pull)机制。Interest包和 Data包的结构如下图所示。

Interest 包和 Data 包结构图

与传统 IP 网络不同的是,NDN 中间结点即路由器支持缓存(Cache),每个结点都维护三个模块,分别是内容存储 (Content Store, CS)、待定 Interest 表 (Pending Interest Table, PIT)、转发信息库(Forwarding Information Base, FIB)。

收到 Interest 包后,路由器首先检查 CS 中是否缓存了相应内容,如果有则直接回复 Data包,如果没有则查找 PIT,如果 PIT 已有相应条目,则只记录收到 Interest 包的接口而不转发,如果没有则依照 FIB 和转发策略转发,并增加相应的 PIT 条目,或是根据相关信息丢弃Interest 包。收到 Data 包后,路由器根据 PIT 中相应条目的信息转发,由于此内容请求已经满足,转发后路由器将删除 PIT 相应条目,并依据缓存策略和相关替换机制决定 CS 中存储的内容。显然,名字在NDN 转发过程中占据着核心地位,通常有层次化和扁平化两种命名方式,而转发则基于最长名字前缀匹配 。

三、NDN主要特点

NDN 主要有如下特点:

(1)以内容为中心的去中心化架构。Interest包和 Data 包的结构意味着网内的所有动作均以其名字为中心,因而不再需要建立类似于传统 IP 网络中端到端的连接,也无需采用集中式架构。

(2)以数据为中心的安全性。每个Data 包都有签名,从而在包这一层次确保了数据的安全性,应用通过加密和分发密钥来控制其他结点对内容的访问权限。

(3) 支持网内存储和 Interest 包聚合。NDN 路由器的 CS 能够存储内容,一旦中间结点能满足Interest 包的请求,则无需进一步转发即可直接返回相应的 Data 包;Interest 包聚合机制使中间结点在相应情况下无需重复转发相同的内容,这降低了网内流量,减轻了内容生产者的负担,增强了网络性能。

(4)支持新的路由协议。NDN 支持自适应转发面,支持多路径转发和快速故障恢复,路由协议的作用是传递初始拓扑、策略信息及其长期变化,计算路由表,因此可采用若干新的路由协议,如双曲路由,取得较好效果的同时减少其开销。

四、 NDN杂谈

为了简化网络架构,Verizon和思科使用命名数据进行测试,而不是使用IP地址等位置标识符。用于视频传输优化。预期NDN的好处包括动态自适应流和媒体的负载平衡。此外,在网络中转发和缓存内容可以增加流量本地化,并通过利用多播节省带宽来释放回程和核心。由于NDN是访问层不可知的,它还支持不同访问方法(如5G和Wi-Fi)之间实现更高效的切换——随着5G的推出,这种共存将继续下去。

全球著名咨询公司Gartner预计,NDN的优势将弥补边缘计算的不足,至少在缓存、视频优化、应用程序加速和带宽节省方面是如此。

参考资料:

[1] 郑晓琳. 基于NDN架构的5G选择策略研究述.北京交通大学,2016.

[2]张君菲.基于层次分析法的 NDN 缓存策略.网络天地,2019.

[3]陈昱彤,刘开华,李卓,等.基于命名数据网络的5G架构网络层研究.南开大学学报,2019.
[4]李彤,王枫皓.基于NDN的战术网优势及可行性分析.信息通信,2019.

[5]顾艳春,杨吉渊.命名数据网技术的应用.佛山科学技术学院学报,2019.

webapi 路由限制命名控件_什么是命名数据网络NDN?相关推荐

  1. webapi 路由限制命名控件_解决Web API路由配置支持Area及命名空间参数

    usingSystem;usingSystem.Collections.Concurrent;usingSystem.Collections.Generic;usingSystem.Linq;usin ...

  2. CADEditorX新控件_可进君羊交流与学习

    CADEditorX是一个ActiveX组件,用于在支持ActiveX和COM技术的任何开发环境中(例如C#,Visual C ++,Delphi,VB,JavaScript等)将CAD功能添加到网页 ...

  3. C# mschart 控件 框选 删除部分数据 及游标CursorX CursorY 使用

    C# mschart 控件 框选 删除部分数据 实现功能 : 1.鼠标框选,选中chart控件中部分数据: 2.将选中的数据标红显示: 3.删除选中的红色数据: demo源码下载:https://gi ...

  4. SpreadJS 纯前端表格控件应用案例:金融业数据智能分析平台

    由北京海创研发的金融业数据智能分析平台,通过嵌入 SpreadJS,实现了基于Web的数据采集.自助式报表设计与浏览.灵活查询.自主分析和数据预测等功能,简洁.易用,有效解决了用户数据填报.查询和分析 ...

  5. 命名数据网络NDN中的概念小总结

    命名数据网络NDN中的概念 1.命名数据网络NDN (named data network) 2.NDN中的两类报文 (1)请求报文(interest报文):当路由结点请求内容时,则发送包含该内容名字 ...

  6. vb表格控件_(超级干货)ExcelVBA拆分表格并分别发送邮件增强版

    这是POINT小数点的第 339 篇文章 点点写在前面: 之前我们有分享过一个场景1:你制作了一份总表你想要拆分成各个分公司,并且你需要对分公司的多个同事发送邮件.如果有20几个分公司,你要拆分+写邮 ...

  7. android 模糊查询控件_第三十二篇:在SOUI2.0中像android一样使用资源

    SOUI2.0之前,在SOUI中使用资源通常是直接使用这个资源的name(一个字符串)来引用.使用字符串的好处在于字符串能够表达这个资源的意义,因此使用字符串也是现代UI引擎常用的方式.尽管直接使用字 ...

  8. sketch里的ios控件_使用Sketch建立Design System

    一. 有关Design System 之前的文章<使用Adobe XD建立Design System>中介绍了什么是Design System,它有什么用,在设计的哪个阶段使用以及如何用A ...

  9. excel不能插入activex控件_用excel做下拉多选菜单

    先看视频: 下拉多选菜单https://www.zhihu.com/video/1070640311239249920 在日常工作中,有时候我们需要在单元格中输入多个固定内容的某几个项,手动输入很麻烦 ...

最新文章

  1. axure9 邮件点击效果_总是收到无关的工作邮件?这个有意思的工具可以帮你消灭它们...
  2. 【漏洞实战】某网站JS文件泄露导致拿到服务器权限
  3. android Notification的使用
  4. 电池技术多年没有较大发展,成为移动设备最大制约
  5. mysql中函数大全_MySql 函数大全(一)
  6. 连接上linux上的ip在哪个文件夹,linux – 当IP别名时,操作系统如何确定哪个IP地址将用作出站TCP / IP连接的源?...
  7. maven中net.sf.json报错的解决方法
  8. 应用发布前,需要注意事情
  9. 魔改部署自己专属的合成大西瓜(一:运行篇)
  10. ELK ElasticSearch、Logstash和Kibana的部署
  11. mysql漏洞如何打补丁_WordPress 5.1 CSRF to RCE 漏洞详解
  12. 2018全国计算机二级c语言题库,全国计算机二级c语言题库试题及答案
  13. php 天气小偷程序,天气小偷程序,自动采集信息入库
  14. Nginx安装配置详解
  15. Python 获取每月的工作日天数 (法定假+周末)天数
  16. uplink Tx switching for ENDC/CA
  17. (2)卷积 卷积和
  18. 华为路由器负载均衡_华为AR路由器配置双出口静态IP双链路负载 | 铭泰网络
  19. 触摸IC XTP2046 驱动笔记
  20. 知识变现海哥|知识变现需要使用哪些工具

热门文章

  1. Jmeter(一)http接口添加header和cookie
  2. redis和mecache和ehcache的特点
  3. [DFS] [BFS] poj1979 poj3009 poj3669
  4. C#中如何利用操作符重载和转换操作符
  5. Cannot get a connection, pool error Timeout waiting for idle object (获取不到数据库连接)...
  6. Oracle锁庞大介绍
  7. [Flex]Flex 3.0 and Adobe AIR 1.0正式版发布!
  8. 计算机专业毕设外文翻译springboot_java毕业设计_springboot框架的计算机系党员信息管理系统...
  9. webbrowser 访问iframe拒绝访问_Win10系统下Documents and Settings系统文件夹拒绝访问解决方法...
  10. mysql从大到小排序_sql语句时间排序 sql语句按照时间排序