(3)NS3仿真实现--点对点有线网络:first脚本(详细过程)

(3) NS3仿真–点对点有线网络:first脚本

介绍:

链路层使用点对点协议ppp.

在这里插入图片描述
仿真过程

1.将要执行的first脚本放在 scratch目录中,first脚本原本是在examples/tutorial/first.cc文件中的,采用以下命令 复制文件

注意:以下命令必须是在ns-3.31目录中执行

cp examples/tutorial/first.cc scratch/myfirst.cc

在这里插入图片描述
查看scratch目录中是否有myfist.cc文件

ls

在这里插入图片描述
2.使用waf来执行脚本

注意:执行脚本也是在ns-3.31的目录下进行的

sudo ./waf

在这里插入图片描述 3.运行该脚本

注意:执行脚本也是在ns-3.31的目录下进行的

sudo ./waf --run scratch/myfirst

在这里插入图片描述
分析:

可以看到,在2秒时,客户端发送1024bytes的数据,但是服务器收到数据却是在2.00369秒,这是因为数据传输的过程中发生了延迟,延迟时间为0.00369s

总延迟=传播延迟+传输延迟

注意:传输延迟:分组从节点发至信道的时间,传播延迟:分组在信道中使用的时间

因为first脚本的属性配置,ppp信道的传播延迟是0.002s,所以传输延迟为0.00169s,那么这个时间是怎么算的呢?

首先传输延迟的公式如下:

传输延迟=分组大小(bit)/传输速率(s)

因为发送的数据大小为1024B,数据在发送出去的时候,要经过数据链路层,网络层,传输层,封装过程如下:

数据:1024B
PPP:2B
IPV4:20B
UDP:8B
所以总共是1054B
在这里插入图片描述
传输延迟=分组大小(bit)/传输速率(s)
1字节=8bit
在这里插入图片描述
以上的仿真使用的是c++语言的脚本,在NS3中,也可以使用python语言编写NS3脚本,NS3的python脚本可以调用C++中的API
执行以下语句,运行Python脚本

./waf --pyrun examples/tutorial/first.py

使用python脚本的时候,必须指明指定模块的路径,格式为“ns.<模块名>.<C++函数名>”

在这里插入图片描述
仿真结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值