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

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

介绍:

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

(3)NS3仿真实现--点对点有线网络:first脚本(详细过程)_第1张图片
仿真过程

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

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

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

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

ls

(3)NS3仿真实现--点对点有线网络:first脚本(详细过程)_第2张图片
2.使用waf来执行脚本

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

sudo ./waf

(3)NS3仿真实现--点对点有线网络:first脚本(详细过程)_第3张图片 3.运行该脚本

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

sudo ./waf --run scratch/myfirst

(3)NS3仿真实现--点对点有线网络:first脚本(详细过程)_第4张图片
分析:

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

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

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

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

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

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

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

数据:1024B
PPP:2B
IPV4:20B
UDP:8B
所以总共是1054B
(3)NS3仿真实现--点对点有线网络:first脚本(详细过程)_第5张图片
传输延迟=分组大小(bit)/传输速率(s)
1字节=8bit
(3)NS3仿真实现--点对点有线网络:first脚本(详细过程)_第6张图片
以上的仿真使用的是c++语言的脚本,在NS3中,也可以使用python语言编写NS3脚本,NS3的python脚本可以调用C++中的API
执行以下语句,运行Python脚本

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

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

在这里插入图片描述

你可能感兴趣的:(NS3仿真)