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)中缓存数据,内容存储基本上是受限于缓存替换策略的路由器缓冲内存。数据采取与请求数据的兴趣报文相同的路径,但方向相反。一个数据沿每跳满足一个兴趣,取得逐跳的流平衡。
转载于:https://www.cnblogs.com/junglefish/p/5874183.html
NDN与TCP/IP相关推荐
- NDN Link :利用区块链技术代替TCP/IP 通信模式
运行了近40年的互联网协议通信协议TCP / IP面对当今的互联网需求,已经变成难以增长的绊脚石,当年设计时根本无法想像到今时今日的网络世界.为令互联网可以持续发展,研究人员想要用新的互联网协议取代它 ...
- 【NDN IoT】Challenges in IoT Networking via TCP/IP Architecture 全文翻译
Challenges in IoT Networking via TCP/IP Architecture 在TCP/IP体系结构下物联网络存在的挑战 Wentao Shang ...
- 命名数据网络(NDN)与TCP/IP网络
之前面试时遇到一个十分有趣的开放性的问题: 当前TCP/IP协议存在哪些问题?如何改进? 当时没有回答好,然后提到了NDN可以针对TCP/IP做出改进,但是在行家面前就漏洞百出,一是对TCP/IP网 ...
- HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)
TCP/IP协议族 在介绍 HTTP 协议之前,我们先对 TCP/IP 协议族有个大概的了解,TCP/IP 协议从上到下主要分为应用层.传输层.网络层和数据链路层,各层的主要功能如下表所示: 协议层 ...
- TCP/IP协议三次握手与四次握手流程解析
原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...
- 用TCP/IP进行网际互联一
地址解析协议ARP 主机知道某个目的主机的IP就可以知道该目的主机的物理地址. 改进ARP 每个ARP广播分组中都包含有发送方自身的IP和物理地址的绑定,接收方在处理ARP分组时,先在自己的缓存中更新 ...
- ip设置 kali 重置_在 Windows 系统中如何重置 TCP/IP 协议堆栈修复网络连接问题
Internet 在 TCP/IP 协议上工作,如果 TCP/IP 协议堆栈在 Windows 或任何其他操作系统(例如 Linux 或 MacOS)中无法正常工作,则您的 Internet 连接会出 ...
- TCP/IP 协议栈4层结构及3次握手4次挥手
TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP 协议采用4层结构,分别是应用层.传输层.网络层和链路 ...
- TCP/IP基础概念及通信过程举例
TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...
最新文章
- 轻松进行iPad Safari设置
- mysql导出 error1290_解决MySQL导出数据到文件报错:ERROR 1290
- matlab中打不开保存好的模糊控制器,【求助大神】模糊控制器仿真,在Simulink运行时出现问题...
- 《统计自然语言处理》读书笔记 一.基础知识及概念介绍
- 浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包
- 监控程序崩溃重启_Bug 10 重启和正常输入的抉择记录
- 双链表嵌套的简单学生信息管理系统
- 【C++grammar】文件I/O流的基本用法
- leetcode 554. 砖墙
- 线程和std::shared_ptr智能指针使用
- oracle 查看日志组切换状态_【DB笔试面试800】在Oracle中,归档和非归档模式之间的不同点是什么?它们各自的优缺点是什么?...
- echo输出到stderr
- 如何在Kubernetes中暴露服务访问 1
- cad批量打印_CAD如何进行批量打印图纸
- 《尚书》全文、注释及译文(2)
- 碧蓝航线经济系统的流程图
- C语言入门(一):基础语法
- 【拼多多】新手卖家的启蒙贴 ,如何快乐的做图,快乐的开店
- 参考文献正确格式 如何直接得到
- iphone android选择,关于苹果手机和安卓手机的选择
热门文章
- [SPP-NET]Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
- 计算机网络总结:第三章 运输层
- eclipse中配置Tomcat,并进行简单测试
- JAVA的JDK环境变量的配置JAVA_HOME;PATH;CLASSHOME
- 已编辑好的mysql_如何修改一个已存在的数据库名称?
- ajax校验的优点,django框架中ajax的使用及避开CSRF 验证的方式详解
- 重磅 |《企业埋点体系搭建方法论及实践经验》白皮书上线
- HTML-语义类标签
- IC攻城狮求职宝典 01 2018年IC设计企业 笔试题 01 英伟达(Nvidia)
- Python实现进度条总结