工作机制

NDN中的通信是由接收端(即数据消费者)驱动的。为了接收数据,一个消费者发出一条兴趣(Interest)报文,该报文携带一个名字,由名字识别期望的数据(见1)。例如,一个消费者可请求/parc/videos/WidgetA.mpg。一台路由器记住请求到达的接口,之后通过在其转发信息表(FIB)(是由一种基于名字的路由协议传播的)中查找该名字而转发兴趣报文。一旦兴趣到达拥有被请求数据的一个节点,则发回一条数据(Data)报文,它携带数据的名字和内容,还有生产者密钥的一个签名(图1)。这条数据报文经兴趣报文所产生的反向路径到达消费者。注意兴趣或数据报文都没有携带任何主机或接口地址(例如IP地址);依据兴趣报文中携带的名字,兴趣报文向数据生产者路由,而数据报文依据在每个路由跳处由兴趣所建立的状态信息得以返回(图2)。
NDN路由器在一段时间内保持兴趣和数据。当从下游接收到相同数据的多条兴趣报文时,仅有第一条兴趣报文朝向数据源发送到上游。之后路由器将兴趣存储在未决兴趣表(PIT)之中,其中每个表项包含兴趣的名字以及由之接收到匹配兴趣的接口集合。当数据报文到达时,路由器查找匹配PIT表项,并将数据转发到PIT表项中列出的所有接口。之后路由器清除相应的PIT表项,并在内容存储(Content Store)中缓存数据,内容存储基本上是受限于缓存替换策略的路由器缓冲内存。数据采取与请求数据的兴趣报文相同的路径,但方向相反。一个数据沿每跳满足一个兴趣,取得逐跳的流平衡

image.png

优点

1.数据和网络安全性高——安全性


通过检查IP数据包头部或有效载荷来推测数据包的内容,通过检查目的地址可以得出谁(来自哪里)在请求该数据。NDN明确的命名数据,无疑使网络更容易监控什么样的数据被请求,然而,NDN通过签名加密了关于数据请求者的信息,除非点对点链路直接连接到发出请求的主机,否则路由器将只知道有人请求某些数据,但不知道是谁发起请求。

2.内容中心的位置无关传输机制——移动性


采用名字来标识数据包,NDN不再包含明确的主机或接口地址等位置信息,其通信是由数据请求驱动的,主要是拉数据模式,一旦Interest到达一个有请求数据的节点,那么就会返回一个数据包。无论请求包还是数据包,都没有携带任何主机或接口位置信息(如IP地址),请求包只依据自身携带的内容进行路由,而数据包则延Interest原路返回。

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.基于逐跳的报文包转发——减少冗余传输


请求数据时,请求方发出Interest包(含标识目标数据的数据命名),请求包可以在任意的连接无关的中间节点上被转发,一个Internet包经过每一跳都有可能从不同数据源(包括缓存)得到匹配的的Data包,不一定要走完路径到达数据源的终点。一旦data包在回传的路径上丢包,只需在丢包的节点断点续传。这样,就消除了对终端主机执行拥塞控制和传输确认的依赖。

6.传输层的嵌入式缓存——减轻带宽压力


NDN路由器可以对内容缓存,而且这个缓存直接建立在网络传输层,节省了带宽,提高了内容共享率,无论IP路由器转发后不能重用该数据,而NDN路由器能够重用该数据,因为它们的命名是不变的,而且不包含代表位置相关的IP地址信息,数据可以在传输路径中间任意节点缓存,复制或者移动,尽可能长时间地保存接收到的数据,将数据缓存自身以满足未来潜在的请求。

NDN命名网络工作机制和优点相关推荐

  1. JavaScript 是如何工作的:WebRTC和对等网络的机制!

    摘要: 深入JS系列18. 原文:JavaScript 是如何工作的:WebRTC 和对等网络的机制! 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这是专门探索 JavaScrip ...

  2. 闪电网络的 5 个优点和4 个缺点、本质、来源与工作原理……一文带你读懂闪电网络!...

    来源 | Cointelegraph 翻译 | 火火酱,责编 | Carol 出品 | 区块链大本营(blockchain_camp) 当中本聪(Satoshi Nakamoto)在2008年首次提出 ...

  3. 深入分析Java I/O的工作机制 (三)网络I/O的工作机制 很详细

    3.网络I/O的工作机制 前言:数据从一台主机(服务端)发送到网络中的另一台主机(客户端)需要经过很多步骤:首先需要有相互沟通的意向.其次要有能够沟通的物理渠道(物理链路):是通过电话,还是直接面对面 ...

  4. NDN助力网络5.0时代

    网络从模拟交换的1.0时代发展到时隙交换的2.0时代,在从信元交换的3.0时代步入数据路由的4.0时代,每一代的网络迭代都为了通信技术发展带来了潜能.随着高带宽.低延时业务(包括自动驾驶.云VR.工业 ...

  5. 2021年大数据HBase(十四):HBase的原理及其相关的工作机制

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的原理及其相关的工作机制 一.HBase的flus ...

  6. 深刻理解HDFS工作机制

    深入理解一个技术的工作机制是灵活运用和快速解决问题的根本方法,也是唯一途径.对于HDFS来说除了要明白它的应用场景和用法以及通用分布式架构之外更重要的是理解关键步骤的原理和实现细节.在看这篇博文之前需 ...

  7. HDFS(下):NameNode和SecondaryNameNode、HDFS工作机制、故障处理、集群安全模式、服役退役节点、集群黑白名单、DataNode多目录详解、HDFS2.x新特性

    接上篇,上篇文章传送门:HDFS(上):HDFS优缺点.HDFS操作.HDFS客户端操作.HDFS的API.HDFS数据流.HDFS的IO流.HDFS读写数据流程.HDFS文件处理详解.windows ...

  8. Hadoop生态圈(十三)- Namenode元数据管理及各组件工作机制

    目录 前言 1. Namenode元数据管理 1.1 元数据是什么 1.2 元数据管理概述 1.2.1 内存元数据 1.2.2 磁盘元数据 1.2.2.1 fsimage内存镜像文件 1.2.2.2 ...

  9. rsync工作机制(翻译)

    本篇为rsync官方推荐文章How Rsync Works的翻译,主要内容是Rsync术语说明和简单版的rsync工作原理.本篇没有通篇都进行翻译,前言直接跳过了,但为了文章的完整性,前言部分的原文还 ...

最新文章

  1. UNIX环境高级编程--第七章
  2. IOS APP配置.plist汇总(转自coolweather )
  3. css之line-height及图片文字垂直居中
  4. 360 mysql账户_MYSQL用户管理
  5. linux 脚本返回值
  6. Gurobi建模遇到的坑
  7. 初探机器学习之使用讯飞TTS服务实现在线语音合成
  8. 正则设置首字母大、小写
  9. Redis Lua 列表批量操作
  10. C语言const和volatile关键字
  11. 开源 Java 中文分词器 Ansj 作者孙健专访
  12. C语言打印矩形、长方形、平行四边形、各种三角形
  13. openjudge 1.5.37 雇佣兵
  14. windows环境elasticsearch设置登录用户名、密码
  15. 数字经济-新经济指数(2017-2022)31省数字经济测算(2013-2020)两大维度指标
  16. 逻辑电路是现代数字电子计算机的基础,数字逻辑电路基础与计算机系统集成技术...
  17. python分块上传
  18. Python--argparse
  19. 【Redis系列1】看完这一篇
  20. 操作系统 之哲学原理

热门文章

  1. 网络信息安全从业者,持NISP二级或CISP证书,最高可补贴30000元
  2. 海康存储服务器虚拟机,unraid 安装虚拟机攻略
  3. 中国生物降解塑料行业“十四五”发展规划及未来前景展望报告2021年版
  4. 一文带你复习计网中的重点知识(一万五千字长文)
  5. Markdown编辑神器Typora最终免费版
  6. OSPF DR选举详解
  7. python羊车门问题
  8. docker run出现问题(Client.Timeout exceeded while awaiting headers)
  9. 自然语言处理中的Character Embedding技术
  10. SQL对时间的操作,比如在当前时间上增加减少一天,在当前的时间上增加减少一个月