ns3和openflow模块安装经验与问题详解

NS3网络仿真器安装详解
1. NS3安装预先设置Ubuntu环境,执行在终端以下命令
sudo apt-get install gcc g++ python
sudo apt-get install mercurial
sudo apt-get install bzr
sudo apt-get install gdb valgrind
sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl
sudo apt-get install flex bison
sudo apt-get install g++-3.4 gcc-3.4
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install texlive texlive-pdf texlive-latex-extra texlive-generic-extra
texlive-generic-recommended
sudo apt-get install texinfo dia texlive texlive-pdf texlive-latex-extra texlive-extra-utils
texlive-generic-recommended
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev
sudo apt-get install libboost-signal-dev libboost-filesystem-dev
2. 安装NS3
2.1下载NS3安装包并解压,官网上()下载的
3.21版本格式为ns-allinone-3.21.tar.bz2在终端运行以下命令进行解压缩:
bzip2 -d ns-allinone-3.21.tar.bz2
tar xvf ns-allinone-3.21.tar
2.2命令终端进入解压缩文件夹执行命令
./build.py
2.3 进入ns-
3.21目录使用waf构建
./waf -d optimized configure
./waf -d debug configure
./waf
./waf -d debug --enable-sudo configure
注意:1.虚拟机要在联网状态下
2.有些东西找不着或无法更新时使用,sudo apt-get update
3.没装上的命令(不要紧)
sudo apt-get install g++-3.4 gcc-3.4
sudo apt-get install texlive texlive-pdf texlive-latex-extra
texlive-generic-extra texlive-generic-recommended
sudo apt-get install texinfo dia texlive texlive-pdf
texlive-latex-extra texlive-extra-utils
texlive-generic-recommended
sudo apt-get install libboost-signal-dev libboost-filesystem-dev 缺一个命令:sudo apt-get install gcc g++ python python-dev
有时候hello-simulator跑不出来,可能是
1.是之前的程序运行位置不对。

2.在ns-
3.21目录下运行
./waf clean 清空以前编译的内容(编译过的内容位于ns-3.21/build/目录下)。

该命令不是必须的,但是这样做是一个好习惯。

./waf -d debug --enable-examples –enable-tests configure
之后再按之前的步骤来一遍应该就没问题了
NS3 OPENFLOW MODLE 安装
因为一般直接NS3官网下载安装的NS3不自带openflow模块,需要自己安装的,现在我把过程写一下
官网其实有相关的英文安装过程,如下:
/docs/release/3.17/models/html/openflow-switch.html 本人所做的是在Ubuntu 10.04和ns-3.21的环境下的。

安装过程:
问题:NS-3 OpenFlow Integration : not enabled (Required boost libraries not found)
解决方法:
$ sudo apt-get install libboost-signals-dev libboost-filesystem-dev
一.获取OFSID(The OpenFlow software implementation distribution )代码。

使
用 mercurial 下载并编译在目录中:
PS:为了下面安装过程不出错最好安装在“ns-allinone-3.21/ns-3.21/”目录下,而且避免下次寻找,毕竟他只是ns-3.21的一个模块
hg clone /opelow
cd openflow
二.在openflow目录中,运行
./waf configure
./waf build
三OFSID现在已经建进libopenflow.a库,为了链接OpenFlow switch module到ns-3 bulid 中还需要在ns-3.21中运行:
./waf configure --enable-examples --enable-tests –enable-mpi --with-openflow=path/to/openflow (要写openflow的根目录)
其中的解释:
--enable-sudo是使Use sudo to set suid bit enable -
--enable-mpi是使MPI Support enable
--with-openflow是使NS-3 OpenFlow Integration enable
运行结果中显示NS-3 Openflow Integration :enable 才算成功四. 构建ns-3,并触发ns-3中的OpenflowSwitch模块,运行:./waf build
会看到已经有openflow模块了,成功
验证其用法的例子:
$ ./waf --run “openflow-switch -v”
或者
$./test.py --suite=openflow
或者
$./waf –run openflow-switch。

合集下载

OpenFlow系统操作手册

OpenFlow系统操作手册

目录第一节登录系统 (3)第二节按键、图标说明 (6)第三节系统操作 (7)3.1、新增 (7)3.2、插入 (7)3.3、重制 (8)3.4、删除 (8)3.5、恢复删除 (8)3.6、保存 (8)3.7、剪切 (8)3.8、复制 (9)3.9、粘贴 (9)3.10、样式 (9)3.11、分组 (9)3.12、排序 (10)3.13、查询 (10)3.14、刷新记录 (12)3.15、查找 (12)3.16、替换 (13)3.17、窗口风格 (13)3.18、最小化所有窗口与撤销 (14)3.19、添加工具 (14)3.20、自定义校验 (15)第四节系统功能 (16)4.1、切换用户 (16)4.2、修改口令 (16)4.3、刷新 (17)4.4、目录 (17)4.5、文件柜 (18)4.6、工作流 (24)4.7、装饰图 (26)4.8、批注 (27)4.9、注册 (27)4.10、添加工具 (27)4.11、F4查询 (29)4.13、继承 (42)4.14、打印格式 (42)4.15、打印预览 (43)4.16、自定义显示格式 (45)4.17、注销在线用户 (47)4.18、抛单参数 (48)第五节表单的建立 (49)第一节登录系统1、双击桌面上的“傲鹏协同管理平台”图标或“开始 / 程序 / opensoft / 傲鹏协同管理平台”启动系统(见图1),在图1中输入以下信息后,点击“Y”进入系统(见图3)第一次使用系统时,点击“Y”会出现注册窗口(见图2),在图2中正确填写本公司提供的序列号,点击“注册”后才能使用系统栏位说明(图1)帐套:在第一节中建立的套帐,本案例为“开发套帐”语言:本系统支持多种语言,各公司可根据情况选择适合自己公司的语言。

其中“中文伪繁”是指在简体操作系统中显示繁体字库openflow系统;“中文伪简”是指在繁体操作系统中显示简体字库openflow系统;“公司字体”指按公司自定义的字体显示openflow系统。

NS3安装与脚本说明文档

NS3安装与脚本说明文档

NS3安装与脚本说明⽂档NS-3说明⽂档第⼀章主要内容:⼀、配置⼆、下载ns-3三、建⽴ns-3项⽬四、测试ns-3五、运⾏⼀个脚本⼀、配置本次的使⽤环境是linux/Ubuntu。

在安装ns-3之前,需要输⼊以下命令,进⾏事先的配置。

1、如果对C++组件的需求⽐较少,输⼊以下命令:sudo apt-get install gcc g++ python如果对python组件的需求⽐较少,输⼊以下命令:sudo apt-get install gcc g++ python python-dev以上命令⼆者选⼀。

之后的命令依次输⼊。

2、sudo apt-get install mercurial3、sudo apt-get install bzr4、sudo apt-get install gdb valgrind5、sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl6、sudo apt-get install flex bison libfl-dev7、sudo apt-get install g++-3.4 gcc-3.48、sudo apt-get install tcpdump9、sudo apt-get install sqlite sqlite3 libsqlite3-dev10、sudo apt-get install libxml2 libxml2-dev11、sudo apt-get install libgtk2.0-0 libgtk2.0-dev12、sudo apt-get install vtun lxc13、sudo apt-get install uncrustify14、sudo apt-get install doxygen graphviz imagemagick15、sudo apt-get install texlive texlive-extra-utils texlive-latex-extra16、sudo apt-get install python-sphinx dia17、sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev18、sudo apt-get install libboost-signals-dev libboost-filesystem-dev19、sudo apt-get install openmpi*⼆、下载ns-3最简单的下载⽅法是,在linux下输⼊以下命令:cdmkdir tarballscd tarballswget /doc/31786f7cf011f18583d049649b6648d7c0c7085d.html /releases/ns-allinone-3.13.tar.bz2tar xjf ns-allinone-3.13.tar.bz2如果进⼊虚拟机中ns-allinone-3.13⽂件夹中,可以看到以下⽂件:build.py ns-3.13/ pybindgen-0.15.0.795/ util.pyconstants.py nsc-0.5.2/ README那么ns-3已经下载成功,并解压完毕。

openflow_nox详细参考资料总结

openflow_nox详细参考资料总结

这是我在学习中做的一个笔记文档,仅供大家参考目录目录 (1)第一章背景 (2)第二章理论基础 (3)2.1软件定义网络SDN (3)2.2 openflow网络架构 (4)2.2.1 openflow交换机 (4)2.2.2 openflow 控制器 (8)2.2.3 openflow 虚拟化 (8)2.3 安全通道 (9)2.3.1 OF协议 (9)2.3.2 建立连接 (10)2.3.3 连接中断 (11)2.3.4 加密 (11)2.3.5 生成树 (11)第三章实验环境搭建 (11)3.1 安装open vswitch (12)3.1.1 安装KVM (12)3.1.2 安装Openvswitch (13)3.1.3 配置网桥 (14)3.2 安装NOX网络操作系统及GUI (15)3.2.1 安装NOX (15)3.2.2 安装NOX-GUI (16)3.3 环境测试 (16)3.1.1 总体拓扑图展示 (16)3.3.2 运行controller (16)3.3.3 配置open vswitch (17)3.3.4 测试open switch 与controller 是否连通 (18)3.3.5 启动GUI监测 (19)第四章Open Flow分析 (19)4.1 重要的数据结构 (19)4.1.1 of协议头 (19)4.1.2交换机端口状态 (21)4.1.3 流匹配结构 (21)4.1.4 行为结构 (22)4.1.5流表操作 (22)4.1.6 表统计信息 (23)4.1.7 端口统计 (23)4.1.8 数据包进入 (24)4.1.9 发送数据包 (24)4.1.10 流表删除 (25)4.2 openflow设备定义以及基本操作 (25)4.3 OpenFow数据通路分析 (28)第五章NOX分析 (30)5.1 事件 (30)5.1.1 事件概念 (30)5.1.2 核心事件列表 (30)5.2 组件 (31)5.2.1 组件的概念 (31)5.2.2 基于python的组件实现原理 (31)5.2.3 流表创建实现原理 (32)5.2.4 组件的基本架构 (32)第六章python组件实例 (33)6.1 实例一解析packet_in 数据包 (33)6.2实例二数据通路重定向 (33)第七章GUI 组件实例 (36)7.1 GUI 简介 (36)7.2 NOX-GUI实现原理 (36)7.2.1 SNMP协议简介 (36)7.2.2 open vswitch SNMP实现 (36)7.2.3 NOX SNMP 实现 (39)第一章背景斯坦福大学的研究者于2008 年提出OpenFlow 技术,并逐渐推广SDN 概念。

深入解析OPEN-FLOW SDN

深入解析OPEN-FLOW SDN

深入浅出解析OpenFlowOpenFlow所面临的挑战OpenFlow标准的不成熟,在控制层面也有不少体现,尽管体现的不如转发层面那么明显。

根据对OpenFlow标准的分析以及一些实际部署案例的反馈,OpenFlow在控制面还存在如下不足:∙Master(主)和Slave(备)Controller的选举机制还不够成熟,都没有标准来定义。

∙Controller的集中式控制,理论上肯定会有可扩展性问题,分布式控制又跟SDN的原则有些冲突,到底应该如何把握好这个平衡?∙流表配置的速度比较慢,特别是网络比较大的时候,要配置这么多设备的这么多流,速度跟不上,有严重的性能问题。

∙仅凭现有的OpenFlow接口,还有很多配置无法完成,需要很多私有扩展,这会导致不兼容性。

∙安全性还不能得到充分保证,需要进一步的安全机制。

∙原来的所有控制面协议都在每一台设备里面,现在都集中到了Controller上,这是否合理?是不是有些东西还应该保留在交换机上?Google进行了OpenFlow实践之后,在总结报告里面就提到了这个问题,哪些东西该放在交换机上、哪些东西该放在Controller上并不是一个容易回答的问题。

跟转发面的挑战不同,转发面如果有功能性问题,直接会导致OpenFlow设备没法用(因为不能满足功能需求),而控制面的挑战更多在于网络健壮性、稳定性、可扩展性、安全性,也就是说做实验网络或者小型商用网络没问题,但是一旦要用在大中型网络等情况复杂的网络中,控制面的问题就会变得很突出。

这就像很多时候在实验室里面验证网络设备的时候,大多数问题都出在功能上面,网络管理系统的故障很容易解决并稳定下来,但是一旦到了商业网络里面,很多控制管理面的问题就暴露出来了。

跟传统的协议一样,OpenFlow技术要想成熟稳定,必须经过大量的实践检验,ONF需要尽最大可能去避免OpenFlow走入一个“标准不成熟→缺少商用案例→无从反馈→标准仍然不成熟”的恶性循环。

SDN实验三:OpenFlow协议分析实践

SDN实验三:OpenFlow协议分析实践

SDN实验三:OpenFlow协议分析实践实验三:OpenFlow协议分析实践⼀、实验⽬的能够运⽤ wireshark 对 OpenFlow 协议数据交互过程进⾏抓包;能够借助包解析⼯具,分析与解释 OpenFlow协议的数据包交互过程与机制。

⼆、实验环境下载虚拟机软件Oracle VisualBox;在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;三、实验要求(⼀)、基本要求搭建下图所⽰拓扑,完成相关 IP 配置,并实现主机与主机之间的 IP 通信。

⽤抓包软件获取控制器与交换机之间的通信数据包。

主机IP地址h1192.168.0.101/24h2192.168.0.102/24h3192.168.0.103/24h4192.168.0.104/241. 搭建拓扑配置IP地址2. 运⾏wireshark,选择any模式进⾏抓包,开启另⼀个终端,命令⾏运⾏031902241.py⽂件,运⾏pingall3. 查看抓包结果,分析OpenFlow协议中交换机与控制器的消息交互过程(截图以其中⼀个交换机为例)OFPT_HELLO 源端⼝6633 -> ⽬的端⼝51212,从控制器到交换机OFPT_HELLO 源端⼝51212-> ⽬的端⼝6633,从交换机到控制器,此处协议为openflow1.5控制器与交换机建⽴连接,并使⽤OpenFlow 1.0OFPT_FEATURES_REQUEST 源端⼝6633 -> ⽬的端⼝51212,从控制器到交换机控制器请求交换器的特征信息OFPT_SET_CONFIG 源端⼝6633 -> ⽬的端⼝51212,从控制器到交换机控制器要求交换机按照所给出的信息进⾏配置OFPT_PORT_STATUS 源端⼝51212-> ⽬的端⼝6633,从交换机到控制器当交换机端⼝发⽣变化时,交换机告知控制器相应的端⼝状态OFPT_FEATURES_REPLY 源端⼝51212-> ⽬的端⼝6633,从交换机到控制器交换机告知控制器它的特征信息OFPT_PACKET_IN 源端⼝51212-> ⽬的端⼝6633,从交换机到控制器交换机告知控制器有数据包进来,请求控制器指⽰OFPT_PACKET_OUT 源端⼝6633 -> ⽬的端⼝51212,从控制器到交换机控制器要求交换机按照所给出的action进⾏处理OFPT_FLOW_MOD 源端⼝6633 -> ⽬的端⼝51212,从控制器到交换机控制器对交换机进⾏流表的添加、删除、变更等操作4. 交互图5. 交换机与控制器建⽴通信时是使⽤TCP协议还是UDP协议?如图所⽰为TCP协议(⼆)、进阶要求将抓包结果对照OpenFlow源码,了解OpenFlow主要消息类型对应的数据结构定义。

NS3对于初学者的教程,高手忽略这个吧

NS3对于初学者的教程,高手忽略这个吧

1.Ns3 的安装:开发环境配置:sudo apt-get install gcc g++ python python-dev //C++和python安装,必装sudo apt-get install mercurial //NS3代码维护使用的源码版本控制管理系统sudo apt-get install bzr //运行python绑定ns-3-dev需要bazaar这个组件sudo apt-get install libgtk2.0-0 libgtk2.0-dev //基于GTK的配置系统sudo apt-get install gdb valgrind //调试工具sudo apt-get install doxygen graphviz imagemagick //文档生成器sudo apt-get install texlive texlive-latex-extra //文档生成器,从源代码中生成说明文档sudo apt-get install texinfo dia texlive-extra-utils texi2html //ns-3手册和tutorial编写查看工具sudo apt-get install flex bison //仿真必需的词法分析器和语法分析生成器,必装sudo apt-get install libgoocanvas-dev //部分移动场景仿真的可视化测试需要这个组件sudo apt-get install tcpdump //读取pcap的packet traces,即包嗅探器sudo apt-get install sqlite sqlite3 libsqlite3-dev //支持统计特性的数据库软件sudo apt-get install libxml2 //xml的配置存储软件sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas //Gustavo's ns-3-pyviz的可视化软件sudo apt-get install qt4-qmakesudo apt-get install qt4-dev-tools安装完成后:进入ns-allinone-3.16目录sudo ./build.py之后进入ns-allinone-3.16/ns-3.16sudo ./waf -check返回目录ns-allinone-3.16进入目录netanim-3.103sudo make cleansudo qmake NetAnim.prosudo make之后sudo ls可以看见绿色的NetAnim这个东西就成功了sudo ./NetAnim 打开仿真界面安装全部完成2.ns3仿真的运行ctrl+alt+t调出终端,进入ns-allinone-3.16目录,输入cd ns-3.16/ 进入ns-3.16文件夹输入 cd examples/tutorial/进入examples里面的tutorial文件夹(里面有刚刚上手专用的实例,我们就用这个来调试)在tutorial目录下,输入cp ~/ns-allinone/ns-3.16/scratch/ ,将这个文件复制到ns-3.16的scratch文件夹里面. 具体位置由实际的自己的计算机的文件目录所定。

NS3之路----NS3的安装及第一个example例子

NS3之路----NS3的安装及第⼀个example例⼦NS3的安装以及第⼀个example1. 下载ns3(有多种⽅式,推荐第⼀种)l 使⽤tarball(关于tarball是什么,⾃⾏查阅),⾸先需要建⽴⼀个ns3的下载⽬录,假设为workspace。

再使⽤wget命令下载,以ns-3.23为例,如下:解压:tar xjf ns-allinone-3.23.tar.bz2⾄此,我们下载了ns-3.23,解压得到ns-allinone-3.23⽂件夹.PS:推荐使⽤tarball,使⽤bake的下载过程过于复杂。

l 使⽤Bake下载ns3,命令如下:可以对⽐看到使⽤tarball和bake的区别在于⼀个使⽤wget,另⼀个使⽤hg。

因为hg命令属于Mercurial(在预安装中所安装的),因此看到如下命令算正确。

.......45 files updated, 0 files merged, o files removed, 0 files unresoulved.这个时候下载的只是⼀个叫做bake的python脚本,在其下有bake⽂件夹。

⾥⾯有bake.py脚本。

⽽这只是⽤来下载ns3的脚本。

⾸先切换到bake⽂件夹,为其设置环境变量:export BAKE_HOME = 'pwd'export PATH = $PATH:$BAKE_HOME:$BAKE_HOME/build/binexport PYTHONPATH = $PYTHONPATH:$BAKE_HOME:$BAKE_HOME/build/bin接着就需要对bake进⾏配置(下载ns3配置)。

./bake.py configure -e ns-3.23如果上步通过,则检查相关组件是否⾜够进⾏下载⼯作,使⽤check来检查,如果缺少组件,则需要先进⾏安装。

./bake.py check如果检查通过,则会出现下列信息,否则,需要安装缺少的组件,相关安装过程使⽤apt-get install。

FlowVisor学习

FlowVisor学习修改记录版本号修改人修改日期新增/修改内容概要V0.1 *** 2014-08-06 Flowvisor基本概念,以及安装V0.2 *** 2014-08-07 Flowvisor相关操作,以及mininet V0.3 *** 2014-08-08 Flowvisor、mininet以及ODL连接V0.4 *** 2014-08-11 之前内容的修改,flowspace实验V0.5 *** 2014-08-14 虚网划分实验V0.6 *** 2014-08-15 基于Vlan的端口划分V0.7 *** 2014-08-17 基于传输层的虚网划分V0.8 *** 2014-08-18 基于MAC地址的虚网划分V0.9 *** 2014-08-20 基于MAC地址和应用端口的虚网划分V1.0 *** 2014-08-21 基于网络2,3,4层虚网的划分目录FlowVisor学习 (1)1.FlowVisor (3)1.1.FlowVisor介绍 (3)1.1.1.FlowVisor基本概念 (3)1.1.2.切片 (3)1.1.3.流规则 (4)1.1.4.带宽 (4)1.1.5.拓扑结构 (4)1.1.6.转发表 (5)1.2.FlowVisor安装过程 (5)1.3.FlowVisor基本操作 (6)1.3.1.切片操作 (6)1.3.1.流规则操作 (7)2.Mininet (8)2.1.SDN 与Mininet 概述 (8)2.2.Mininet的特性 (8)2.3.常用指令 (9)3.Opendaylight (9)3.1.ODL概念 (9)3.2.ODL的框架原则 (9)3.3.框架概述 (10)4.建立连接 (11)4.1.FlowVisor部分 (11)4.2.Mininet部分 (12)4.3.Opendaylight部分 (14)4.4.抓包看看tcp连接 (15)5.基于实验的flowspace细述 (16)5.1.全路径,单向数据通路 (16)5.2.全路径,双向数据通路 (16)5.3.指定路径,单向数据通路 (17)5.4.指定路径,双向数据通路 (18)5.5.流规则结论 (19)1.FlowVisor1.1.FlowVisor介绍FlowVisor是建立在OpenFlow之上的网络虚拟化平台,它可以将物理网络分成多个逻辑网络,从而实现开放软件定义网络(SDN)。

基于OpenFlow的SDN技术研究


中文引用格式 : 左青云 , 陈鸣 ,赵广松 ,邢长友 ,张国敏 ,蒋培成 .基于 OpenFlow 的 SDN 技术研究 .软件学报 ,2013,24(5):1078 1097. /1000-9825/4390.htm 英文引用格式 : Zuo QY, Chen M, Zhao GS, Xing CY, Zhang GM, Jiang PC. Research on OpenFlow-based SDN technologies. Ruan Jian Xue Bao/Journal of Software, 2013,24(5):10781097 (in Chinese). /1000-9825/4390.htm
软件学报 ISSN 1000-9825, CODEN RUXUEW Journal of Software,2013,24(5):10781097 [doi: 10.3724/SP.J.1001.2013.04390] ©中国科学院软件研究所版权所有 .
E-mail: jos@ Tel/Fax: +86-10-62562563
网络 范围 视图 网络层目标
Decision Disseminatቤተ መጻሕፍቲ ባይዱon Discovery Data
直接 控制
4D architecture 4D 架构
图1
下 ,决策平面通过全局网络视图做出网络控制决策 ,并直接下发到数据平面 ;分发平面在决策平面和路由器之间
1080
Journal of Software 软件学报 Vol.24, No.5, May 2013
network applications and future Internet technologies. The development status of OpenFlow-based SDN technologies is surveyed in this paper. The research background of decoupled architecture of network control and data transmission in OpenFlow network is summarized first, and the key components and research progress including OpenFlow switch, controller, and SDN technologies are introduced. Moreover, current problems and solutions of OpenFlow-based SDN technologies are analyzed in four aspects. Combined with the development status in recent years, the applications used in campus, data center, network management and network security are summarized. Finally, future research trends are discussed. Key words: OpenFlow; future Internet; controller; virtualization; software-defined networking (SDN)

NS3-目录结构和相关模块

NS3-目录结构和相关模块Waf是基于Python开发的编译工具,ns-3系统本身和将要写的仿真代码都由waf负责编译运行。

Scratch目录一般存放用户脚本文件,也可以把要运行的例子拷贝到该目录下。

Example是ns-3提供的关于如何使用ns-3的例子,包含许多模块的使用。

Doc目录是帮助文档,可以使用./waf --doxygen编译本地Doxygen文档。

Build目录是ns-3编译目录,包含编译文件时使用的共享库和头文件(build/ns3)。

Src是ns-3源码目录:模块里面的wscript文件结构是固定的,用来注册模块中包含的源码和使用其他模块情况。

Model目录包含模块代码的.cc和.h文件。

Helper目录存放的是模块对应的helper类代码的源文件。

Test目录包含的是模块设计者编写的模块测试代码。

examples目录存放的是应用该模块的实例代码。

Doc是帮助文档。

bindings目录是模块用来绑定Python语言的。

常用模块:Core:ns-3的内核模块,实现了ns-3的基本机制,如智能指针(Ptr)、属性(attribute)、回调(callback)、随机变量(random ariable)、日志(logging)、追踪(tracing)和事件调度(event scheduler)等内容。

Network:网络数据分组(packet)的模块,一般仿真会用到。

Internet:实现了关于TCP/IPv4和IPv6的相关协议族,包括IPv4、IPv6、ARP、UPP、TCP、邻居发现和其他相关协议,目前大多数网络都是基于Internet协议栈的。

Applications:集中常用的应用层协议Mobility:移动模型模块Topolopy-read:读取指定轨迹文件数据,按照指定格式生成相应的网络拓扑。

网络协议时能量不得不考虑。

Status:统计框架模块,方便ns-3仿真的数据收集、统计和分析。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档