实验要求和目的
- 理解Iridium和Teledesic卫星网络的基本原理
- 利用NS2仿真实现Iridium和Teledesic卫星系统
脚本文件 (delay.awk)
BEGIN{
highest_packet_id=0;
}
{
action=$1;
time=$2;
from=$3;
to=$4;
type=$5;
size=$6;
flow_id=$8;
src=$9;
dst=$10;
seq_no=$11;
packet_id=$12;
if(packet_id>highest_packet_id)
highest_packet_id=packet_id;
if(start_time[packet_id]==0)
start_time[packet_id]=time;
if(flow_id==0&&action!="d"){
if(action=="r"&&to=="67"){
end_time[packet_id]=time;
}else{
end_time[packet_id]=-1
}
}
}
END{
for(packet_id=0;packet_id<=highest_packet_id;packet_id++){
start=start_time[packet_id];
end=end_time[packet_id];
delay=end-start;
if(start<end)
printf("%f %f\n",start,delay);
}
}
注意需要将脚本文件放置在和sat-Iridium.tr文件一样的目录下
一、Iridium仿真实验
-
进入实验文件内部
cd WNTLab/experiment/exp10/Iridium
-
进入脚本目录并执行脚本
ns sat-Iridium.tcl
-
执行命令
- 将delay.awk脚本跑出的数据定向输出到delay.txt
awk -f delay.awk sat-Iridium.tr > delay.txt
-
gnuplot命令操作
- plot “delay.txt”
- plot “delay.txt”
二、Teledesic仿真实验
- 进入实验文件内部
cd WNTLab/experiment/exp10/Teledesic
- 进入awk文件夹 将Delay.awk复制出来
- 执行脚本生成资源文件
ns sat-teledesic.tcl
- 执行命令
- 将delay.awk脚本跑出的数据定向输出到delay.txt
awk -f Delay.awk sat-teledesic.tr > delay.txt
- gnuplot命令操作
- plot “delay.txt”
- plot “delay.txt”
卫星网络xxx.tr资源解读
- 事件
- r Receive 接收
- d Drop 丢弃
- e Error 错误
- +Enqueue 入队
- -Dequeue 出队
- 产生事件的时间
- 产生时间的目标节点
- 数据包大小
- 标志位
- 流ID
- 源节点端口
- 目标节点端口
- 序列号
- 报文唯一标识符
- 源维度
- 源经度
- 目标维度
- 目标经度
实验总结
卫星网络具有的仿真可以通过分析trace文件来展示结果,可以了解到卫星网络的延迟、抖动、丢包率和吞吐量。通过分析trace文件,来对比时延的变化和通信距离的关系,实际数据传输路径中卫星节点个数不同,也会造成端到端的时延不同。