admin 管理员组文章数量: 887032
ns
一,引言:
谈谈NS-3的用途吧。我们知道在互联网数据的暴增之后,面对来自数据压力的不仅仅是服务器,对我们来说是对大数据的操作。而我们可以充分ns-3对网络数据进行优化和整合,想想它的用处以及对网络的热爱,笔者瞬间就路转粉了。似乎飞蛾扑火般的扑到这个行当之中了。
以下是运行ns-3库的基本条件:
1)环境:虚拟机+Ubuntu14.04+ns-allinone-3.X+Subversion管理工具
2)导图如下,本文以此作为讲解的顺序。
二,正文:
疑问请参考官网:
NS3官方文档:
1)在Ubuntu系统中利用APT下载NS3安装包,命令如下:
sudo apt-get install python2.7;(下载编译器)
sudo ./build.py;(执行build文件,安装ns包)
2)因为ns3中有库文件涉及到gcc++编译,因此需要下载内置库,命令如下:
sudo apt-get install build-essential
3)因为笔者的Linux系统中没有安装代码管理工具,故以subversion为例,演示一下安装过程。具体参考官网:/
其他的官方工具请参见下图:
4)在NS-3官方网站中,推荐的代码管理工具是Mercurial,故在此引入它的内容,参考官方文档:/
5)在安装好了NS3库之后,以及配置完成之后,我们可以执行一下NS3包当中的测试样例,NS3库module的基本组成参考官网module:
/
6)windows环境下的Unix模拟器Cygwin,以及简单的CNU库MinGW下载及安装
三,正文部分详解:
1)安装NS3:
笔者在此之前通过samba服务器创建了(Linux+Windows)的网络共享, 以及apt下载插件;
1.Downloading development tree(命令):hg clone ns-3-allinone./download.py2.你会得到以下文件build.py* dist.py* ns-3-dev/ pybindgen/ util.pyconstants.py download.py* nsc/ README然后执行 build.py文件即可。当然,此前需要安装python。3.Building(样例):cd ns-3-dev./waf check4.利用cygwin和mingw:因为mingw不能编译ns3.x。所以需要使用gcc++编译。./waf configure --check-cxx-compiler=g++
2)代码管理工具介绍以及安装:
1.“Setting Up an Ubuntu Subversion Server”Subversion安装的基本方法下载:$ sudo apt-get install subversion创建库目录:$ sudo mkdir /usr/local/svn创建库文件目录:$ sudo mkdir /usr/local/svn/repos用户获得库目录的权限:$ sudo groupadd svn用户组权限的修改:$ sudo chgrp svn /usr/local/svn/repos修改管理员读写权限:$ sudo chmod g+w /usr/local/svn/repos修改新增库文件的权限:$ sudo chmod g+s /usr/local/svn/repos指定库文件用户$ sudo usermod -a -G svn xxxx注销用户之后测试时候成功:$ groupsxxxx adm dialout cdrom plugdev lpadmin admin sambashare svn添加其他用户:$ sudo usermod -a -G svn jimmy $ sudo usermod -a -G svn craig2.测试管理工具Test提前修改创建文件的权限:$ umask 002通过subversion创建测试样例:$ svnadmin create /usr/local/svn/repos/test还原umask:$ umask 022测试库是否创建成功:$ svn checkout file:///usr/local/svn/repos/testChecked out revision 0.创建库样例:$ cd test$ echo 'Hello, World!' > hello.txt通过svn添加hello.txt:$ svn add hello.txtA hello.txt将库样例指派到Test库目录当中:$ svn commit -m "Added a 'hello world' text file."Adding hello.txtTransmitting file data .Committed revision 1.3.用户通过protocol SSH加密/不加密 方式访问库目录(以SSH加密为样例)svn检验:$ svn checkout svn+ssh://192.168.10.11/usr/local/svn/repos/test --username XXXX登陆密码:XXXX@192.168.10.11's password:返回库目录信息:A test/hello.txtChecked out revision 2.4.SVNserve初始化脚本:自定义建立svnserve服务:$ sudo chmod +x /etc/init.d/svnserve通过update-rc.d初始化svnserve服务:$ sudo update-rc.d svnserve defaultsAdding system startup for /etc/init.d/svnserve .../etc/rc0.d/K20svnserve -> ../init.d/svnserve/etc/rc1.d/K20svnserve -> ../init.d/svnserve/etc/rc6.d/K20svnserve -> ../init.d/svnserve/etc/rc2.d/S20svnserve -> ../init.d/svnserve/etc/rc3.d/S20svnserve -> ../init.d/svnserve/etc/rc4.d/S20svnserve -> ../init.d/svnserve/etc/rc5.d/S20svnserve -> ../init.d/svnserve开启服务:$ sudo /etc/init.d/svnserve startsvnserve代码请参考:[]
3.NS3样例测试:
进入NS-3文件夹,里面会有一些样例,直接执行即可。
四,后续:
以后会根据自身的学习逐步讲解和分析其中的实例。
Module模块:
- antenna aodv applications bake-build-system bridge buildings click
config-store core csma csma-layout dsdv dsr energy fd-net-device
flow-monitor internet (IP, ICMP, UDP) internet (routing) internet
(TCP) internet (NSC TCP) internet-apps lte (PHY and MAC) lte (RLC
and above, core, EPC) lte (general) mesh mobility mpi netanim
network nix-vector olsr openflow point-to-point point-to-point-layout
propagation spectrum stats tap-bridge test framework tools
topology-read traffic-control uan virtual-net-device visualizer wifi
(lead) wifi (802.11n aspects) wifi (sleep/energy aspects) wifi
(rate control aspects) wimax python bindings tutorial tutorial-pt-br
manuals Doxygen waf build system wiki
Tools工具:
- Bugzilla Mercurial Waf Rietveld Mailing-Lists Jenkins-CI
IRC
本文标签: ns
版权声明:本文标题:ns 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687550581h114872.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论