下载此文档

[精品]在NS下进行新协议开发的一般流程.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
[精品]在NS下进行新协议开发的一般流程.doc:..在NS2下进行新协议开发的一般流程在NS2下进行新协议开发的一般流程如图3-5所示。在NS2下进行新协议开发的一•般流程由于NS2使用分裂对象模型,所以在协议开发的过程屮,总是从C++和Tel两个类入手。流程说明如下:1、定义新的路由协议::publicAgent{}□在NS2中,所有路由协议都是从Agent类继承而来的。其中,recv()mand()函数是从Agent类继承下来的。recv()是Agent在接收分组吋的入口,源节点在发送一个分组吋会调用H标节点的相应Agent的recv()函数。它是路由层收到数据包的处理函数,mandO是命令处理函数。要在Otcl对象屮调用对应的C++对象的方法,mandO函数实现的。对于每个TclObject,NS2为其Otcl屮的解释对象建立一个实例过程,cmd{}。过程cmd{}mand。,并将cmd{}mandO方法。此外,具体协议所用到的其它函数也在AODV类中定义。2、 定义一个TclClass类的子类:定义的新的路由协议需要被NS所接纳并且可以在Tel代码屮使用,文件进行如下定义:lassAODVclass:publicTclClass{}□TclClass是一个纯虚类,从这个基类继承出来的类提供两个功能:构造和编译类结构互为镜像的解释类结构以及提供初始化新的TclObject的方法。每个从TclClass继承出來的类都和编译类结构屮的一个TclObject的子类札I关联,并能初始化所关联的类的新对象。在其构造函数屮调用基类的构造函数AODVclass():TclClass(“Agent/AODV"),其中Agent/AODV指定了C++中的AODV类和Tel部分屮的Agent/AODV绑定在了一起,在编写的Tel代码屮指定路由协议吋就应该用Agent/AODVo3、 修改ns/tcl/lib/ns-:在NS2中运行Tel中指定路由协议时只会用到路由协议的名称,因此,我们需要修改NS的系统Tel代码,使得半设定路由协议为AODV吋会调用我们新增加的Agent/AODV类(也就是C卄下的AODV类)。这需要在ns/tcl/lib/ns--wireless-node成员函数屮增加如下代码:switch-exact$routingAgent_{AODV{setragent[$selfcreate-aodv-agent$node]:}}然后在ns/tcl/lib/ns・-aodv-agent(参照已有的路由协议)。4、 定义包头:为了进行重复包检测,路由协议需要定义口己的包头,将各种序列号、分组标识等存在这个包头屮。首先在AODV-,个结构体structhdr_aodv{},ess都是系统要求的,我们只需要作相应的修改。;packet::access()返冋用于储存包头的缓冲区的第一个字节的地址。然后我们需要在ns/tcl/lib/ns-

[精品]在NS下进行新协议开发的一般流程 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人pppccc8
  • 文件大小370 KB
  • 时间2020-02-12