2024.12.2317.1移动AdHoc网络概述移动adhoc网络面临的问题特殊的信道共享方式共享信道“隐藏终端”/“暴露终端”导致RTS/CTSABCDABCDRTS:requesttosendCTS:CleartosendRTSCTSdataACK隐藏终端的存在而导致的碰撞A和C是隐藏终端A、B、C、D终端工作在同一信道上2024.12.2327.1移动AdHoc网络概述(条件)共享信道,A向B发送数据,C处于A覆盖范围以外B的覆盖范围以内,C检测不到A向B发送无线信号时,以为C本身可以发送数据,因而向B发送数据,结果发生碰撞。这种未能检测出媒体上已存在的信号的问题叫做隐藏终端问题(HiddenTerminalProblem)A的作用范围C的作用范围ABCD隐藏终端问题2024.12.2337.1移动AdHoc网络概述(条件)共享信道,B向A发送数据,C处于B覆盖范围以内A覆盖范围以外,而C又想和D通信。C检测到媒体上有信号,于是就不敢向D发送数据,需延迟向D发送。其实B向A发送数据并不影响C向D发送数据,这就是暴露终端问题(ExposedTerminalProblem)ADCB?B的作用范围C的作用范围暴露终端问题2024.12.2347.2移动AdHoc网络组网体系网络结构网络结构HFEGCBD2134657890簇首簇成员368平面结构层次结构2024.12.2357.3移动AdHoc网络路由(表驱动)2024.12.2367.3移动AdHoc网络路由路由发现Routediscovery由一个想要向一个目的节点D发送数据的信源S激活;此进程只在S需要发送数据并且不知道到D的路由时才启动;路由维护Routemaintenance节点S在给D发送数据时要能检测出由于网络拓扑动态变化导致源路由中断的情况;当前的源路由不能用时S切换到另一条已知的路由或者重新发起routediscovery寻找新路由DSR协议由两部分组成2024.12.2377.3移动AdHoc网络路由源节点向邻居节点广播路由请求报文(RREQ:RouteRequest)源节点地址目的节点地址路由记录:记录从源节点到目的节点路由中的中间节点地址请求ID中间节点接收到RREQ后,将自己的地址附在路由记录中ABCDEF(A-)(A-F)(A-)(A-B-)(A-B-C-)(A-B-C-)(A-B-C-E-)DSR路由发现:路由请求2024.12.2387.3移动AdHoc网络路由DSRDSR路由发现路由发现路由请求报文RouteRequest(RREQ)目的节点地址目的节点地址路由记录路由记录请求请求IDID字段用于记录从源节点到目的节点路由中的中间节点地址,当RREQ到达目的节点时,该字段中所有节点地址构成了从源节点到目的节点的路由由源节点管理,中间节点维护<源节点地址,请求ID>序列对列表,<源节点地址,请求ID>序列对用于唯一标识RREQ,以防止收到重复的RREQ源节点地址源节点地址2024.12.2397.3移动AdHoc网络路由中间节点维护<源节点地址、请求ID>序列对列表重复RREQ检测如果接收到的RREQ消息中的<源节点地址、请求ID>存在于本节点的序列对列表中如果接收到的RREQ消息中的路由记录中包含本节点的地址如果检测到重复,则中间节点丢弃该RREQ消息ABCDEF(A-)(A-F)(A-)(A-B-)(A-B-C-)(A-B-C-)(A-B-C-E-)DSR路由发现:中间节点处理2024.12.23107.3移动AdHoc网络路由目的节点收到RREQ后,给源节点返回路由响应报文(RREP:RouteReply)拷贝RREQ消息中的路由记录源节点收到RREP后在本地路由缓存中缓存路由信息(A-B-C-D)ABCDEF(A-B-C-D)(A-B-C-D)DSR路由发现:路由响应2024.12.23117.3移动AdHoc网络路由中间节点收到源节点的RREQ后处理流程Step1Step1若RREQ中<源节点地址,请求ID>存在于本节点的序列对列表中,表明该RREQ重复,则不处理;否则转Step2Step2Step2若中间节点地址已存在路由记录中,则不处理;否则转Step3Step3Step3若RREQ目的节点就是本中间节点,则本节点向源节点发送路由响应报文RouteReply(RREP),同时将路由记录中保存的路由存在RREP中;否则转Step4Step4Step4该节点为中间节点,将中间节点地址添加到RREQ中路由记录中,同时向继续邻居节点广播该RREQ总结2024.12.23127.3移动AdHoc网络路由BAFCEDRouteRequestinDSRRepresentsanodethathasreceivedRREQforDfromAsourcedestination2024.12.23137.3移动AdHoc网络路由BAFCEDRouteRequestinDSRBroadcasttransmission[A]RepresentstransmissionofRREQ[X,Y]RepresentslistofidentifiersappendedtoRREQ[A]2024.12.231...