实验10——卫星网络系统仿真
本文通过NS2对卫星系统进行模拟仿真,对比分析了Iridium和Teledesic卫星系统的通信性能。实验中设置了5条数据流,起点为北京,终点分别为上海、香港、悉尼、纽约和里约热内卢。通过分析trace文件,使用awk脚本提取通信距离和延迟数据,并通过gnuplot进行可视化展示。实验结果表明,Iridium系统的时延大致保持在0.01-0.04之间,而Teledesic系统的时延较小,但不够稳定。总结发现,尽管Teledesic的时延更小,但Iridium在稳定性上表现更好。
本文是通过ns2对卫星系统进行模拟仿真
文章目录
前言
一、实验原理介绍
二、实验过程
-
1、Iridium仿真
-
2、Teledesic仿真
-
-
- 1.实验详细步骤
-
-
2.实验结果分析
-
3. 实验结论
-
总结
-
前言
本文结合课堂所学的卫星网络相关知识,其中涉及如Iridium和Teledesic等具体实例。基于实验平台实验1搭建了ns平台,对其进行仿真模拟,并对生成的数据进行分析。
提示:以下是本篇文章正文内容,下面案例可供参考
一、实验原理介绍
在实验中,设置了5条数据流进行对比,起始点设在北京市,终点依次为上海、香港、悉尼、纽约和里约热内卢。为了便于分析和展示实验效果,本研究采用了CBR作为数据来源,并通过UDP协议完成了数据传输。通过分析trace文件,研究时延变化与通信距离之间的关系。同时,实际数据传输路径中,卫星节点数量的差异会导致端到端时延的差异。
二、实验过程
1、Iridium仿真
1.实验详细步骤
- 1.进入到实验10文件夹的Iridium文件中

- 2.输入命令
ns sat-Iridium.tcl,会得到trace文件 ,如下图框选出的:

*3. 创建一个awk脚本,具体内容请参考下文,并命名为delay.awk,将其放置于Iridium文件夹中,确保awk脚本与trace文件处于同一个目录下。
//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)
}
}
请运行awk -f delay.awk sat-Iridium.tr > delay.txt以执行分析任务。以下是对该命令的详细说明:
awk -f
delay.awk //步骤3编写的awk脚本
sat-Iridium.tr //步骤2得到的trace文件
> //表示重定向输出
delay.txt //输出文件为delay.txt
-
- 调用gunplot包,对步骤4中生成的
delay.txt文件进行展示分析。运行gnuplot程序,生成相应的图表结果:(若未安装,按照提示进行安装)
- 调用gunplot包,对步骤4中生成的

在上图gnuplot>后输入命令plot “delay.txt” using 1:2 w lp即可得到下图结果:

2.实验结果分析
在分析sat-Iridium.tr文件时,我们可以首先查看其详细结构。文件共有16列,每一列都对应着特定的事件信息。具体来说,第1列用于标识事件类型,包括接收事件'r'、丢弃事件'd'、错误事件'e'、入队事件'+', 以及出队事件'-'. 第2列记录了事件发生的时间戳,第3列和第4列分别表示事件的源节点和目标节点。第5列用于标识数据包类型,第6列则记录数据包的具体大小。第7列包含事件的标志位信息,第8列则标识了数据包的唯一标识符。第9列和第10列分别记录了源节点和目标节点的端口信息,第11列是事件的序列号,第12列则标识了数据包的唯一标识符。第13列和第14列分别表示源节点的纬度和经度坐标,第15列和第16列则记录了目标节点的纬度和经度坐标。

首先,对5个场景进行了分别分析,包括从北京到上海、香港、悉尼、纽约以及里约热内卢。

系统对各个场景进行了全面分析,重点关注了延迟、抖动、丢包率和吞吐量四个关键指标。其中,延迟分析是核心内容。

3)最后看看delay.txt文件:
一行有2列,分别表示:通信距离和延迟大小

3. 实验结论
综合分析,参考折线图数据,得出:该系统的时延通常维持在0.01至0.04秒,但在某些特定距离上,时延会显著增加至0.13秒。基于以上分析,可以推断:在Iridium系统中,通信距离在一定范围内对时延的影响具有相似性,但在特定固定距离时,这一影响会显著增强。
2、Teledesic仿真
1.实验详细步骤
- 1.进入到实验10文件夹的Teledesic文件中

- 2.输入命令
ns sat-teledesic.tcl,会得到trace文件 ,如下图框选出的:

*3. 生成一个awk脚本,具体实现内容请参考下文,并命名为delay.awk,放置于Iridium文件夹内(确保该脚本与trace文件位于同一目录空间)。
//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)
}
}
- 4.输入
awk -f delay.awk sat-Iridium.tr > delay.txt进行分析,下面为命令的详细解释:
awk -f
delay.awk //步骤3编写的awk脚本
sat-Iridium.tr //步骤2得到的trace文件
> //表示重定向输出
delay.txt //输出文件为delay.txt
得到如图结果:

*5.通过gunplot软件包进行数据可视化,将步骤4中生成的delay.txt数据进行直观呈现,运行gnuplot软件后,能够显示如图所示的结果:

在上图gnuplot>后输入命令plot “delay.txt” using 1:2 w lp即可得到下图结果:

2.实验结果分析
首先,我们对sat-teledesic.tr文件进行分析:该文件包含事件日志数据,具体字段如下所示。每列数据具有明确的含义,有助于理解事件的详细信息。第1列记录事件类型,具体包括接收事件(r: Receive)、丢弃事件(d: Drop)、错误事件(e: Error)、入队事件(+: Enqueue)和出队事件(:- Dequeue)。第2列显示事件发生的时间戳,第3列记录事件源节点信息,第4列显示事件目标节点数据。第5列标识事件类型,第6列表示数据包大小,第7列作为标志位字段使用。第8列记录流标识符,第9列包含源节点及端口信息。第10列显示目标节点及端口配置,第11列记录事件序列号,第12列标识数据包唯一标识符。第13列和第14列分别表示源节点的纬度和经度坐标,第15列和第16列记录目标节点的纬度和经度位置。

首先,依次分析了5个场景,包括从北京到上海、香港、悉尼、纽约以及里约热内卢等城市。

系统对各个场景进行了全面分析,重点关注了延迟、抖动、丢包率和吞吐量四个关键指标。其中,延迟分析是核心内容。

3)最后看看delay.txt文件:
一行有2列,分别表示:通信距离和延迟大小

3. 实验结论
基于上述分析,并观察到最后的折线图数据,结果显示:在Teledesic卫星通信系统中,时延主要集中在0.0125至0.0325之间,个别时间段达到0.04。经过对比分析发现,Teledesic系统的时延较短,但在稳定性方面仍有提升空间。
总结
通过对Iridium卫星系统通信与Teledesic卫星系统通信的模拟实验,并对比实验结果,可以看出,在端到端一致的条件下,Teledesic卫星系统的通信时延明显优于Iridium卫星系统,但Iridium卫星系统的通信稳定性优于Teledesic卫星系统。在实验过程中,可能会遇到各种问题,这时我们一定要保持冷静,不要急躁,深入分析问题所在,不要一遇到问题就全部删除、全部格式化,重头再来,这样会浪费大量时间。
