ndn-tools:chunks的使用

ndncatchunks and ndnputchunks

ndncatchunks和ndnputchunks是一对将文件作为数据段传输的程序。

  • ndnputchunks是一个生产者程序,它从标准输入中读取文件,并将其作为NDN数据段提供。它根据NDN命名约定,将版本号和段号组件附加到指定的名称。
  • ndncatchunks是一个消费者程序,它获取文件的数据片段,可选地发现文件的最新版本,并将检索到的文件内容写入标准输出。
    1. ndncatchunks中的版本发现
    如果在用户指定的NDN名称末尾出现版本组件,则将使用提供的版本号,而不需要任何版本发现过程。否则,将发送发现兴趣以获取被请求内容的元数据,从这些元数据中解析数据版本。有关ndncatchunks中版本发现的包格式、命名约定和数据包的更多信息,请参考:Realtime Data Retrieval (RDR) protocol wiki页面。
    2. ndncatchunks中的兴趣包管道类型
    fixed:保持固定大小的飞行兴趣窗口;窗口大小通过命令行选项确定,默认为1。
    aimd:通过增加-增加/增加-减少(AIMD)调整窗口大小。默认情况下,它使用保守的窗口适应,也就是说,每轮运行一次,拥塞窗口最多减少一次。
    cubic:调整窗口大小,类似于TCP cubic算法。有关aimd和cubic的详细信息,请参考:用于命名数据网络的实际拥塞控制方案。
    默认兴趣管道类型为cubic。
    3. 用法举例
    发布
    下面的命令将在/localhost/demo/gp13前缀下发布GPL-3许可的文本:
ndnputchunks /localhost/demo/gpl3 < /usr/share/common-licenses/GPL-3

要找到发布的版本,你必须启动ndnputchunks与-p命令行选项,例如:

ndnputchunks -p /localhost/demo/gpl3 < /usr/share/common-licenses/GPL-3

此命令将把发布的版本打印到标准输出。若要发布具有特定版本的数据,必须将版本组件附加到前缀的末尾。版本组件必须遵循前面提到的NDN命名约定。例如,下面的命令将发布/localhost/demo/gpl3前缀的版本%FD%00% 00% e1qc %CF%17v:

ndnputchunks /localhost/demo/gpl3/%FD%00%00%01Qc%CF%17v < /usr/share/common-licenses/GPL-3

如果版本组件无效,将生成一个新的格式良好的版本并附加到提供的NDN名称。

接收
要检索已发布文件的最新版本,可以使用以下命令:

ndncatchunks /localhost/demo/gpl3

要获取已发布文件的特定版本,可以在名称的末尾指定版本号。例如,如果已知的版本是%FD%8%ee%81Qc%CF%17v,那么下面的命令将获取文件的准确版本(没有版本发现):

ndncatchunks /localhost/demo/gpl3/%FD%00%00%01Qc%CF%17v

测试

在主机192.168.0.35主机上发布内容名为/test的文件/home/lin/test,主机192.168.0.34以前缀为/test与192.168.0.35连接,主机192.168.0.37以前缀为/test与192.168.0.34连接。
发布者(192.168.0.35):

ndnputchunks /test < /home/lin/test

接收者(192.168.0.37)

ndncatchunks /test

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NDN tools是一套用于NDN(Named Data Networking)网络的工具集,包括ndncatchunksndnputchunks等程序。要安装NDN tools,首先需要在Ubuntu上安装ndn-cxx和NFD。可以按照官方的安装教程进行安装,但也可以参考一些博主整理的方法,比如这篇博文\[1\]提供了一种较为简单易用的安装方法。 安装NDN tools后,可以使用ndncatchunksndnputchunks来进行文件的数据段传输。ndnputchunks是一个生产者程序,它从标准输入中读取文件,并将其作为NDN数据段提供。ndncatchunks是一个消费者程序,它获取文件的数据片段,并将检索到的文件内容写入标准输出\[2\]。 在ndncatchunks中,可以使用版本发现来获取被请求内容的元数据。如果在用户指定的NDN名称末尾出现版本组件,则将使用提供的版本号。否则,将发送发现兴趣以获取数据版本\[2\]。 ndncatchunks中还有兴趣包管道类型的选项,包括fixed、aimd和cubic。fixed表示保持固定大小的飞行兴趣窗口,aimd表示通过增加-增加/增加-减少调整窗口大小,cubic表示类似于TCP cubic算法的窗口调整\[2\]。 下面是一个使用示例,使用ndnputchunks发布一个具有特定版本的数据。命令如下: ndnputchunks /localhost/demo/gpl3/%FD%00%00%01Qc%CF%17v < /usr/share/common-licenses/GPL-3 这个命令将在/localhost/demo/gpl3前缀下发布一个具有特定版本的GPL-3许可的文本\[3\]。 希望以上信息对您有所帮助。如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* [ndn-toolsndn-tlv-ping的使用](https://blog.csdn.net/MakiSlytherin/article/details/103409022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ndn-toolschunks使用](https://blog.csdn.net/MakiSlytherin/article/details/103476534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值