实验十——卫星网络系统仿真实验

2021/6/9 10:51:33

本文主要是介绍实验十——卫星网络系统仿真实验,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

卫星网络系统仿真实验

实验要求与目的

理解Iridium和Teledesic卫星网络的基本原理
利用NS2仿真实现Iridium和Teledesic卫星系统

Iridium仿真实验

在进行实验之前先进入此文件夹将Delay.awk文件复制到Iridium
在这里插入图片描述
在这里插入图片描述

进入Iridium文件夹
在这里插入图片描述
执行sat-Iridium.tcl文件

ns sat-Iridium.tcl
 

然后将delay.awk脚本跑出的数据定向输出到delay.txt

awk -f Delay.awk sat-Iridium.tr > delay.txt
 

最后执行plot

plot “delay.txt”
 

在这里插入图片描述

Teledesic仿真实验

在进行实验之前先进入此文件夹将Delay.awk文件复制到Iridium
在这里插入图片描述
在这里插入图片描述

进入Teledesic文件夹
在这里插入图片描述
执行sat-teledesic.tcl文件

ns sat-teledesic.tcl
 

然后将delay.awk脚本跑出的数据定向输出到delay.txt

awk -f Delay.awk sat-Iridium.tr > delay.txt
 

最后执行plot

plot “delay.txt”
 

在这里插入图片描述

脚本文件

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);
	}
}


这篇关于实验十——卫星网络系统仿真实验的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程