ndnsim結果分析

ndnSIM中提供了幾種trace用來對仿真結果進行跟蹤,生成數據文件txthtml

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

一、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

 

二、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

三、CsTracer(官網示例文件:ndn-tree-cs-tracers.cpp)app

僅當使用OldContentStore結構時,此跟蹤器才起做用!spa

經過使用ndn :: CsTracer,能夠得到仿真節點上緩存命中/緩存未命中的統計信息.net

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:該時間段內的數據包數量,其含義取決於「類型」列

四、AppDelayTracer(官網示例文件:ndn-tree-app-delay-tracer.cpp)rest

經過使用ndn :: AppDelayTracer,能夠獲取有關發出興趣和接收相應數據包之間的延遲的數據。code

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字段的語義已更改。

剩下的工做就是將結果數據文件處理後可視化htm

官方使用的R語言,這裏數據處理的方法均可,我習慣用python。

相關文章
相關標籤/搜索