WSNet 新模块集成方法
- 格式:pdf
- 大小:1.01 MB
- 文档页数:8
网络集成方案引言网络集成是指将不同的网络硬件、软件和协议整合在一起,以实现网络的高效运行和数据通信。
网络集成方案是在现有的网络基础上,通过配置和组织各种网络组件,以满足特定的业务需求。
本文将介绍网络集成方案的基本概念、重要性以及实施步骤和关键考虑因素。
网络集成的基本概念网络集成是将各种不同类型的网络组件整合在一起,以实现数据通信和业务功能的完整性。
这些组件可以包括交换机、路由器、防火墙、负载均衡器、服务器、存储设备等。
在一个典型的网络集成方案中,不同的网络组件通过配置和编程相互协作。
例如,路由器通过路由表来确定数据包的最佳路径,交换机通过学习和转发数据帧来实现局域网设备之间的通信,防火墙通过过滤和检测网络流量来保护网络安全。
网络集成的重要性网络集成对于现代企业的运营至关重要。
以下是网络集成的几个重要方面:提高业务效率通过网络集成,企业可以将不同的业务流程和应用程序连接在一起,实现数据共享和协作。
这样可以提高业务效率,减少人工操作和数据转换的工作量。
降低成本网络集成可以避免企业购买和维护多个独立的网络设备和系统。
集成不同的网络功能和服务到一个统一的平台上,可以节约成本并简化管理。
增强安全性通过集成和统一管理网络安全设备和策略,企业可以更好地保护其敏感数据和信息资产。
集成的安全控制可以确保网络中的所有流量都经过必要的检测和审查。
支持创新网络集成可以为企业带来更大的灵活性和创新能力。
通过整合不同的技术和系统,企业可以快速部署新的业务应用和服务,以满足市场需求的变化。
实施网络集成方案的步骤下面是实施网络集成方案的一般步骤:1.分析需求:首先要明确业务需求和目标,了解需要集成的应用和系统。
2.设计架构:根据需求,设计网络集成方案的架构和拓扑结构。
确定需要使用的网络组件和技术。
3.配置和部署:按照设计方案,配置和部署各个网络组件和系统。
确保它们能够相互协作和交互。
4.测试和验证:对集成的网络进行全面的测试和验证,确保其能够正常工作和满足需求。
WSNet运行过程简要概述一、Main函数主要函数:功能:int do_parse(int argc, char *argv[]) 解析命令参数int do_init() 初始化工作int do_configuration() XML配置文件解析int do_bootstrap() 模块启动void do_observe() 观测模拟运行void do_end() 实体与节点解绑void do_clean() 各实体(数据结构、内存)清空主要运行流程图如下:二、各程序模块运行过程简要概述以下模块将以wsnet -c cbr.xml ->c.txt 命令启动作为开始:I.do_parse(argc,argv)该函数主要对"wsnet -c cbr.xml ->c.txt"命令进行解析,根据对应的解析结果,进行相应的操作。
提取选项的函数:c = getopt(argc, argv, "c:D:s:R:m:S:h:V")主要表现:该函数的功能是对各实体以及数据结构进行初始化。
das_init(void)包含函数:mem_fs_slice_declare(int size)实现的功能是内存管理——片管理。
同理,sodas_init(void),hadas_init(void),noise_init(void),packet_init(void)中也是如此。
,medium_init(void),mobility_init(void),modulation_init(void),以上函数的函数体中仅有“return 0”;timer_init(void)包含函数:void *hadas_create(hash_hash_t hash, hash_equal_t equal),只是同rng_init(void)中的那个参数不一样。
(后面列出的均是如此,不在介绍)III. do_configuration()该函数的功能是XML配置文件解析①.检查XML版本②.初始化并解析模式(或者架构)sp_ctxt = xmlSchemaNewParserCtxt(schemafile) 用于检查XML模式解析器是否初始化成功schema = xmlSchemaParse(sp_ctxt) 用于核实XML模式(架构)是否存在错误sv_ctxt = xmlSchemaNewValidCtxt(schema) 用于检查XML模式验证程序初始化是否成功③.初始化并解析文档p_ctxt = xmlNewParserCtxt() 用于检查XML解析器是否初始化成功doc = xmlCtxtReadFile(p_ctxt, configfile, NULL, XML_PARSE_NONET | XML_PARSE_NOBLANKS | XML_PARSE_NSCLEAN); 用于检测文档是否能被解析④.检查文档xmlSchemaValidateDoc(sv_ctxt, doc) 用于检查XML文件是否有错误⑤.创建xml路径(XPath)xp_ctx = xmlXPathNewContext(doc) xp_ctx用于检查XPath是否创建成功xmlXPathRegisterNs(xp_ctx, (xmlChar *) XML_NS_ID, (xmlChar *) XML_NS_URL);XPath注册⑥.获得Xpath.*xpathobj[i].ptr = xmlXPathEvalExpression(xpathobj[i].expr, xp_ctx)*xpathobj[i].ptr用于检测Xpath获取是否成功⑦.统计nodeset = entity_xobj->nodesetval; 用于统计实体(entity)个数nodeset = environment_xobj->nodesetval; 同上nodeset = bundle_xobj->nodesetval; 同上显示结果:⑧.获取模拟信息parse_simulation(simul_xobj->nodesetval) 解析模拟并提取信息print_simulation() 输出模拟信息显示结果:⑨.实体(entity)1.初始化库路径config_set_usr_modulesdir() 设置模块目录user_path_list = g_strsplit(user_modulesdir, ":", 0) 获取用户路径sys_path_list = g_strsplit(sys_modulesdir, ":", 0) 获取系统路径2.解析实体parse_entities(entity_xobj->nodesetval) 解析实体(们)int parse_entity(xmlNodePtr nd1, entityid_t id) 根据id解析实体主要含有以下函数:显示结果:⑩.测量(Measure)int parse_measure(void) 解析Measure void print_measure(measure_t *measure) 输出Measure信息○11.模拟环境(Environment)int parse_environment(xmlNodeSetPtr nodeset) 解析模拟环境void print_environment(void) 输出模拟环境信息显示结果:○12.包(Bundle)显示结果:(cbr 属于应用层模块)○13.节点1.检查是否有默认的捆绑。
WSNet无线传感网仿真平台计算机与信息学院王禄生LSWANG.ENST@本科生甚至研究生在通信行业的工作状况(不完全列表) 服务前台 语音服务销售售前技术支持更有技术含量与前途的工作 理论研究!?(不可能) 销售人员售后技术 技术体力活软,比如比如::开发手机上小型应用程序 硬,转电子电路 技术研究!?(能力未够) 仿真仿真!!(!!(!!(确有可能确有可能确有可能))跟着牛人做仿真 专业知识的大量积累专业知识的大量积累((广) 专业技能的大幅提高专业技能的大幅提高((深) 不甘寂寞者的机会不甘寂寞者的机会((个人观点)无线通信仿真的分类网络级仿真网络级仿真((研究MAC 层或以上层或以上))得有网的概念在里面:各层协议,尤其是从MAC 层向上,如路由算法、业务模型、终端移动模型等系统级仿真系统级仿真((研究MAC 层或以上层或以上)) 如3G 移动通信系统,有网内的各种设备、有多个基站、有多个终端、有系统规划优化,有MAC 层;TCP/IP 有或无均可能,高端的一般有业务模型、终端移动模型链路级仿真链路级仿真((研究物理层研究物理层)) 一条或多条收发链路,如MIMO 、OFDM 等可以是多个终端形成的多条收发链路,已经很接近系统级,但还未到系统级规划优化的层面;有物理层协议、一般无MAC 层算法级仿真算法级仿真((其它层常用到其它层常用到)) 几乎什么都没有,只有个简单的算法还有还有,,伪仿真公式推导+ 编程工具数值计算WSNet 是一个应用于无线传感网的事件驱动型仿真器动型仿真器。
事件主要是指事件主要是指‘‘协议中发生的事情协议中发生的事情’’WSNet的能力主要功能:节点仿真在WSNet中,模拟节点被看作任意配置的模块 节点无数量限制这类的模块有节点的结构下载安装协议模块仿真配置文件参数!!整个仿真的input参数实例演示cbr.xml15 cbr.xml配置文件内容详解全局参数全局参数::时间时间、、仿真区域仿真区域、、节点数实体实体((entity ):):通俗讲通俗讲通俗讲,,定义了一些用于组成节点特性的块儿定义一个position实体moiblity_static是移动模块库中的一个模块,叫做static,详见models/mobility/static.c定义一个propagation 实体propagation_shadowing 是移动模块库中的一个模块一个模块,,叫做shadowing ,详见models/ propagation /shadowing.c配置文件内容详解环境环境::描述无线媒介与物理环境描述无线媒介与物理环境,,如信道传输特性特性((含干扰含干扰)、)、)、物理层技术物理层技术物理层技术((如调制如调制))等环境配置的例子配置文件内容详解捆绑捆绑((bundle ):):指示了节点的协议架构指示了节点的协议架构绑定的例子配置文件内容详解节点节点((Node ):):就是终端就是终端就是终端,,需要清楚地定义其ID 、协议栈协议栈、、生成时间生成时间、、节点某些entity 的具体配置节点的例子技术内幕从如下运行命令开始进入wsnet/src/main.cdo_parse解析命令参数do_init初始化工作do_configuration XML配置文件解析 do_bootstrap模块启动do_observe仿真的主函数do_end,do_clean仿真结束后的处理总流程图协议栈细节展示详见wsnet 文件夹文件夹((现场演示现场演示))启示如果两个BAN 分的很远分的很远,,它们的传感器分别传输自己的数据到自己的中枢节点别传输自己的数据到自己的中枢节点((比如手机如手机))是没有任何干扰的是没有任何干扰的。
NET 3.5备用路径-----------------注意路径,需要找到操作系统解压出来的路径,路径是\sources\sxs\(注意:在sxs后面要加上一下反斜杠)。
NET就是微软用来实现XML,Web Services,SOA(面向服务的体系结构service-oriented architecture)和敏捷性的技术。
技术人员,想真正了解什么是.NET,必须先了解.NET技术出现的原因和它想解决的问题,必须先了解为什么他们需要XML,Web Services 和SOA。
技术人员一般将微软看成一个平台厂商。
微软搭建技术平台,而技术人员在这个技术平台之上创建应用系统。
从这个角度,.NET 也可以如下来定义:.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。
从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。
(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。
)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。
比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。
.NET 是基于Windows操作系统运行的操作平台,应用于互联网的分布式。
2014年4月的Build开发者大会上,微软宣布开源一批.NET库和相关技术,成立.NET基金会去管理和引导开源组件的开发。
微软还将在Apache 2.0许可证下开源Roslyn编译器堆栈,Roslyn是微软所谓的编译器即服务,包含了C#和Visual 编译器。
.NET基金会由来自微软、GitHub和Xamarin的代表组成,Xamarin由GNOME创始人Miguel de Icaza等人创建,开发.NET开源实现。
区县电子政务服务平台对接方案目录1目的和范围 (3)2概述 (3)2.1电子政务应用服务支撑基础 (3)2.2共享与交换平台的应用模式 (4)2.2.1 “集中控制”应用模式 (4)2.2.2 “分散控制”应用模式 (6)2.2.3 “递阶式控制”应用模式 (7)2.2.4 区县电子政务应用模式 (10)2.3信息共享与交换的需求形式 (10)2.4电子政务服务平台的定位 (11)2.4.1 业务需求 (12)2.4.2 技术需求 (12)2.4.3 资源共享、资源门户 (12)2.4.4 外部服务 (13)3电子政务服务平台基础架构 (13)3.1平台的基础服务架构 (13)3.2平台技术架构 (15)3.2.1 中心服务器 (16)3.2.2 节点工作站服务器 (17)3.2.3 适配器 (18)3.3平台物理部署 (19)4平台功能要求 (20)4.1平台所包含的开发环境需求 (20)4.1.1 需求分析 (20)4.1.2 性能指标 (21)4.2部署、运行需求 (21)4.2.1 需求分析 (21)4.2.2 性能指标 (23)4.3应用与平台的对接方式概述 (23)5应用与FIORANO平台集成方案 (24)5.1数据交换 (24)5.1.1 交换数据规范 (24)5.1.2 数据交换实现 (25)5.2应用系统接口集成 (1)5.2.1 基于API方式的应用集成 (1)5.2.2 基于消息队列的应用集成 (2)5.2.3 基于组件的应用集成 (3)5.2.4 基于服务的应用集成 (4)5.3业务流程整合 (6)6附件1 消息交换格式规范 (8)7附件2. FIORANOESB JMS接口组件开发标准 (8)8附件3. C/C++ 接口组件开发标准 (12)9附件4. WEB SERVICES 接口的 WSDL 文件 (16)1目的和范围这篇文挡主要描述各委办局节点应用、各异构数据库和新建应用与电子政务平台的连接方式。
iWebOffice2003/06简单快速集成指南为了帮助开发人员能够快速将控件集成于系统中,特借本指南为开发人员介绍控件的工作原理和集成的方法。
下面将以iWebOffice2003的演示程序为例给大家做介绍。
示例的开发语言为asp,其他开发语言也会顺带提到。
---------------------------------------------------------------------------------------------------------------------- 一、控件的工作原理iWebOffice控件其实是有两个文件(或者称两个控件)组成的。
一个用于集成在页面上的iWebOffice2003.ocx文件和一个用户后台服务器上的iMsgServer2000.dll(JA V A开发语言下则是DBstep目录下的iMsgServer2000.class)文件。
控件的工作其实就是前后台通信和处理的过程。
iWebOffice2003.ocx集成在页面上,通过javascript脚本调用,用于文档的编辑,以及传递信息到服务器;iMsgServer2000.dll在服务器端运行,用于解析iWebOffice2003.ocx控件发过来的信息包,以及将服务器上处理的结果反馈给客户端的iWebOffice2003.ocx客户端控件的函数功能分两种:1、不和服务器交互的功能,这类函数实现一个文档表面的功能,不需要和服务器端交互(即不向服务器端的处理页面发数据),如:设置书签内容、获取文档的内容、获取文档痕迹、插入本地文档和图片等;2、另一类是要和服务器交互的功能,这类函数调用时客户端控件都会将控件中的信息打包发向处理页面,处理页面引用服务器端控件来解析传过来的内容,并进行处理,具体服务器页面程序执行那端代码,在我们的示例程序里都有关于具体交互OfficeServer 页面OPTION值的注释,处理完后将信息通过服务器端控件打包,再发送给客户端,这类函数需要一个“客户端”—>“服务器处理页面”—>“客户端”的流程才能完成工作,如:打开文档、保存文档、插入服务器上的文档到当前文档中、套用模版、签名盖章等。
Name Category Synopsis ---- -------- -------- % Alias ForEach-Object ? Alias Where-Object ac Alias Add-Content asnp Alias Add-PSSnapin cat Alias Get-Content cd Alias Set-Location chdir Alias Set-Location clc Alias Clear-Content clear Alias Clear-Host clhy Alias Clear-History cli Alias Clear-Item clp Alias Clear-ItemProperty cls Alias Clear-Host clv Alias Clear-Variable compare Alias Compare-Object copy Alias Copy-Item cp Alias Copy-Item cpi Alias Copy-Item cpp Alias Copy-ItemProperty cvpa Alias Convert-Path dbp Alias Disable-PSBreakpoint del Alias Remove-Item diff Alias Compare-Object dir Alias Get-ChildItem ebp Alias Enable-PSBreakpoint echo Alias Write-Output epal Alias Export-Alias epcsv Alias Export-Csv epsn Alias Export-PSSession erase Alias Remove-Item etsn Alias Enter-PSSession exsn Alias Exit-PSSession fc Alias Format-Custom fl Alias Format-List foreach Alias ForEach-Object ft Alias Format-Table fw Alias Format-Wide gal Alias Get-Alias gbp Alias Get-PSBreakpoint gc Alias Get-Content gci Alias Get-ChildItem gcm Alias Get-Command gcs Alias Get-PSCallStack gdr Alias Get-PSDrive ghy Alias Get-History gi Alias Get-Item gjb Alias Get-Job gl Alias Get-Location gm Alias Get-Member gmo Alias Get-Module gp Alias Get-ItemPropertygroup Alias Group-Objectgsn Alias Get-PSSession gsnp Alias Get-PSSnapin gsv Alias Get-Service gu Alias Get-Unique gv Alias Get-Variable gwmi Alias Get-WmiObject h Alias Get-History history Alias Get-History icm Alias Invoke-Command iex Alias Invoke-Expression ihy Alias Invoke-History ii Alias Invoke-Item ipal Alias Import-Alias ipcsv Alias Import-Csv ipmo Alias Import-Module ipsn Alias Import-PSSession ise Alias powershell_ise.exe iwmi Alias Invoke-WmiMethod kill Alias Stop-Process lp Alias Out-Printer ls Alias Get-ChildItem man Alias help md Alias mkdir measure Alias Measure-Object mi Alias Move-Item mount Alias New-PSDrive move Alias Move-Item mp Alias Move-ItemProperty mv Alias Move-Item nal Alias New-Alias ndr Alias New-PSDrive ni Alias New-Item nmo Alias New-Module nsn Alias New-PSSession nv Alias New-Variable ogv Alias Out-GridView oh Alias Out-Host popd Alias Pop-Location ps Alias Get-Process pushd Alias Push-Location pwd Alias Get-Location r Alias Invoke-History rbp Alias Remove-PSBreakpoint rcjb Alias Receive-Job rd Alias Remove-Item rdr Alias Remove-PSDrive ren Alias Rename-Item ri Alias Remove-Item rjb Alias Remove-Job rm Alias Remove-Item rmdir Alias Remove-Item rmo Alias Remove-Modulernp Alias Rename-ItemProperty rp Alias Remove-ItemProperty rsn Alias Remove-PSSession rsnp Alias Remove-PSSnapin rv Alias Remove-Variable rvpa Alias Resolve-Path rwmi Alias Remove-WmiObject sajb Alias Start-Job sal Alias Set-Alias saps Alias Start-Process sasv Alias Start-Service sbp Alias Set-PSBreakpoint sc Alias Set-Content select Alias Select-Object set Alias Set-Variable si Alias Set-Item sl Alias Set-Location sleep Alias Start-Sleep sort Alias Sort-Object sp Alias Set-ItemProperty spjb Alias Stop-Job spps Alias Stop-Process spsv Alias Stop-Service start Alias Start-Process sv Alias Set-Variable swmi Alias Set-WmiInstance tee Alias Tee-Object type Alias Get-Content where Alias Where-Object wjb Alias Wait-Job write Alias Write-Output Add-Computer Cmdlet 将本地计算机添加到域或工作组中。
无线通信网络仿真平台WSNet新模块集成方法摘要WSNet是一个应用于无线传感网的时间驱动型仿真器,事件主要指“协议中发生的事情”。
WSnet主要是用节点来进行无线传感的仿真,节点被看作任意配置的模块。
所以,在WSnet里面,有许多的模块,有无线传播、干扰、调制、天线等等模块,每个大的模块里面又有许多小的协议模块,我们运用这些不同特性不同功能的模块来实现特定问题的仿真。
在这样的背景下,我们的任务就是在WSNnet中集成一个新的模块。
我们这里应用的是一个相对简单、灵活的方法,创建好相关目录、配置好环境变量以后,我们应用一个具体的例子来说明新模块应该如何集成。
最后,我们利用了一个XML配置文件进行仿真,能够得到结果。
这里的WSNet新模块集成方法只是一种方法,并不是只有这一种方法。
我们针对我们所采用的这种方法,进行了一定的优缺点分析。
[关键词] WSNet 无线网络新模块节点仿真一、方法介绍我们使用的方法是一种简单、灵活的方法。
在集成新模块之前,需要安装好WSNet并且设置好工作目录。
然后,便可以开始编写新模块。
在WSNet里面,应用模块的体系结构是固定的,编写新模块时需要按照这个结构来写,我们定义了一个新的协议,并根据这个固定的体系模块完成了编写。
接着,把写好的.C文件移动到指定目录下便可以进行编译、安装。
最后,利用了一个XML配置文件进行模拟,仿真完成。
二、具体过程1、准备过程Step 1:安装WSNetWSNet的安装需要在Linux操作系统环境下进行,我们应用虚拟机来完成安装。
需要提到的是像安装eclipse需要先装JDK一样,WSNet也有许多的依赖,在安装WSNet之前,需要从软件库里面将它们都安装好。
其它的这里不赘述。
Step 2:设置工作目录首先,键入以下命令,创建HOME/wsnet-module/ 并移动到工作目录:$ mkdir wsnet-module/$ cd wsnet-module/然后,通过输入以下命令下载需要从SVN库中实现的文件$ svn checkout svn://scm.gforge.inria.fr/svn/wsnet/user_models/这将下载需要编写新的WSNet模块的文件,现在,$HOME/wsnet-module/user_models/ 目录下应该包含下列文件:$ ls ./user_models/bootstrap configure.ac Makefile.am2、编写新模块Step 1:定义一个新协议我们定义一种新的数据传输协议,这个协议操作如下:•源节点周期性地广播一个新的数据•接收新数据的传感器节点(不是收以前的),根据给定的概率p再次广播该新数据并且根据给定的概率q将其存储在本地。
Step 2:应用模块体系结构介绍每个WSNet应用模块必须遵循下面的源代码架构:#include <include/modelutils.h>model_t model = {"MODULE DESCRIPTION", "AUTHORS", "0.1",MODELTYPE_APPLICATION,{NULL, 0}};int init(call_t *c, void *params);int destroy(call_t *c);int setnode(call_t *c, void *params);int unsetnode(call_t *c);int bootstrap(call_t *c);int rx(call_t *c, packet_t *packet);application_methods_t methods = {rx};Step 3:模块实现我们找到了一个编写好的协议模块epidemic.c,将epidemic.c复制到$HOME/wsnet-module/user_modules/目录下。
$ cp Desktop/epodemic.* wsnet-module/$ cp epidemic.c user_models/3、编译和安装新模块Step 1:编译接着,使用getdit命令打开Makefile.am,并修改如下:lib_LTLIBRARIES = libapplication_libapplication_epidemic_la_CFLAGS = $(CFLAGS) $(GLIB_FLAGS) -Wall libapplication_epidemic_la_SOURCES = epidemic.clibapplication_epidemic_la_LDFLAGS = -module编译epidemic.c,键入以下命令:$ cd user_models/$ ./bootstrap$ ./configure --prefix=$HOME/wsnet-module--with-wsnet-dir=/usr/local/wsnet-2.0$ make–prefix选项代表模块将被安装的目录,--withwsnet-dir是WSNET的安装目录。
Step 2:安装安装编译的模块,键入以下命令:$ make install在我们的案例中,模块被安装在$HOME/wsnet-module/lib/目录下。
使用$ ls命令查看该目录下的文件,确定包含以下所有文件。
$ ls $HOME/wsnet-module/lib/libapplication_epidemic.alibapplication_libapplication_epidemic.solibapplication_epidemic.so.0.0.0最后,为了成功使用我们的模块,还需要定义WSNET_MODDIR环境变量,通过getdit命令获取在$HOME目录下的.bashrc文件,并添加以下行来实现:export WSNET_MODDIR=$HOME/wsnet-module/lib安装编译的模块,键入以下命令:$ make install4、启动仿真Step 1:设置配置文件我们必须建立一个XML配置文件用以运行模拟,此示例配置文件为epidemic.xml。
在这个配置中,我们假设100个节点随机分布在100×100的区域。
我们使用RTS / CTS协议和802.11 MAC层协议,一个全向天线,正交干扰,以及圆形的传播范围。
我们为节点定义两个实体:epidemic-sensor和epidemic-source。
我们指定源的静态位置为(50.0,50.0),并且传感器随机部署。
默认情况下,节点作为传感器,同时,节点0作为源节点。
Step 2:启动仿真复制epidemic.xml到$HOME/wsnet-module/,键入以下命令,启动仿真:$ wsnet -c epidemic.xmlwsnet-mudule和user-models下面包含的文件:$ make install$ cd ..$ wsnet -c epidemic.xml最后得到两个结果,一个是应用到的协议模块的描述,另一个是节点的传播特性。
(结果在附录中以文本格式呈现)三、方法的优缺点分析优点•对节点间的通信提供了一个高可靠性的模型,可以准确地模拟节点间的交互行为。
我们可以从结果看到,在随机分布的100个节点中,在发不同的数据包时,数据的传递方向和次数。
•模拟的代价较小,不依赖于具体的硬件平台。
这是一个软件仿真的过程,只需要在电脑上完成即可,不需要硬件的帮忙。
同时,模拟器可以适应大规模节点网络的变化,同时模拟多个节点,节点无数量限制。
•集成的模块教简单,实现起来相对顺畅。
在这个课题中,我们集成的模块并不复杂,根据找到的教程可以较快的得到结果。
相对于改变软件结构来编写新模块的方法,这个方法可以算灵活性和可行性较高的方法。
缺点•不能模拟应用程序的行为,对节点内部操作的模拟精度比较低。
只能观察到节点的外部行为,这个从结果中可以看到。
•集成模块的实用性不高。
我们实现的只是一个简单的协议模块的编写集成,不像WSNet自带的那些模块有更好的实用性。
•结果的表示不够形象具体。
我们最后得到的结果是用文本形式表现的。
本想像NS2一样,自动生成拓扑图,看出一定时间内数据包的传输和拥塞丢包等情况,但由于对WSNet的不了解,不知道应该怎么画拓补图。
后来又想用Matlab连接文本结果中进行传输的点,大数据量的获取又成了一个大问题,所以最后拓补图并没有画出来。
但是我们可以想到这是一个由一个点向外发散的星形拓补图。
四、体会与收获通过这次接入技术大作业的研究,我们有了许多的收获。
这次的课题是WSNet的新模块集成方法,对于我们这是一个全新的软件,所以为了完成新模块集成方法的研究,我们需要先对WSNet有一个大致的了解,再找到新模块集成的方法。
然后就是WSNet的安装和方法的实践,首先是安装,WSNet是在Linux下工作的,而我们是第一次接触Linux,安装虚拟机,熟悉Linux 的基本操作指令,一步一步地将WSNet安装好。
接着,我们按照找到的WSNet 新模块集成方法教程,按照教程完成了模块安装并能够启动仿真。
由于对操作系统和软件的陌生,在操作过程中,我们遇到了不少的问题和瓶颈,但最后都慢慢的解决了,这是一次锻炼自学能力和理解能力的良好机会,我们学到了许多以前没有接触到的知识。
同时,这种特殊体验也对以后的科研能力有很大的帮助。
五、参考文献[1]/[2]http://wsnet.gforge.inria.fr/[3]WSim et WSNet Antoine Fraboulet Guillaume Chelius ric Fleury[4]Implementation of a WSNet Module to Simulate[5]WSNet : How to write a new application module ?[6]WSNet : Simulation configuration Tutorial[7]Adding Network Coding Capabilities to the WSNet Simulator[8]WSNet--一个简单的网络级仿真平台[9]WSNet运行流程中文解析。