ubuntu+NS3安装过程_第1页
ubuntu+NS3安装过程_第2页
ubuntu+NS3安装过程_第3页
ubuntu+NS3安装过程_第4页
ubuntu+NS3安装过程_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Ubuntu 10.04 命令切换到图形界面 Alt+F7图形界面切换到命令界面 Ctrl+Alt+Shift +F1在Ubuntu切换到Terminal Ctrl+Alt+TUltraEdit_for_ubuntu10.04安装过程Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb。sudo apt-get install alien #alien默认没有安装,所以首先要安装它sudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.debsudo dpkg -i xxxx.deb #安装注意,用alien转换的deb包并不能保证100%顺利安装,所以可以找到deb最好直接用deb有时候,我们想要使用的软件并没有被包含到 Ubuntu 的仓库中,而程序本身也没有提供让 Ubuntu 可以使用的 deb 包,你又不愿从源代码编译。但假如软件提供有 rpm 包的话,我们也是可以在 Ubuntu 中安装的。方法一:1. 先安装 alien 和 fakeroot 这两个工具,其中前者可以将 rpm 包转换为 deb 包。安装命令为:sudo apt-get install alien fakeroot2. 将需要安装的 rpm 包下载备用,假设为 package.rpm。3. 使用 alien 将 rpm 包转换为 deb 包:fakeroot alien package.rpm4. 一旦转换成功,我们可以即刻使用以下指令来安装:sudo dpkg -i package.deb方法二:1.CODE:sudo apt-get install rpm alien2.CODE:alien -d package.rpm3.CODE:sudo dpkg -i package.deb tar.gz 的安装,这个东东网上多的是,只是今天晚上自己学会了,发上来供大家参考安装tar的文件,要先解压。终端输入:sudo tar -zxvf 压缩文件名.tar.gz /tmp(假设想解压到/tmp目录),然后cd 解压后的目录名 进入解压后的目录,ls查看其中有没有INSTALL文件,按照上面的说明安装即可。一般步骤是:sudo ./configure、make、make install 我安装的是YLMF OS 1.5,解压这一步,我直接找到文件,点一下右键,解压缩到此处 就OK了!安装目录为桌面vanetmobisim/.1 安装jdksudo sh jdk-6u23-linux-i586.bin解压到当前目录2设置JAVA_HOME环境系统变量sudo gedit /etc/environmentexport JAVA_HOME=/home/wang/Desktop/vanetmobisim/jdk1.6.0_29export JRE_Home=/home/wang/Desktop/vanetmobisim/jdk1.6.0_29/jreexport CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libsudo gedit /etc/profileexport JAVA_HOME=/home/wang/Desktop/vanetmobisim/jdk1.6.0_29export JRE_HOME=/home/wang/Desktop/vanetmobisim/jdk1.6.0_29/jreexport CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/binexport ANT_HOME=/home/wang/Desktop/vanetmobisim/apache-ant-1.8.2export PATH=$ANT_HOME/bin:$PATHumask 0223 注销用户,检测JDK版本java version安装JRE、JDK成功4 安装Antsudo gedit /etc/profile检测Ant版本重新启动5 安装VanetMobiSimStep 1:下怨掖码VanetMobiSim-1.1.zip,解压后目录VanetMobiSim-1.1中的内容为:jar/manual/build.xmlVanetMobiSim-src.jarVanetMobiSim-samples.jarmypackages.lstREAD_MEStep 2:下载CanuMobiSim的源码CanuMobiSim_1_3_4_src.zip,将其解压到VanetMobiSim-1.1目录中,此时目录内容变为:jar/manual/ ./src/build.xmlVanetMobiSim-src.jarVanetMobiSim-samples.jarmypackages.lstREAD_MEStep 3:在终端中切换到VanetMobiSim-1.1目录下,输入以下命令将VanetMobiSim对CanuMobiSim的扩展部分合并到CanuMobiSim源洛蛐:ant patch此时当前的目录是:jar/manual/samples/src/build.xmlmypackages.lstREAD_MEStep 4:执行ant all编译源码并打包成jar文件,一切顺利的话最后有编译成功的提示:all:BUILD SUCCESSFULTotal time: 13 seconds生成的VanetMobiSim.jar就是我们最终需要的可执行文件,要以下命令运行example中的IDM_IM.xml场景:cd jarjava -jar VanetMobiSim.jar ./samples/IDM_IM.xml运行过程中会出现如下的节点移动画面:编写XML配置文件请参考VanetMobiSim的munaul。Good Luck安装NS-3.12为保证全部功能可用,安装环境选择Ubuntu,没有使用windows下的Cywin配置。Ubuntu版本10.04 LTS,Ubuntu安装及升级见/mucenl/blog/item/619e330f7cf108e2ab64572f.html安装NS3之前,需要在Ubuntu中进行NS3环境设置,安装必须的开发环境如C+环境,gcc,g+等,安装步骤参考:/wiki/index.php/Installation,具体如下:1. NS3安装预先设置Ubuntu环境如下(Prerequisites for Ubuntu)sudo apt-get install gcc g+ python python-devsudo apt-get install mercurialsudo apt-get install bzrsudo apt-get install gdb valgrind sudo apt-get install gsl-bin libgsl0-dev libgsl0ldblsudo apt-get install flex bisonsudo apt-get install g+-4.4 gcc-4.4 /可以不执行,因首条命令已安装sudo apt-get install tcpdumpsudo apt-get install sqlite sqlite3 libsqlite3-devsudo apt-get install libxml2 libxml2-devsudo apt-get install libgtk2.0-0 libgtk2.0-devsudo apt-get install vtun lxcsudo apt-get install uncrustifysudo apt-get install doxygen graphviz imagemagicksudo apt-get install texlive texlive-pdf texlive-latex-extra texlive-generic-extra texlive-generic-recommendedsudo apt-get install texinfo dia texlive texlive-pdf texlive-latex-extra texlive-extra-utils texlive-generic-recommended texi2html /可以不执行sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev就OK了。2. 安装NS3NS3的安装可完全参考NS3的Tutorial.下载NS3安装包并解压tar xjf ns-allinone-3.9.tar.gz构建(Build),进入ns-allinone-3.9目录,在shell中执行./build.py一轮长时间的等待,最终执行完后看到.finished successfully.使用waf构建(Building with Waf)进入ns-3.9文件目录:cd ns-3.9./waf -d optimized configure最终看到.finished successfully (3.966s)./waf -d debug configure最终看到.finished successfully (s)./waf又将是一轮长时间的等待Enable something./waf -d debug -enable-sudo configureHelp./waf -help首先介绍一种最简单允许 examples 和 tests的方法:$./waf configure -enable-examples -enable-tests$./waf build3. 脚本运行Under the directory ./ns-allinone-3.9/ns-3.9cd examples/tutorialsudo ./waf -run first/doxygen/modules.html 类文件说明Tracing系统由独立的Tracing sources和Tracing sinks以及连接两者的统一机制构成。(1)ASCII tracing(1.1)ASCII traces文件生成在示例程序first.cc调用Simulator:Run()前,添加ASCII跟踪输出语句:AsciiTraceHelper ascii;pointToPoint.EnableAsciiAll (ascii.CreateFileStream (myfirst.tr);里面的CreateFileStream方法使用无名对象创建文件流对象,并将其传递给该方法;外面的EnableAsciiAll方法在全部P2P devices上启用ASCII跟踪;在shell中使用Waf运行./waf -run scratch/myfirst运行后,生成myfirst.tr文件。由于Waf的工作方式,该文件并不在本地目录中,而是创建到repository的顶级目录下。可使用-cwd选项更改Waf的默认存放路径。(1.2)ASCII traces分析在ns-3.9目录下找到myfirst.tr,文件中每一行对应一个trace event。本例研究的trace events是transmit queue上的事件,transimit queue是要到达P2P信道的每个分组必须经过的queue。Trace file中每行前字符的意义:+:设备队列(device queue)中加入队列(enqueue)的操作;-:设备队列中移出队列(dequeue)的操作;d:因为队列满而丢弃(drop)分组;r:网络设备接收(received)到分组;.tr文件中首行语句分析(首行已展开为10行,如下)00 + /加入队列操作01 2 /仿真时间,单位s(脚本中设定UdpEchoClientApplication在2s时发送分组)02 /NodeList/0/DeviceList/0/$ns3:PointToPointNetDevice/TxQueue/Enqueue /指示引发该事件的trace source(即tracing命名空间)/0表示NodeList中的第0个节点node0/每个node有一个安装在该node上的设备列表DeviceList,同样0表示设备列表中的第0 个设备/$ns3:PointToPointNetDevice指示node0上的0位置的设备为P2PNetDevice/TxQueue/Enqueue分别表示发送队列和加入队列操作(与“+”对应)03 ns3:PppHeader (Point-to-Point Protocol: IP (0x0021) /指示分组封装(encapsulate)到P2P协议中04 05 ns3:Ipv4Header (tos 0x0 ttl 64 id 0 protocol 17 offset 0 flags none length: 1052 )06 /指示分组头部为IPv4,来自,去向07 08 ns3:UdpHeader (length: 1032 49153 9) /表明分组具有UDP头部09 10 Payload (size=1024) /表明负载的期望值为1024bytes.tr文件中第三行语句分析(已展开为8行,如下)00 r /接收分组01 2.25732 /仿真时间02 /NodeList/1/DeviceList/0/$ns3:PointToPointNetDevice/MacRx /trace source命名空间已经更改:事件来自node1,并且是分组接收trace source(MacRx) 03 ns3:Ipv4Header (tos 0x0 ttl 64 id 0 protocol 17 offset 0 flags none length: 1052 )04 05 06 ns3:UdpHeader (length: 1032 49153 9)07 08 Payload (size=1024)(2)PCAP tracingns3的device helpers也能用于创建Trace file(.pcap格式),pcap(packet capture)是一个包含.pcap文件格式的API。Wireshark软件用于读取和显示.pcap格式文件。Wireshark使用较广泛,但NS3中使用tcpdump查看pcap trace。在脚本中启用pcap跟踪的语句:pointToPoint.EnablePcapAll (myfirst);引号中不需指定文件后缀。helper会为每个P2P设备创建一个trace file,以“myfirst-node号-device号.pcap”命名。添加开启语句后在shell中运行脚本:./waf -run scratch/myfirst运行完毕,在顶层目录中(ns-3.9下)可找到trace文件。使用tcpdump读取输出在shell中使用命令tcpdump -nn -tt -r myfirst-0-0.pcap和tcpdump -nn -tt -r myfirst-1-0.pcap分别读取trace文件。输出结果如下reading from file myfirst-0-0.pcap, link-type PPP (PPP)2.000000 IP .49153 .9: UDP, length 1024 /2s时Client向Server发送packet2.514648 IP .9 .49153: UDP, length 1024 /2.51s时Client收到Server的Echo和reading from file myfirst-1-0.pcap, link-type PPP (PPP)2.257324 IP .49153 .9: UDP, length 1024 /2.25s时Server收到Client的packet2.257324 IP .9 .49153: UDP, length 1024 /Server收到packet后,随即向Client返回Echo使用Wireshark读取输出可从下载软件和教程文档。NS-3的一些名词解释转POSIX:Portable Operating System Interface一组操作系统API的协议/标准族,最开始为了Unix系统上的可移植性而开发的,也适用于其他操作系统。Doxygen:Documentation Generator支持C+、C、Java、Objective-C、Python、IDL、Fortran、VHDL、PHP、C#等各种语言的文档生成器,用于从源代码中生成说明文档。(类似于我之前使用过的Sandcastle,貌似更加强大些,有必要得学习一下。)nam:Network Animator基于Tcl/TK的网络动画演示工具,能提供拓扑和包级别的动画以及数据流观察。(参/nsnam/nam/)MercurialNS-3代码维护使用的源码版本控制管理系统WafNS-3项目使用的新一代的基于Python的构建系统(Build System)WireShark一种GUI包嗅探器。由于NS-3能生成.pcap文件,因此可以使用类似于WireShark的软件对数据进行分析tcpdump另一种包嗅探器。在Linux下使用CLI进行数据分析NS3学习笔记NS3动画NetAnim2010-11-28 9:11NS3提供了使用独立图形化工具的接口,可使用NetAnim作为图形化工具。目前,NS3动画接口仅支持P2P链路的分组流动画演示,将来要支持CSMA和无线链路等,其它的动画和图形化工具正在开发中,可能会使用现有的动画接口,也可能发展全新的。1/NetAnim安装动画接口使用ns3的trace source构建带有时间戳的ASCII文件,独立图形工具可读取该文件。NetAnim运行于Qt4 GUI toolkit平台之上,因此,安装NetAnim前先要保证ubuntu系统已安装Qt4。获取Qt安装包:sudo apt-get install qt4-dev-tools安装包较大,需等待很长时间。从/jpelkey3/NetAnim.tar.gz.下载NetAnim到本地计算机,解压:tar -xzvf NetAnim.tar.gzNetAnim使用Qt4的构建工具qmake,查看qmake版本:qmake -version若查看得Qt版本是3.x,则需要升级到4.x构建NetAnim:cd NetAnimqmake-qt4make2/图形化接口examles/animation中有图形接口脚本的示例程序,例程使用animation interface和topology helpers以自动地安置节点,产生自定义trace。注意,若topology helper不使用其自带的自动计算节点位置的BoudingBox方法,节点必须通过集成一个CanvasLocation进行手动安置。使用CanvasLocation的例子可以在任一个topology helper中找到。安放节点的简单例子如下:/ assuming a node container m_hub exists and/ contains at least one node./ we grab this node and associate a/ CanvasLocation to it, in order for the/ animation interface to place the nodePtr hub = m_hub.Get (0);Ptr hubLoc = hub-GetObject ();if (hubLoc = 0)hubLoc = CreateObject ();hub-AggregateObject (hubLoc);Vector hubVec (5, 7);hubLoc-SetLocation (hubVec);在建立好仿真并安放节点后,animation interface用于开启动画,即写到自定义trace文件。下面代码阐释如何设置和开启animation interface:AnimationInterface anim;/ the animation interface can be set up to write/ to a socket, if a port 0 is specified/ see doxygen for more informationif (port 0)anim.SetServerPort (port);else if (!animFile.empty ()/ if a file name is specified,/ the trace is written to the file./ otherwise, it is directed to stdoutanim.SetOutputFile (animFile);anim.StartAnimation ();3/示例程序的使用trace文件描述内容:Node placement: Link placement: Packet events: 其中,是源节点发送的分组的第一个bit出现的时间,是源节点发送分组的最后一个bit出现的时间,两者之差 -反应了分组的长度,且必有- = -;是目的节点接收到的分组的第一个bit消失的时间,是目的节点接收分组的最后一个bit消失的时间,-或者-反应了分组在链路上传输的时间。examles/animation中有三个示例程序,使用如下命令生成trace文件,供NetAnim调用:./waf -run examples/animation/dumbbell-animation -nLeftLeaf=5 -nRightLeaf=5 -animFile=dumbbell.tr或./waf -run examples/animation/grid-animation -xSize=5 -ySize=5 -animFile=grid.tr其中-xxx为用户指定的命令行参数,参数意义及赋值参考对应的cc文件(NS3 Commandline功能);-animFile指定ns-3.9目录下生成的trace文件的文件名。生成的tr文件在ns-3.9目录下,将其复制到NetAnim目录下,使用如下命令打开NetAnim并载入文件:./NetAnim dumbbell.tr自定义文件生成的tr文件也使用相同方法进行动画演示。Creating Custom Scripts for Animationplease keep in mind that nodes must be assigned locationsfor your animation to show up. Some example code for assigning node locations exists inpoint-to-point-grid-helperand point-to-point-dumbbell helper, specifically in the BoundingBox functions参考:1/NS3 Reference Manual 33 Animation2//wiki/index.php/NetAnim¥/mucenl/blog/item/cc0738c34f2ff145b319a805.htmlUbuntu10.04下的wireshark编译安装ubuntu 10.4版本可直接使用Ubuntu软件中心安装,只不过若要查看网卡,仍需要sudo。若不能使用ubuntu软件中心,参看下面方法。参考:/cumirror/archive/2009/10/18/4694283.aspx今天在ubuntu下进行安装wireshark,费了很多时间,过程中出了很多错误,但最终安装成功了,这里写下自己的安装步骤和方法,供大家参考。安装编译工具:$sudo apt-get install build-essential为了成功编译Wireshark,您需要安装GTK+的开发文件和GLib库(libraries)。$sudo apt-get install libgtk2.0-dev libglib2.0-dev安装Checkinstall以便管理您系统中直接由源代码编译安装的软件。$sudo apt-get install checkinstallwireshark源码下载地址:/download.html(页面中的source code)下载后的文件名:wireshark-1.2.2.tar.bz2cd到文件目录解压:$tar -xvf wireshark-1.2.2.tar.bz2(tar -xvf wireshark-1.6.4.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论