zoukankan      html  css  js  c++  java
  • ndnsim结果分析

    ndnSIM中提供了几种trace用来对仿真结果进行跟踪,生成数据文件txt

    官网地址: https://ndnsim.net/current/metric.html#packet-trace-helper-example

    1、L3RateTracer(官网示例文件:ndn-tree-tracers.cpp)

    L3RateTracer::InstallAll("rate-trace.txt", Seconds(1.0));
    跟踪NDN节点转发的兴趣/数据包的字节数和速率
    生成结果文件rate-trace.txt,包含以下内容
    Time    Node    FaceId    FaceDescr    Type    Packets    Kilobytes    PacketRaw    KilobytesRaw
    0.5    leaf-1    1    internal://    InInterests    0    0    0    0
    0.5    leaf-1    1    internal://    OutInterests    0    0    0    0
    0.5    leaf-1    1    internal://    InData    0    0    0    0
    0.5    leaf-1    1    internal://    OutData    0    0    0    0
    0.5    leaf-1    1    internal://    InNacks    0    0    0    0
    0.5    leaf-1    1    internal://    OutNacks    0    0    0    0CacheHits:“数据包”列指定缓存中满足的兴趣数

         CacheMisses:“数据包”列指定缓存中未满足的兴趣数

    0.5    leaf-1    1    internal://    InSatisfiedInterests    0    0    0    0
    0.5    leaf-1    1    internal://    InTimedOutInterests    0    0    0    0
    0.5    leaf-1    1    internal://    OutSatisfiedInterests    1.6    0    1    0
    0.5    leaf-1    1    internal://    OutTimedOutInterests    0    0    0    0

    2、L2RateTracer(官网示例文件:ndn-simple-withl2tracer.cpp)

    此跟踪器在本质上与ndn :: L3RateTracer相似,但当前仅跟踪第2层上的数据包丢弃
    下图是根据官网用R语言绘制的结果图
    ns3::L2RateTracer::InstallAll("rate-trace.txt", Seconds(1.0));
    结果文件包含以下内容:
    Time    Node    Interface    Type    Packets    Kilobytes    PacketsRaw    KilobytesRaw
    1       Rtr1    combined      Drop    0          0            0             0

    3、CsTracer(官网示例文件:ndn-tree-cs-tracers.cpp)

    仅当使用OldContentStore结构时,此跟踪器才起作用!

    通过使用ndn :: CsTracer,可以获得仿真节点上缓存命中/缓存未命中的统计信息

    CsTracer::InstallAll("cs-trace.txt", Seconds(1));

    结果文件包含:
    Time    Node    Type    Packets    
    1    leaf-1    CacheHits    0
    1    leaf-1    CacheMisses    11
    1    leaf-2    CacheHits    0
    1    leaf-2    CacheMisses    1

    Type:CacheHits: “数据包”列指定缓存中满足的兴趣数
       CacheMisses:“数据包”列指定缓存中未满足的兴趣数

    Packets:该时间段内的数据包数量,其含义取决于“类型”列

    4、AppDelayTracer(官网示例文件:ndn-tree-app-delay-tracer.cpp)

    通过使用ndn :: AppDelayTracer,可以获取有关发出兴趣和接收相应数据包之间的延迟的数据。

    AppDelayTracer::InstallAll("app-delays-trace.txt");

    结果文件中包含:
    Time    Node    AppId    SeqNo    Type    DelayS    DelayUS    RetxCount    HopCount
    10.0058    leaf-1    0    0    LastDelay    0.0057904    5790.4     1    2
    10.0058    leaf-1    0    0    FullDelay    9.00579     9.00579e+06    3    2

    seqNo:兴趣数据的序列号
    Type: LastDelay表示DelayS和DelayUS表示最后发送的兴趣和接收到的数据包之间的延迟
       FullDelay表示DelayS和DelayUS代表发送的第一个兴趣点和接收到的数据包之间的延迟(即,包括兴趣点重传的时间)
    DelayS:延迟值,以秒为单位
    DelayUS:延迟值,以微秒为单位(10 ^ -6)
    RetxCount:
    重发兴趣的次数(对于LastDelay始终等于1)
    HopCount:检索到的数据包在从生产者应用程序或缓存返回的途中经过的网络跃点数。

    请注意,与ndnSIM 1.0相比,HopCount字段的语义已更改。

    剩下的工作就是将结果数据文件处理后可视化

    官方使用的R语言,这里数据处理的方法都可,我习惯用python。

  • 相关阅读:
    JavaScript箭头函数 和 generator
    JavaScript闭包
    JavaScript高阶函数 map reduce filter sort
    JavaScript函数定义和调用 变量作用域
    python实现遗传算法求函数最大值(人工智能作业)
    PAT 1003
    制作U盘启动盘之后的恢复
    异步IO
    CCF201703-3 Markdown
    SQLAlchemy
  • 原文地址:https://www.cnblogs.com/liuhui5599/p/11727410.html
Copyright © 2011-2022 走看看