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

ndn-tools:chunks的使用_第1张图片

你可能感兴趣的:(ndn-tools:chunks的使用)