前言
最近在使用NS3进行网络仿真并使用gym接口与机器学习侧进行对接。上手该软件初期比较困难,后续会感觉NS3的接口非常丰富,十分便于进行网络测量。随着学习的深入,也会对交换原理及网络协议有更深一步的认识。
本系列主要记录了我在学习过程中的环境配置问题及网络参量获取的方法,由于我还在学习的过程中,所以有什么问题也希望大家指正。
一、NS3介绍及学习方法
NS3是一个离散事件模拟器,主要用于进行网络仿真。使用之前需要清楚计算机网络的五层结构。
NS3中主要包括四类网络构件:node、netdevice、channel和application。所有的网络环境搭建都是基于这些网络构件,我们需要在节点上添加网卡、建立接口、分配ip地址并添加应用,最终实现网络仿真。
学习NS3首先建议阅读周迪之编著的《开源网络模拟器ns-3:架构与实现》,随后在实际代码编写过程中多参考官方源码,非常有用。
二、环境配置及软件安装问题
由于网上关于NS3的软件安装教程比较丰富,所以不再赘述。这部分主要会记录我在使用过程中出现的问题及解决方法。
1.安装一些软件后,再 ./waf 时出现traceback错误
此时需要重新配置ns3:
cd ns-allinone-3.29/ns3.29
./waf configure --build-profile=debug --enable-examples --enable-tests
随后再编译和运行即可。
2.安装可视化界面PyViz
我的问题主要是无法定位软件源,首先需要添加source.list,然后在ns-3.29中执行下面的语句即可。
sudo ./waf -d debug --enable-examples --enable-tests configure
后续会继续介绍NS3的学习心得,主要包括地址映射、时延、吞吐、排队长度的获取等。