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

3、CsTracer(官网示例文件:ndn-tree-cs-tracers.cpp)
仅当使用OldContentStore结构时,此跟踪器才起作用!
通过使用ndn :: CsTracer,可以获得仿真节点上缓存命中/缓存未命中的统计信息
CsTracer::InstallAll("cs-trace.txt", Seconds());
结果文件包含:
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。
ndnsim结果分析的更多相关文章
- alias导致virtualenv异常的分析和解法
title: alias导致virtualenv异常的分析和解法 toc: true comments: true date: 2016-06-27 23:40:56 tags: [OS X, ZSH ...
- 火焰图分析openresty性能瓶颈
注:本文操作基于CentOS 系统 准备工作 用wget从https://sourceware.org/systemtap/ftp/releases/下载最新版的systemtap.tar.gz压缩包 ...
- 一起来玩echarts系列(一)------箱线图的分析与绘制
一.箱线图 Box-plot 箱线图一般被用作显示数据分散情况.具体是计算一组数据的中位数.25%分位数.75%分位数.上边界.下边界,来将数据从大到小排列,直观展示数据整体的分布情况. 大部分正常数 ...
- 应用工具 .NET Portability Analyzer 分析迁移dotnet core
大多数开发人员更喜欢一次性编写好业务逻辑代码,以后再重用这些代码.与构建不同的应用以面向多个平台相比,这种方法更加容易.如果您创建与 .NET Core 兼容的.NET 标准库,那么现在比以往任何时候 ...
- UWP中新加的数据绑定方式x:Bind分析总结
UWP中新加的数据绑定方式x:Bind分析总结 0x00 UWP中的x:Bind 由之前有过WPF开发经验,所以在学习UWP的时候直接省略了XAML.数据绑定等几个看着十分眼熟的主题.学习过程中倒是也 ...
- 查看w3wp进程占用的内存及.NET内存泄露,死锁分析
一 基础知识 在分析之前,先上一张图: 从上面可以看到,这个w3wp进程占用了376M内存,启动了54个线程. 在使用windbg查看之前,看到的进程含有 *32 字样,意思是在64位机器上已32位方 ...
- ZIP压缩算法详细分析及解压实例解释
最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...
- ABP源码分析一:整体项目结构及目录
ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序. 整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module ...
- HashMap与TreeMap源码分析
1. 引言 在红黑树--算法导论(15)中学习了红黑树的原理.本来打算自己来试着实现一下,然而在看了JDK(1.8.0)TreeMap的源码后恍然发现原来它就是利用红黑树实现的(很惭愧学了Ja ...
随机推荐
- sql字段为逗号分开的字符串值的关联查询
1.TREE表: [strID] [int] IDENTITY(1,1) NOT NULL,[strName] [nvarchar](50) NOT NULL, 2.SubInfo CREATE TA ...
- PTA A1013
第七天 A1013 Battle Over Cities (25 分) 题目内容 It is vitally important to have all the cities connected by ...
- go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包
本篇文章是 Go 语言学习笔记之函数式编程系列文章的第二篇,上一篇介绍了函数基础,这一篇文章重点介绍函数的重要应用之一: 闭包 空谈误国,实干兴邦,以具体代码示例为基础讲解什么是闭包以及为什么需要闭包 ...
- LeetCode 430. Faltten a Multilevel Doubly Linked List
题目链接:LeetCode 430. Faltten a Multilevel Doubly Linked List class Node { public: int val = NULL; Node ...
- 暑期——第八周总结(1,安装好hadoop之后访问http://localhost:50070,无法连接【已解决】 2,Hbase命令详解)
所花时间:7天 代码行:800(Java) 博客量:1篇 了解到知识点 : 一:http://localhost:50070无法访问 安装好hadoop之后 输入所有东西都有 可就是访问50070无法 ...
- 【面试题】SpringMVC部分面试题
SpringMVC面试题 什么是SpringMVC ? 简单介绍下你对SpringMVC的理解 ? SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过Mo ...
- 用 C# 来守护 Python 进程
背景 目前我主要负责的一个项目是一个 C/S 架构的客户端开发,前端主要是通过 WPF 相关技术来实现,后端是通过 Python 来实现,前后端的数据通信则是通过 MQ 的方式来进行处理.由于 Pyt ...
- Python邮件发送功能
import smtplibfrom email.mime.text import MIMEText_user = "1147016115@qq.com"#发件人_pwd = &q ...
- Yii2搭建后台并实现rbac权限控制完整实例教程
.安装yii2 未安装的请参考yii2史上最简单式安装教程,没有之一 已安装的请继续看下一步操作 2.配置数据库 2.1 配置数据库 修改common/config/main-local.php 实际 ...
- v-text和v-html的区别
一.v-text 用于渲染普通文本,无论何时,绑定的数据对象上 msg属性发生了改变,插值处的内容都会更新. <span v-text="message"></s ...