《第7章AdHoc.ppt》由会员分享,可在线阅读,更多相关《第7章AdHoc.ppt(22页珍藏版)》请在课桌文档上搜索。
1、2023/11/7,1,7.1 移动Ad Hoc网络概述,移动ad hoc 网络面临的问题,特殊的信道共享方式共享信道“隐藏终端”/“暴露终端”,RTS/CTS,A,B,C,D,A,B,C,D,RTS:request to sendCTS:Clear to send,RTS,CTS,data,ACK,隐藏终端的存在而导致的碰撞A和C是隐藏终端,A、B、C、D终端工作在同一信道上,2023/11/7,2,7.1 移动Ad Hoc网络概述,(条件)共享信道,A向B发送数据,C处于A覆盖范围以外B的覆盖范围以内,C 检测不到A向B发送无线信号时,以为C本身可以发送数据,因而向 B 发送数据,结果发生
2、碰撞。这种未能检测出媒体上已存在的信号的问题叫做隐藏终端问题(Hidden Terminal Problem),A 的作用范围,C 的作用范围,A,B,C,D,隐藏终端问题,2023/11/7,3,7.1 移动Ad Hoc网络概述,(条件)共享信道,B 向A 发送数据,C处于B覆盖范围以内A覆盖范围以外,而 C 又想和 D 通信。C 检测到媒体上有信号,于是就不敢向 D 发送数据,需延迟向D发送。其实 B 向 A 发送数据并不影响 C 向 D 发送数据,这就是暴露终端问题(Exposed Terminal Problem),A,D,C,B,?,B 的作用范围,C 的作用范围,暴露终端问题,20
3、23/11/7,4,7.2 移动Ad Hoc网络组网体系,网络结构,平面结构,层次结构,2023/11/7,5,7.3 移动Ad Hoc网络路由,(表驱动),2023/11/7,6,7.3 移动Ad Hoc网络路由,路由发现Route discovery由一个想要向一个目的节点D发送数据的信源S激活;此进程只在S需要发送数据并且不知道到D的路由时才启动;路由维护Route maintenance节点S在给D发送数据时要能检测出由于网络拓扑动态变化导致源路由中断的情况;当前的源路由不能用时S切换到另一条已知的路由或者重新发起route discovery寻找新路由,DSR协议由两部分组成,202
4、3/11/7,7,7.3 移动Ad Hoc网络路由,源节点向邻居节点广播路由请求报文(RREQ:Route Request)源节点地址目的节点地址路由记录:记录从源节点到目的节点路由中的中间节点地址请求ID中间节点接收到RREQ后,将自己的地址附在路由记录中,A,B,C,D,E,F,(A-),(A-F),(A-),(A-B-),(A-B-C-),(A-B-C-),(A-B-C-E-),DSR路由发现:路由请求,2023/11/7,8,7.3 移动Ad Hoc网络路由,DSR路由发现,路由请求报文Route Request(RREQ),目的节点地址,路由记录,请求ID,字段,用于记录从源节点到目
5、的节点路由中的中间节点地址,当RREQ到达目的节点时,该字段中所有节点地址构成了从源节点到目的节点的路由,由源节点管理,中间节点维护序列对列表,序列对用于唯一标识RREQ,以防止收到重复的RREQ,源节点地址,2023/11/7,9,7.3 移动Ad Hoc网络路由,中间节点维护序列对列表重复RREQ检测如果接收到的RREQ消息中的存在于本节点的序列对列表中如果接收到的RREQ消息中的路由记录中包含本节点的地址如果检测到重复,则中间节点丢弃该RREQ消息,A,B,C,D,E,F,(A-),(A-F),(A-),(A-B-),(A-B-C-),(A-B-C-),(A-B-C-E-),DSR路由发
6、现:中间节点处理,2023/11/7,10,7.3 移动Ad Hoc网络路由,目的节点收到RREQ后,给源节点返回路由响应报文(RREP:Route Reply)拷贝RREQ消息中的路由记录源节点收到RREP后在本地路由缓存中缓存路由信息,(A-B-C-D),A,B,C,D,E,F,(A-B-C-D),(A-B-C-D),DSR路由发现:路由响应,2023/11/7,11,7.3 移动Ad Hoc网络路由,中间节点收到源节点的RREQ后处理流程,若RREQ中存在于本节点的序列对列表中,表明该RREQ重复,则不处理;否则转Step 2,若中间节点地址已存在路由记录中,则不处理;否则转Step 3
7、,若RREQ目的节点就是本中间节点,则本节点向源节点发送路由响应报文Route Reply(RREP),同时将路由记录中保存的路由存在RREP中;否则转Step 4,Step 4,该节点为中间节点,将中间节点地址添加到RREQ中路由记录中,同时向继续邻居节点广播该RREQ,总结,2023/11/7,12,7.3 移动Ad Hoc网络路由,B,A,F,C,E,D,Route Request in DSR,Represents a node that has received RREQ for D from A,source,destination,2023/11/7,13,7.3 移动Ad Ho
8、c网络路由,B,A,F,C,E,D,Route Request in DSR,Broadcast transmission,A,Represents transmission of RREQ,X,Y Represents list of identifiers appended to RREQ,A,2023/11/7,14,7.3 移动Ad Hoc网络路由,B,A,F,C,E,D,A,A,A,B,A,F,Route Request in DSR,2023/11/7,15,7.3 移动Ad Hoc网络路由,B,A,F,C,E,D,A,A,A,B,A,F,Route Request in DSR,
9、A,B,C,A,B,C,2023/11/7,16,7.3 移动Ad Hoc网络路由,B,A,F,C,E,D,A,A,A,B,A,F,Route Request in DSR,A,B,C,A,B,C,A,B,C,E,2023/11/7,17,7.3 移动Ad Hoc网络路由,目的节点到源节点的路由即为源节点到目的节点的反向路由,非对称信道,对称信道,否则目的节点需要发起到源节点的路由请求过程,同时将RREP稍带在新的RREQ中,如果目的节点的路由缓存中有到达源节点的路由,则直接使用,DSR路由发现:非对称信道,2023/11/7,18,7.3 移动Ad Hoc网络路由,每个节点缓存它通过任何方式
10、获得的新路由转发RREQ获得从本节点到RREQ路由记录中所有节点的路由,例如E转发RREQ(A-B-C)获得到A的路由(C-B-A)转发RREP获得从本节点到RREP路由记录中所有节点的路由,例如B转发RREP(A-B-C-D)获得到D的路由(C-D)转发数据分组获得从本节点到数据分组节点列表中所有节点的路由,例如E转发数据分组(A-B-C)获得到A的路由(C-B-A)监听相邻节点发送的分组RREQ、RREP、数据分组等,A,B,C,D,E,F,(A-),(A-F),(A-),(A-B-),(A-B-C-),(A-B-C-),(A-B-C-E-),以上均假设信道是对称的!,DSR优化:路由缓存
11、(1),Route Caching,2023/11/7,19,7.3 移动Ad Hoc网络路由,DSR优化:路由缓存(2),中间节点使用缓存的到目的节点的路由响应RREPRREP中的路由记录=RREQ中的路由记录+缓存的到目的节点的路由,A,B,C,D,E,F,(B-C-D),(A-B-C-D),(A-),2023/11/7,20,7.3 移动Ad Hoc网络路由,DSR优化:路由缓存(3),错误路由缓存网络拓扑的变化使得缓存的路由失效影响和感染其它节点,使用该路由缓存的路由将不可用当节点根据路由缓存回应RREP时,其它监听到此RREP的节点会更改自己缓存的路由,从而感染错误路由缓存,设置缓存
12、路由的有效期,过期即删除,2023/11/7,21,7.3 移动Ad Hoc网络路由,RREP风暴节点广播到某个目的节点的RREQ,当其邻居节点的路由缓存中都有到该目的节点的路由时,每个邻居节点都试图以自己缓存的路由响应,由此造成RREP风暴RREP风暴将浪费网络带宽,并且加剧消息冲突,A,B,C,D,E,F,(B-A),G,(C-B-A),(F-A),(E-C-B-A),G发起到A的路由发现过程,DSR优化:路由缓存(4),2023/11/7,22,7.3 移动Ad Hoc网络路由,预防RREP风暴每个节点延时D发送RREPD与节点到目的节点的跳数成正比,使得到目的节点有最短路径的RREP最先发送节点将接口设置成混杂模式(promiscuous),监听是否存在有比自己更短的到目的节点的路径,如果有,则不发送本节点的RREP,D=H*(h-1+r)其中H是每条链路的传播延时h是自己返回的路径长度,即到目的节点的跳数r是0或者1,DSR优化:路由缓存(5),