《理解MANET模型的内部结构和接口.docx》由会员分享,可在线阅读,更多相关《理解MANET模型的内部结构和接口.docx(10页珍藏版)》请在第一文库网上搜索。
1、MANET的体系结构:MANET协议的特点:(1)最小;(2)能快速检测拓扑的变化OPNET中的反应式MANET:(1)Ad-Hoc按需距离向量路由:AODV(2)动态源路由:DSROPNET中的主动式MANET:(1)地理路由协议:GRP(2)优化链路状体路由:O1SR在冲突性的无线媒体中,尽量可靠的进行路由选择,并使得控制开销(3)0SPFv3的MANET扩展Functiona1ityReactiveProactiveRouteDxoverysneededComtant1)disccrandHI!ni15RMi1C1gi1RuutcDUCOEyIotcnvyH1owTCpO1OgyChan
2、geDf1eCti(WRouteErroniHc11otRUUHngMethodDiSUincoVcciof1inkStou在初始化的时候(manet_magr/manet_rtemgr):(1)注册自己(进程)(2)确定MANET协议的配置(3)创建子进程,并储存其菌柄(4)等待唤醒Iip_disPiI1ChIc*1dpnfoc/I)SRAQDVJmanG_rIJmerUDPI1rmanet_mgr的唤醒(1)由路由进程唤醒:发送数据包给IPC8黠言书EMn:盯了哥皿6prR*/(2)由TP(CPU)唤醒:发送数据包给DSR/AODV子进程/1”ci,mqP1H,ni*ef1vr(IMrMt
3、jareAArte1etMMr)BSIMkM1i-U“GFVTQt11/*331CES1(.0WCC,*3/和,”&”I、gr)Manet_rte_mgr的唤醒:(1)由UDP通过流中断唤醒:发送给O1SR子进程的包(2)O1SR子进程在联通的端口号上直接发送包给UDPinanci_ric_mgrVUDPJChiIdPrOCO1SRAODV(1)反应式的协议,需要的时候才去发现路由;(2)路由发现:通过RREQ路径记录+RREP和反向路径记录实现(3)路由维护:He11os(4)路由差错:RERR(5)扩展环搜索:TT1和网络直径(6) AoDV更新IP公共路由表(7)支持IPV4和IPV6(
4、8)可以在主机、工作站、服务器和路由器上使用Routeentrycreated:XyX:Destinationy;NexthopAODV的路由维护:De1eteImrEvpiryTgtrAODV的本地修复:AODV的控制包类型:(1) He11o(TT1=I的路由回复),路由请求,路由回复,路由差错(2) 支持的功能在aodv_pkt_support.ex.c中定义(3)只有一种包格式:mode1s/std/manet/aodv.pk.m包到达时的处理函数:在aodvrte.pr.in进程中(1)aodv_rte_pkt_arriva1_hand1e():获取“options”字段,然后得到元
5、素的类型,根据类型的不同,将VOid*转换成适当的数据结构类型(另外一种方法是使用“structureunion)AodvT_Packet_Option在aodv_pkt_support.h中定义发送AODV控制包:(1)首先创建AODV包,然后用aodv_rte_ip_datagram_create将其封装IP中(方针ip_encap模块的功能)路由请求:广播He11o/routerep1y/routeerror:单播,当发送包的时候,需要安装ManetT_Nexthop_inf0*oAODV的路由表:(1)数据结构:AodvT_Route_Tab1e和AOdVT_Route_Entry,定
6、义在aodv.h中(2)虽然AODV路由表有一个指向TP转发表的指针,但是仍然维护了一个单独的表,因为AODV可能有一个软状态,这时的改变不会反映在IP中(3)路由操作的API定义在modc1sstdmanetaodVroUtC_tab1e.ex.c中AODV的请求表:(1)维护一个路由请求数据库,其目的是为了减小复制。数据结构:AodvT_Request_Tab1e,AodvT_Orig_Request_Entry,AodvT_Forward_Request_Entry,AodvT_Request_Expiry,它们定义在aodv.h中(2) 请求操作的API定义在mode1sstdmane
7、taodVreqUeSt_tab1e.ex.c中AODV的包队列:(1) IP如果没有发现路由,就将应用数据重定向给AODV(2)包队列是“逐目的(perdestination)”的:哈希表。数据结构:AodvT_Packet_Queue和AodvT_Packet_Entry定义在aodv.h(3) 应用包的API在InOdeIS/std/manet/aodv_packet_queue.ex.c中定义(4) 发送包到目的地:aodv_rte_a11_pkts_to_dest_send-*manet_rte_to_cpu_packet_send_options需要注意的是:(5) 每个节点只能运
8、行一个MANET协议。可以在多个接口上部署MANET协议,其它的继承协议(IegaCyprotoco1)可以和NfANET一起运行。扩展协议(OSPFV3-MANET)是一个特例,应将它堪称一个继承协议。(6) MANET控制包为全局广播(255.255.255.255)。对于多接口设备而言,即是其它的接口没有运行MANET,MANET包夜要在那些接口上广播(OSPFv3-MANET例外)o(3)利用传统路由架构的MANET重分配(redistribution)支持。只有AoDV和OSPFV3-MANET支持真正的重分配,O1SR可以通过静态路由配置实现重分配,DSR和FRP不支持。常见问题:
9、(1)在MANET中可以实现路由的可视化么?理由命令流(demandf1ows)能够实现。对于DSR,可以不用命令就能实现可视化,这时它的源路由特征决定的。(2)可以和静态路由联合起来使用吗?可以。(7) MANET能够得到来自MAC的反馈吗?能够。(8) PTM-SM协议可以和MANET一起工作吗?运行MANET协议的设备如果只有一个接口,那将不能工作,这时PIM-SM自身的特征决定的。(9) MANET能够保证获得最短路径吗?不能,主动式MANET获得最短路径的概率比反应时MANET的概率大。对于反应时MANET而言,一旦找到一条路径,就不再尝试寻找其他更好的路径,除非现有的路由失效。对主动式MANET协议而言,路由是一直得到维护的,因而更有可能得到最短路径。来自应用的数据包的处理流程:S-*!WR4)-O):mwroSSNrtS来自低层的控制包的处理流程: