ns2 aodv协议添加新的数据包类型

ns2 aodv协议添加新的数据包类型

ID:6355888

大小:46.89 KB

页数:7页

时间:2018-01-11

ns2 aodv协议添加新的数据包类型_第1页
ns2 aodv协议添加新的数据包类型_第2页
ns2 aodv协议添加新的数据包类型_第3页
ns2 aodv协议添加新的数据包类型_第4页
ns2 aodv协议添加新的数据包类型_第5页
资源描述:

《ns2 aodv协议添加新的数据包类型》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、2011-06-2812:28 1289人阅读 评论(8) 收藏 举报structaccessclasstimertclmacros在AODV协议基础上添加一种新的控制包类型,可以模仿AODV协议本身的RREQ、RREP、HELLO等来实现。这里我要在AODV协议中添加一个ISOLATE的数据包类型。首先在aodv_packet.h中[cpp] viewplaincopy1.#define AODVTYPE_HELLO      0x01  2.#define AODVTYPE_RREQ       0x02

2、  3.#define AODVTYPE_RREP       0x04  4.#define AODVTYPE_RERR       0x08  5.#define AODVTYPE_RREP_ACK   0x10  6.#define AODVTYPE_ISOLATE        0x20    加入AODVTYPE_ISOLATE                           0x20接着添加数据包申请内存空间的宏[c-sharp] viewplaincopy1./* 2. * AODV Rou

3、ting Protocol Header Macros 3. */  4.#define HDR_AODV(p)     ((struct hdr_aodv*)hdr_aodv::access(p))  5.#define HDR_AODV_REQUEST(p)     ((struct hdr_aodv_request*)hdr_aodv::access(p))  6.#define HDR_AODV_REPLY(p)   ((struct hdr_aodv_reply*)hdr_aodv::access(

4、p))  7.#define HDR_AODV_ERROR(p)   ((struct hdr_aodv_error*)hdr_aodv::access(p))  8.#define HDR_AODV_RREP_ACK(p)    ((struct hdr_aodv_rrep_ack*)hdr_aodv::access(p))  9.#define HDR_AODV_ISOLATE(p)   ((struct hdr_aodv_isolate*) hdr_aodv::access(p))   接着要具体定义新

5、的数据包格式了。我这里定义的AODV的格式如下所示:[c-sharp] viewplaincopy1.struct hdr_aodv_isolate {  2.u_int8_t iso_type;  //类型编号  3.u_int8_t reserved[3]; //保留字,没用到  4.u_int8_t mal_count;   //Malicious node number        u_int32_t       iso_bcast_id;    // Broadcast ID   5.nsaddr

6、_t malicious_node_addr[AODV_MAX_ISOLATE]; //malicious  6.double   obs[AODV_MAX_ISOLATE];  7.nsaddr_t src_addr;            //源节点  8.inline int size() //计算数据包的大小  9.{  10.    int sz = 0;  11.    /* 12.     sz = sizeof(u_int8_t) //type 13.          + sizeof(ns

7、addr_t) //malicious_node_addr 14.          + sizeof(nsaddr_t) //src_addr 15.                     + sizeof(u_int32_t) //iso_bcast_id 16.    */  17.        sz = (2*mal_count+3) *sizeof(u_int32_t);  18.        assert(sz);  19.        return sz;  20.    }     2

8、1.};   然后是在hdr_all_aodv添加hdr_aodv_isolate,如下所示:[c-sharp] viewplaincopy1.// for size calculation of header-space reservation  2.union hdr_all_aodv {  3.  hdr_aodv          ah;  4.  hdr_aodv_request  rre

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。