如何在UnetStack中的多跳传输中计算端到端延迟

时间:2019-10-05 07:29:08

标签: unetstack

我已经开发了一个节能路由协议,现在为了评估性能,我想计算数据包通过多跳链路传输时的端到端数据包传输延迟 >。我无法决定要考虑哪个计时信息,是考虑考虑日志文件(log-0.txt中可用的模拟时间还是调制解调器的传输时间(txtimerxtime)。 请让我知道在UnetStack中计算端到端延迟的方法

1 个答案:

答案 0 :(得分:1)

仿真时间(以下日志文​​件的第一列,以毫秒为单位)在所有仿真节点之间同步,因此,如果您在源节点上记录启动时间,则可以使用它来计算端到端延迟,和结束时间在目标节点。

示例日志文件:

var svg = d3.select("#chart")
.append("svg")  
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width / 2 + "," + (height / 2) + ")");

d3.json("https://s3-us-west-2.amazonaws.com/s.cdpn.io/308528/spending- 
data.json").then(function(data) {
console.log(data);

partition = d3.layout.partition().value(function(d) { return d.size; }) ;
var arc = d3.svg.arc()
            .startAngle(function(d) { return Math.max(0, Math.min(2 * 
Math.PI, x(d.x))); })
            .endAngle(function(d) { return Math.max(0, Math.min(2 * 
Math.PI, x(d.x + d.dx))); })
            .innerRadius(function(d) { return Math.max(0, y(d.y)); })
            .outerRadius(function(d) { return Math.max(0, y(d.y + d.dy)); 
});

svg.selectAll("path")
.data(partition.nodes(data))
.enter().append("path")
.attr("d", arc)
.style("fill", function(d) { return color((d.children ? d : 
d.parent).name); })
.on("click", click)
.append("title")
.text(function(d) { return d.name + "\n" + "$" + formatNumber(d.value); 
});
});

在此示例中,节点4(CASE WHEN EveryDay=1 THEN @Days ='Every Day' WHEN SUN=1 THEN @Days = 'SUNDAY' )在时间5673|INFO|org.arl.unet.sim.SimulationAgent/4@570:call|TxFrameNtf:INFORM[type:DATA txTime:2066947222] 6511|INFO|org.arl.unet.sim.SimulationAgent/3@567:call|TxFrameNtf:INFORM[type:DATA txTime:1157370743] 10919|INFO|org.arl.unet.sim.SimulationAgent/4@570:call|TxFrameNtf:INFORM[type:DATA txTime:2072193222 进行传输。然后,节点3(SimulationAgent/4)在时间5673进行传输。等等...

SimulationAgent/36511以微秒为单位,但是对于每个节点而言都是本地的。因此,它们可以用于获取同一节点中事件的时间差,但不能直接在节点之间进行比较。