理解MANET模型的内部结构和接口.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MANET 的体系结构: MANET 协议的特点: 在冲突性的无线媒体中,尽量可靠的进行路由选择,并使得控制开销最小; 能快速检测拓扑的变化OPNET 中的反应式 MANET: Ad-Hoc 按需距离向量路由:AODV 动态源路由:DSR OPNET 中的主动式 MANET: 地理路由协议:GRP 优化链路状体路由:OLSR OSPFv3 的 MANET 扩展 在初始化的时候(manet_magr/manet_rte_mgr): 注册自己(进程) 确定 MANET 协议的配置 创建子进程,并储存其菌柄 等待唤醒 manet_mgr 的唤醒 由路由进程唤醒:发送数据包给 IP 由 IP(CPU)唤醒:发送数据包给 DSR/AODV 子进程 Manet_rte_mgr 的唤醒: 由 UDP 通过流中断唤醒:发送给 OLSR 子进程的包 OLSR 子进程在联通的端口号上直接发送包给 UDP AODV 反应式的协议,需要的时候才去发现路由; 路由发现:通过 RREQ 路径记录+RREP 和 反向路径记录实现 路由维护:Hellos 路由差错:RERR 扩展环搜索:TTL 和网络直径 AODV 更新 IP 公共路由表 支持 IPV4 和 IPV6 可以在主机、工作站、服务器和路由器上使用 AODV 的路由维护: AODV 的本地修复: AODV 的控制流程: AODV 的控制包类型: Hello(TTL=1 的路由回复),路由请求,路由回复,路由差错 支持的功能在 aodv_pkt_support.ex.c 中定义 只有一种包格式:models/std/manet/aodv.pk.m 包到达时的处理函数:在 aodv_rte.pr.m 进程中 (1)aodv_rte_pkt_arrival_handle(): 获取”options”字段,然后得到元素的类型,根据类型的不同,将 void*转换成适当的数据结构类型(另外一种方法是使用“structure union”) AodvT_Packet_Option 在 aodv_pkt_support.h 中定义发送 AODV 控制包: (1)首先创建 AODV 包,然后用 aodv_rte_ip_datagram_create 将其封装 IP 中(方针 ip_encap 模块的功能) 路由请求:广播 Hello/route reply/route error:单播,当发送包的时候,需要安装ManetT_Nexthop_info*。 AODV 的路由表: 数据结构:AodvT_Route_Table 和 AodvT_Route_Entry,定义在aodv.h 中 虽然 AODV 路由表有一个指向 IP 转发表的指针,但是仍然维护了一个单独的表,因为 AODV 可能有一个软状态,这时的改变不会反映在 IP 中 路由操作的 API 定义在 models/std/manet/aodv_route_table.ex.c 中AODV 的请求表: 维护一个路由请求数据库,其目的是为了减小复制。数据结构: AodvT_Request_Table, AodvT_Orig_Request_Entry,AodvT_Forward_Request_Entry, AodvT_Request_Expiry,它们定义在 aodv.h 中 请求操作的 API 定义在/models/std/manet/aodv_request_table.ex.c 中 AODV 的包队列: IP 如果没有发现路由,就将应用数据重定向给 AODV 包队列是“逐目的(per destination)”的:哈希表。数据结构: AodvT_Packet_Queue 和 AodvT_Packet_Entry 定义在 aodv.h 中 应用包的 API 在 models/std/manet/aodv_packet_queue.ex.c 中定义 发送包到目的地:aodv_rte_all_pkts_to_dest_send →manet_rte_to_cpu_packet_send_options 需要注意的是: 每个节点只能运行一个 MANET 协议。可以在多个接口上部署 MANET 协议,其它的继承协议(legacy protocol)可以和 MANET 一起运行。扩展协议(OSPFv3-MANET)是一个特例,应将它堪称一个继承协议。 MANET 控制包为全局广播(255.255.255.255)。对于多接口设备而言,即是其它的接口没有运行 MANET,MANET 包夜要在那些接口上广播(OSPFv3- MANET 例外)。 利用传统路由架构的 MANET 重分配(redistribution)支持。只有AODV 和 OSPFv3-MANET 支持真正

文档评论(0)

liuzhouzhong + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档