NDN-lite 命名数据网络 -----第二章:对Interest和Data包的处理
NDN可以解决的问题
1.IP地址耗尽的问题。
2.内网穿透问题。
3.移动性问题,因为名字是固定不变的,不会随着位置的移动发生变化。
4.可扩展地址管理问题,这也使得传感网络成为可能。
关于NDN的路由机制
NDN的路由机制上保留了类似IP路由的转发路由表(Forwarding Interest Base,FIB),增加了待处理表(Pending Interest Table,PIT)和数据包缓存(Content Store,CS)数据机构。
NDN数据包是独立的,与他从哪里来以及要到哪里去都没有关系,传输过程中也不需要状态信息。NDN路由器会将Interest和Data包都缓存一段时间,分别暂存在PIT和CS中,以便等待交互应答。当针对相同的Data的多个Interest到达时,会进行消重处理,记录到达的接口(Face)然后存储在PIT表对应行中,但不会继续转发新到的这个Interest,当Data到来的时候,路由器查找到匹配的PIT条目,然后将Data从表中列出的接口转发回去,从而满足多个请求的需要。然后PIT删除相应的条目,将数据缓存到CS中。
NDN的通信策略
NDN中的通信策略完全由请求方驱动,请求方向网络广播兴趣包,以数据命名为纽带,通过Pull的方式来获取数据包。消费者发送一个兴趣包来请求一个数据包,收到这个兴趣包的中间节点,如果本地没有目标Data,将根据路由策略选择性转发到其邻居,直到找到该数据的节点。在一个Interest包得到Data包前,兴趣包每经过一跳都有可能得到匹配的数据包,不一定要走完路径到达数据源的终点,从而实现了Hop-by-hop流的平衡。
NDN路由器和IP路由器的CS
IP路由器不能重用该数据,而在NDN路由器中却可以重用数据,因为CS中的Data包的Name是不变的。
NDN中数据的交互
在NDN网络中,数据交互中的数据包粒度比较高,大多是传输单一的数据包,一般较大的传输数据对象(例如一个完整的视频文件)都将被细分为更小的数据块。(细化程度越高,粒度越低;细化程度越低,粒度越高)
NDN中的传输
NDN网络中没有一个单独的传输层,它将传输协议包含进了应用程序、支持库以及转发平台的策略组件之中。应用程序进程的复用,解复用是在NDN层直接使用的名称,数据的完整性和可靠性是应用程序直接处理的,可靠性的检查、数据签名和信任决定都在这里进行。
对Interest包的处理
(1):首先根据Content Name到CS中查询,这里采用的是最长公共前缀匹配算法,如果有的话,则直接返回对应的Data包,然后丢弃掉Interest包。
(2):如果没有,则先找PIT表,如果有匹配的话,则说明该路由节点此前已经接受过这样的一个Interest包,然后只保留传入Interest包的接口值,加入到PIT对应项的接口列表中,然后直接丢弃掉这个Interest。当有相应的Data包传回的时候,将该Data包返回到对应的列口接表中,并将该包存储到CS中。
(3):如果在CS和PIT中都没有的话,去找FIB。如果FIB中有的话,则说明是第一次接收到这个请求,同时清楚应该该向哪些节点去请求。这时根据FIB中对应的Name的接口列表(需排除掉进来时候的接口),向其他节点转发该兴趣包,然后再在PIT中加一项新的条目表明这样的Interest包正在请求数据。
(4):若上述三个步骤都没有得到相应的匹配结果,表明该节点没有相应的转发规则,需要直接将这个Interest包丢弃。
对Data包的处理
当路由器接收到Data包的时候,这个Data包会沿着刚才Interest包经过的路径返回,当路由器接收到Data包的时候,它会根据这个包的名字在PIT表中查询匹配的记录,将这个包从所有匹配的接口发出,PIT表中匹配的数据都将被删除。
NDN-lite 命名数据网络 -----第二章:对Interest和Data包的处理相关推荐
- NDN-lite 命名数据网络 -----第一章:关于Interest和Data
声明: 博主这里参考的是NDN-lite 格式规范的0.3版本,不同版本中的数据包和兴趣包中所包含的参数会有细微的差异. 关于NDN网络 命名数据网络(Named-Data Networkin ...
- NDN全栈: 一、命名数据网络(Named Data Networking)背景介绍
NDN全栈: 一.命名数据网络(Named Data Networking)背景介绍 johnosnfan 关注 2018.10.02 18:09 字数 4557 阅读 294评论 0喜欢 2 最近 ...
- webapi 路由限制命名控件_什么是命名数据网络NDN?
命名数据网络(Named Data Networking, NDN)经常出现在5G.边缘计算相关的文献书籍上,那NDN究竟是何方神圣?一起来了解一下吧! 一.NDN架构概述 众所周知,21世纪的重要特 ...
- 什么是命名数据网络NDN?
命名数据网络(Named Data Networking, NDN)经常出现在5G.边缘计算相关的文献书籍上,那NDN究竟是何方神圣?一起来了解一下吧! 一 NDN架构概述 众所周知,21世纪的重 ...
- 命名数据网络NDN中的概念小总结
命名数据网络NDN中的概念 1.命名数据网络NDN (named data network) 2.NDN中的两类报文 (1)请求报文(interest报文):当路由结点请求内容时,则发送包含该内容名字 ...
- 曲奇的ndnSIM API教程翻译 命名数据网络 NDN ndn simulator
目录 ndnSIM 开发文档 1.入门 1-1介绍 更多文档 支持 日志 1.2下载和编译 可移植性 先决条件 核心依赖项 NS-3 Python绑定的依赖项 下载ndnSIM源码 编译运行ndnSI ...
- 命名数据网络(NDN)中的数据安全隐患
当前互联网不断面临着动态性.安全性和可扩展性等方面的技术挑战,其发展速度已经难以适应全球网络规模的爆发式扩张. 什么是命名数据网络 (Named Data Network,NDN)? 为了适应发展迅猛 ...
- 命名数据网络(NDN)与TCP/IP网络
之前面试时遇到一个十分有趣的开放性的问题: 当前TCP/IP协议存在哪些问题?如何改进? 当时没有回答好,然后提到了NDN可以针对TCP/IP做出改进,但是在行家面前就漏洞百出,一是对TCP/IP网 ...
- 命名数据网络introduction
NDN将内容作为主体,不再关心内容存储的位置, 而关心的是内容本身是什么.NDN中每个节点 都具有内容存储库( content storage,CS),这是其 有别于传统网络最大的特点.与传统网络相比 ...
最新文章
- 缺陷大扫除(Bug Bash)
- javascript中作用域,优先级等等问题, 求助中。。。。。。。。
- 飞机大战boss入场代码_他又来了,BOSS直聘和国足谁先出线卡塔尔?
- Windows Mobile下使用ZLIB压缩
- c语言不安全库_为什么 C 语言仍然占据统治地位?
- 2682. 【WC2012选拔12.17】最长双回文串
- ubuntu登陆后一闪回到登陆界面
- css 盒模型的属性
- 安卓系统源代码下载(官方教程)
- python time\datatime\string直接转换
- 用tinypng插件创建gulp task压缩图片
- VGG16和VGG19的理解
- 维融高拍仪驱动通用_动态展示和教学 良田YL1050AF高拍仪评测
- 什么是WebSockets!?
- 基于Springboot的个人健康监控管理系统
- 国家级赛事正式开赛 | 2019数字中国创新大赛上线
- Innovator Admin 一个aras的管理器,又一个package安装方法
- 机器人总动员英语情歌_机器人总动员中英文字幕
- win ce车载系统刷机包_华为EMUI系统手机密码忘记了怎么办,
- axios每次发送请求会有两次,多一次Request Method: OPTIONS是怎么回事?
热门文章
- 我对价值投资的思考(一)
- 电流反馈和电压反馈的判断
- 微型计算机2019年度金奖产品,【MC 2019年度评选获奖产品展播】华硕/ROG DIY精品斩获多个大奖...
- jQuery - fadeIn淡入效果
- 使用 arp-scan 快速扫描局域网 IP -> raspberry pi ssh vnc
- ESP8266及AT指令学习笔记
- 智能指针shared_ptr引用计数工作原理
- MD5加密解密算法 MD5Utils
- android otg读写文件,Android USB Host在USB设备OTG中读/写文件
- 医疗行业容灾备份解决方案