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

本文使用ns2仿真了Iridium和Teledesic卫星系统,对比分析了两者在时延、抖动、丢包率和吞吐量方面的性能。实验结果显示,尽管Teledesic的时延较小,但其稳定性不如Iridium系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是通过ns2对卫星系统进行模拟仿真


前言

       本文结合在课上学到的有关卫星网络,如: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)
	}
 }
  • 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.实验结果分析
  • 1)我们先来看sat-Iridium.tr文件:
    一共16列,分别表示:
    第 1 列:事件(r: Receive 接收;d: Drop 丢弃;e: Error 错误;+: Enqueue 入队;-: Dequeue 出队);
    第 2 列:产生事件的时间;第 3 列:产生事件的源节点;
    第 4 列:产生事件的目标节点;第 5 列:数据包类型;
    第 6 列:数据包大小;第 7 列:标志位;第 8 列:流 ID;第 9 列:源节点:端口;
    第 10 列:目标节点:端口;第 11 列:序列号;第 12 列:报文唯一标识;
    第 13 列:源纬度;第 14 列:源经度;第 15 列:目标纬度;第 16 列:目标经度
    在这里插入图片描述

  • 2)再来看看awk脚本文件如何分析的:
    ①先是分别分析了5个场景:分别为北京到上海、香港、悉尼、纽约和里约热内卢
    在这里插入图片描述
    ②又对各场景分别分析了其延迟、抖动、丢包率和吞吐量。
    注意,实验使用的awk脚本主要是对延迟进行了分析
    在这里插入图片描述

  • 3)最后看看delay.txt文件:
    一行有2列,分别表示:通信距离和延迟大小
    在这里插入图片描述

3. 实验结论

       综上所述,并结合最后的折线图,得到:在Iridium卫星通信系统中,时延大致保持在0.01——0.04之间,某些特定区间达到0.13。因此我认为:端与端之间的通信距离,在一定范围内,对卫星通信的时延的影响是一致的,,而在某些固定距离上会对其产生较大影响。

2、Teledesic仿真

1.实验详细步骤
  • 1.进入到实验10文件夹的Teledesic文件中
    在这里插入图片描述
  • 2.输入命令ns sat-teledesic.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)
	}
 }
  • 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.实验结果分析
  • 1)我们先来看sat-teledesic.tr文件:
    一共16列,分别表示:
    第 1 列:事件(r: Receive 接收;d: Drop 丢弃;e: Error 错误;+: Enqueue 入队;-: Dequeue 出队);
    第 2 列:产生事件的时间;第 3 列:产生事件的源节点;
    第 4 列:产生事件的目标节点;第 5 列:数据包类型;
    第 6 列:数据包大小;第 7 列:标志位;第 8 列:流 ID;第 9 列:源节点:端口;
    第 10 列:目标节点:端口;第 11 列:序列号;第 12 列:报文唯一标识;
    第 13 列:源纬度;第 14 列:源经度;第 15 列:目标纬度;第 16 列:目标经度
    在这里插入图片描述

  • 2)再来看看awk脚本文件如何分析的:
    ①先是分别分析了5个场景:分别为北京到上海、香港、悉尼、纽约和里约热内卢
    在这里插入图片描述
    ②又对各场景分别分析了其延迟、抖动、丢包率和吞吐量。
    注意,实验使用的awk脚本主要是对延迟进行了分析
    在这里插入图片描述

  • 3)最后看看delay.txt文件:
    一行有2列,分别表示:通信距离和延迟大小
    在这里插入图片描述

3. 实验结论

       通过上述分析,并结合最后的折线图,得到:在Teledesic卫星通信系统中,时延大致保持在0.0125——0.0325之间,某些特定区间达到0.04。通过比对发现,两个卫星系统中,Teledesic的时延小,但不够稳定。


总结

       通过对Iridium卫星系统通信与Teledesic卫星系统通信的仿真模拟,并对比最后的仿真结果,不难发现,在端与端一致的情况下,在时延方面,Teledesic卫星系统明显小于Iridium卫星系统,但在稳定性上,Iridium卫星系统优于Teledesic卫星系统。
       在实验过程中,难免遇到各种各样的问题,这个时候,我们一定要冷静下来,不要放弃,再多分析一下,不要一遇到问题就全部删除、全部格式化,重头再来,这样会浪费大量时间。(ง ••)ง (ง ••)ง

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值