Advertisement

实验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
    1. 调用gunplot包,对步骤4中生成的delay.txt文件进行展示分析。运行gnuplot程序,生成相应的图表结果:(若未安装,按照提示进行安装)
在这里插入图片描述

在上图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卫星系统。在实验过程中,可能会遇到各种问题,这时我们一定要保持冷静,不要急躁,深入分析问题所在,不要一遇到问题就全部删除、全部格式化,重头再来,这样会浪费大量时间。

全部评论 (0)

还没有任何评论哟~