【NDN学习】NDN的定义,基础,解决什么问题

NDN的作用:替代TCP/IP框架,用数据内容替代管道的地位

                      要点:

                               1.用户只需提供数据名字,无需地址

                               2.无需从服务器拿数据,可以从就近的缓存拿,数据可以来自任何节点

                               3.所有数据包都要有数字签名

 

TCP/IP

只提供一个通讯管道,重视管道的维护,不关心内容的传输

存在的问题:1.效率低,单个管道进行数据通信,容易造成堵塞

                      2.安全性低,重视管道保护,建立信任连接后,不能确保数据的安全性,哪怕发送恶意代码也照常

 

IP数据包和NDN数据包区别

IP数据包核心是地址

NDN包含兴趣包和数据包两种,没有地址,核心是名字

 

NDN数据包命名:

命名由程序应用产生,包括1.数据包大小,2.多层级(类似文件夹的地址分层)3.签名(和名字,密钥紧密相关)

NDN数据包名称举例:一个视频数据名

NDN路由机制

       命名驱动

       服务端需要注册名字前缀,例如BAIDU注册BAIDU/

       路由器根据名字建立路由表,计算出到达名字前缀的所有路径

       用户端拿名字发送兴趣包来请求数据,路由器根据名字匹配路由表转发数据

 

       路由缓存

       每个节点都可以缓存数据

       用户请求兴趣包后,服务端返回的数据包是没有收货地址的,那怎么给用户呢?其实路由器有一个兴趣包缓存表(PIT)

,每一次用户请求的数据都记录在案,路由器根据兴趣包缓存表反向传输给用户。

 

       路由转发

       IP数据包路由转发的劣势:

       1.单向的,数据包可能有去无回

       2.路由器无状态:不关心报文流,处理数据效率低(报文:完整的数据块,因为长短不一,传输过程中被封装成组,包,帧)

       3.不会缓存数据数据,太慢

       NDN的优势就是上面的反面(双向传输,有请求才有数据,一一对应)

 

数据包和兴趣包

cs:content store 

fib:Forwarding Interest Base

pit:Pending Interest Table

用户发送兴趣包-----CS查询是否有缓存------PIT查询是否有人请求过相同的名字,如果有,就不需要向服务端再次请求,数据包返回时给所有人发一份就行了

--------FIB如果没有,查询哪条路径对应名字,把数据包转发下去‘

 

返回数据包--------PIT查询是否有该数据的请求,有的话给所有请求列表分发,若没有则丢弃---------CS缓存一份,继续转发

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值