双节点网络中数据报RTT交替波动问题分析求助
双节点网络交替数据报RTT差异问题求助
我构建了一个双节点网络,编写了名为sensor的代理,让节点A向节点B连续发送数据报5分钟,每两个数据报间隔10秒。模拟完成后,我通过生成的trace.json文件提取数据,绘制每个数据报的RTT(往返时延)图表。图表显示,每个交替的数据报存在明显的时延差异,且交替数据报的时延更低。我无法理解在简单双节点网络中为何会出现这种情况,特此求助。
数据分析代码
import json as js import matplotlib.pyplot as plt f = open('trace1.json',"r") data = f.read() obj = js.loads(data) list1 = obj['events'] flag = False bias = 0 for j in range(len(list1)): eventobj = list1[j] list2 = eventobj['events'] Dict = {} timeList = [] T = 0 R = 0 for i in range(len(list2)): if(flag == False): bias = list2[0].get('time') st = list2[i].get("stimulus") if(st['sender'] == 'phy' and st['recipient'] == 'phy'): if st['messageID'] in Dict: if "response" in list2[i]: res = list2[i].get("response") if(res['clazz'] != 'org.arl.unet.phy.BadFrameNtf' and res['clazz'] == 'org.arl.unet.phy.RxFrameNtf'): time1 = Dict[st['messageID']] time2 = list2[i].get("time") diff = abs(time1 - time2) timeList.append([(time1 - bias)/1000,diff/1000]) R = R+1 else: if "response" in list2[i]: res = list2[i].get("response") if (res['clazz'] == 'org.arl.unet.phy.TxFrameNtf' and st['clazz'] == 'org.arl.unet.sim.HalfDuplexModem$TX'): Dict[st['messageID']]=(list2[i].get("time")) T = T+1 print(timeList) x = [] y = [] for i in timeList: x.append(i[0]) y.append(i[1]) plt.plot(x,y) plt.xlim(0,400) plt.ylim(0.8,1.2) plt.xlabel('Timeline in seconds') plt.ylabel('delay in seconds') plt.show()
RTT时延图表

内容的提问来源于stack exchange,提问作者PrajwalB
相关产品推荐
相关产品推荐

